Ask a questionAsk a question
 

AnswerJuly CTP -- Dev Fabric never spins up web roles

  • Tuesday, September 08, 2009 2:14 AMJeff CertainMVPUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    I'm running the July CTP on 64-bit Server 2008. With either VS2008SP1 or VS2010 Beta 1, I get similar problems. When I create a new cloud project, I try to run without making any changes. Eventualym the fabric times out and dies.

    I can create and run web projects -- they're set to run against the dev server, not IIS.

    IIS 7 is installed, ASP.NET is isntalled and WCF HTTP activation is enabled.

    What I've tried:
    1. Uninstalling and reinstalling the tools and SDK.
    2. Setting the web role to run in full trust.
    3. Removing all unused references.
    4. My user name does NOT have a space in it.

    Some additional information:
    1. Local Table storage isn't spinning up (port conflict, I guess). I've fixed this issue before on a July CTP machine (Vista 32-bit), and it didn't help.
    2. Whenver I try to run, I get a security log failure against the role host (Caller Process Name: C:\Program Files\Windows Azure SDK\v1.0\bin\devfabric\RdRoleHost.exe)

    I'm running as admin.

    Any ideas how to fix this?

Answers

  • Tuesday, September 08, 2009 3:45 AMJeff CertainMVPUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     AnswerHas Code
    Aha! Now we're getting somewhere. I got this error:

     

    Server Error in '/' Application.

    Configuration Error

    Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

    Parser Error Message: Could not load file or assembly 'Oracle.Web, Version=2.111.6.20, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. The system cannot find the file specified.

    Source Error:

    Line 172:    <healthMonitoring>
    Line 173:      <providers>
    Line 174:        <add name="OracleWebEventProvider" type="Oracle.Web.Management.OracleWebEventProvider, Oracle.Web, Version=2.111.6.20, Culture=neutral, PublicKeyToken=89b483f429c47342" connectionStringName="OraAspNetConString" buffer="true" bufferMode="OracleNotification" />
    Line 175:      </providers>
    Line 176:    </healthMonitoring>

    Source File: C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Config\machine.config    Line: 174

    Assembly Load Trace: The following information can be helpful to determine why the assembly 'Oracle.Web, Version=2.111.6.20, Culture=neutral, PublicKeyToken=89b483f429c47342' could not be loaded.

    WRN: Assembly binding logging is turned OFF.
    To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
    Note: There is some performance penalty associated with assembly bind failure logging.
    To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].
    
  • Tuesday, September 08, 2009 3:48 AMYi-Lun LuoMSFT, ModeratorUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer
    Oh, I see. If your application relies on Oracle.Web.dll, please make sure to set Copy Local to true for that assembly. Also, if unfortunately that assembly relies on some external resources, such as an Oracle product that must be installed on the local machine, I'm afraid you won't be able to use it in the cloud, because you cannot install software on cloud machines.
    Lante, shanaolanxing This posting is provided "AS IS" with no warranties, and confers no rights.
  • Tuesday, September 08, 2009 3:49 AMJeff CertainMVPUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer
    I removed that entire block from machine.config.... it seems to work just fine now.

    Thank you so much for your help!!

All Replies

  • Tuesday, September 08, 2009 3:08 AMYi-Lun LuoMSFT, ModeratorUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Hello, can you provide more information? What error did you get? Or do you mean Visual Studio just hangs there? What about Development Fabric? Do you see a deployment there?

    Also, to isolate the problem, first please disable development storage. Open the properties page of your cloud service project. In the Development tab, set Start Development Storage Services to False. Then when you launch your service, development storage will not be started. This can tell you whether the problem is in development fabric or development storage.

    And what do you mean by security log failure? Where did you see it? In Windows event viewer?

    If nothing works, you can try to debug the RdRoleHost.exe using another instance of Visual Studio or WinDbg.
    Lante, shanaolanxing This posting is provided "AS IS" with no warranties, and confers no rights.
  • Tuesday, September 08, 2009 3:33 AMJeff CertainMVPUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    Visual Studio hangs for ~30 seconds. Then I get the following message:

    "Role instances did not start within the time allowed. Please try again. If you continue to encounter this behavior please try shutting down the Development Fabric."

    I do, however, see deployments on the fabric -- as many instances as I set in the config.

    The most verbose log I got was:
    Role Instance: deployment(17).RD_Compute.RD_Compute_WebRole.0
    Role state Unknown
    Role state Created
    Role state Suspended
    Role state Started

    Usually, it just shows "Role state Started."

    Restarting the Dev Fabric doesn't solve the problem. Neither does disabling the Development Storage.

    As you guessed, the security log failure is in the Windows Event Viewer, under Security. Type = Audit Failure.

  • Tuesday, September 08, 2009 3:38 AMJeff CertainMVPUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Also, I tried attached VS2010 to RdRoleHost... it managed to throw the same error without telling me anything.

    I'm not at all an expert on atteching to running processes, however.
  • Tuesday, September 08, 2009 3:40 AMYi-Lun LuoMSFT, ModeratorUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Then if you start the service without debug, and once the Development Fabric displays Role state Started, you try to navigate to http://127.0.0.1:81/, will it work?

    This security audit failure is normal. I'm also seeing an aduit failure on my machine. But it still works fine.

    Also, have you tried to deploy the application to IIS?
    Lante, shanaolanxing This posting is provided "AS IS" with no warranties, and confers no rights.
  • Tuesday, September 08, 2009 3:41 AMYi-Lun LuoMSFT, ModeratorUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    About the debugging to an attached instance, were you able to get a stack trace when the exception was thrown?
    Lante, shanaolanxing This posting is provided "AS IS" with no warranties, and confers no rights.
  • Tuesday, September 08, 2009 3:43 AMJeff CertainMVPUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    No exception thrown. It "failed gracefully".
  • Tuesday, September 08, 2009 3:45 AMJeff CertainMVPUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     AnswerHas Code
    Aha! Now we're getting somewhere. I got this error:

     

    Server Error in '/' Application.

    Configuration Error

    Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

    Parser Error Message: Could not load file or assembly 'Oracle.Web, Version=2.111.6.20, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. The system cannot find the file specified.

    Source Error:

    Line 172:    <healthMonitoring>
    Line 173:      <providers>
    Line 174:        <add name="OracleWebEventProvider" type="Oracle.Web.Management.OracleWebEventProvider, Oracle.Web, Version=2.111.6.20, Culture=neutral, PublicKeyToken=89b483f429c47342" connectionStringName="OraAspNetConString" buffer="true" bufferMode="OracleNotification" />
    Line 175:      </providers>
    Line 176:    </healthMonitoring>

    Source File: C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Config\machine.config    Line: 174

    Assembly Load Trace: The following information can be helpful to determine why the assembly 'Oracle.Web, Version=2.111.6.20, Culture=neutral, PublicKeyToken=89b483f429c47342' could not be loaded.

    WRN: Assembly binding logging is turned OFF.
    To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
    Note: There is some performance penalty associated with assembly bind failure logging.
    To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].
    
  • Tuesday, September 08, 2009 3:48 AMYi-Lun LuoMSFT, ModeratorUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer
    Oh, I see. If your application relies on Oracle.Web.dll, please make sure to set Copy Local to true for that assembly. Also, if unfortunately that assembly relies on some external resources, such as an Oracle product that must be installed on the local machine, I'm afraid you won't be able to use it in the cloud, because you cannot install software on cloud machines.
    Lante, shanaolanxing This posting is provided "AS IS" with no warranties, and confers no rights.
  • Tuesday, September 08, 2009 3:49 AMJeff CertainMVPUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer
    I removed that entire block from machine.config.... it seems to work just fine now.

    Thank you so much for your help!!
  • Tuesday, September 08, 2009 3:51 AMJeff CertainMVPUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Well, the weird thing is I don't depend on it. As I stated earlier, I'm just creating a new cloud service project and trying to test it.

    However, we are an Oracle shop... I suspect the Oracle Developer Tools installer put some garbage into machine.config that bombed out.
  • Tuesday, September 08, 2009 3:57 AMYi-Lun LuoMSFT, ModeratorUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    In this case, if other software on your machine requires Oracle.Web.dll, they may stop working properly. On a second thought, the actual problem is probablly Oracle.Web.dll is missing from GAC. Because if the assembly can be found in GAC, the problem should not happen on your local machine. If you can make sure nothing on your machine relies on this assembly, you can safely remove it from machine.config. Otherwise try to add the assembly to GAC.
    Lante, shanaolanxing This posting is provided "AS IS" with no warranties, and confers no rights.
  • Tuesday, September 08, 2009 3:58 AMJeff CertainMVPUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    I'm not doing anything web related that depends on Oracle. It was probably a default option on their installer.

    Which means I can undo the Oracle evilness with impunity!

    Thanks again for all your help.