Error in PHP.Core.Externals.InitCollocation

Discussion about the open-source Phalanger [?] project.

Error in PHP.Core.Externals.InitCollocation

Postby brycebpi » September 22nd, 2013, 4:48 am

I have a really odd problem... Whenever I add the Serializable attribute to the Principal running on the thread I get the error below (from FusLogVw with the exception it causes below that)... Basically, it's looking under the exe location, not the bin for the DLL's. Any pointers?

***********************************************************************
FusLogVw output

LOG: DisplayName = Parabola.Web.Site, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
(Fully-specified)
LOG: Appbase = file:///C:/Program Files (x86)/IIS Express/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = iisexpress.exe
Calling assembly : (Unknown).
===
LOG: This bind starts in default load context.
LOG: No application configuration file found.
LOG: Using host configuration file: C:\Users\bashey\Documents\IISExpress\config\aspnet.config
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Attempting download of new URL file:///C:/Program Files (x86)/IIS Express/Parabola.Web.Site.DLL.
LOG: Attempting download of new URL file:///C:/Program Files (x86)/IIS Express/Parabola.Web.Site/Parabola.Web.Site.DLL.
LOG: Attempting download of new URL file:///C:/Program Files (x86)/IIS Express/Parabola.Web.Site.EXE.
LOG: Attempting download of new URL file:///C:/Program Files (x86)/IIS Express/Parabola.Web.Site/Parabola.Web.Site.EXE.
LOG: All probing URLs attempted and failed.


*********************************************************************
Exception:

ERROR Global HttpApplication Error Handler Catch.
System.TypeInitializationException: The type initializer for '<Module>' threw an exception. ---> <CrtImplementationDetails>.ModuleLoadException: The C++ module failed to load while attempting to initialize the default appdomain.
---> System.Runtime.Serialization.SerializationException: Unable to find assembly 'Parabola.Web.Site, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.

Server stack trace:
at System.Runtime.Serialization.Formatters.Binary.BinaryAssemblyInfo.GetAssembly()
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.GetType(BinaryAssemblyInfo assemblyInfo, String name)
at System.Runtime.Serialization.Formatters.Binary.ObjectMap..ctor(String objectName, String[] memberNames, BinaryTypeEnum[] binaryTypeEnumA, Object[] typeInformationA, Int32[] memberAssemIds, ObjectReader objectReader, Int32 objectId, BinaryAssemblyInfo assemblyInfo, SizedArray assemIdToAssemblyTable)
at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadObjectWithMapTyped(BinaryObjectWithMapTyped record)
at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadObjectWithMapTyped(BinaryHeaderEnum binaryHeaderEnum)
at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.Run()
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
at System.Runtime.Remoting.Channels.CrossAppDomainSerializer.DeserializeObject(MemoryStream stm)
at System.Runtime.Remoting.Messaging.SmuggledMethodCallMessage.FixupForNewAppDomain()
at System.Runtime.Remoting.Channels.CrossAppDomainSink.DoDispatch(Byte[] reqStmBuff, SmuggledMethodCallMessage smuggledMcm, SmuggledMethodReturnMessage& smuggledMrm)
at System.Runtime.Remoting.Channels.CrossAppDomainSink.DoTransitionDispatchCallback(Object[] args)

Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at System.AppDomain.get_Id()
at <CrtImplementationDetails>.DoCallBackInDefaultDomain(IntPtr function, Void* cookie)
at <CrtImplementationDetails>.LanguageSupport.InitializeDefaultAppDomain(LanguageSupport* )
at <CrtImplementationDetails>.LanguageSupport._Initialize(LanguageSupport* )
at <CrtImplementationDetails>.LanguageSupport.Initialize(LanguageSupport* )
--- End of inner exception stack trace ---
at <CrtImplementationDetails>.LanguageSupport.Initialize(LanguageSupport* )
at .cctor()
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)
at System.Type.InvokeMember(String name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args)
at PHP.Core.Externals.InitCollocation()
at PHP.Core.Externals.InitializeExtMans()
at PHP.Core.Externals.LocalExtMan(ExtSupportVersion extversion)
at PHP.Core.Externals.<get_LocalExtMans>d__0.MoveNext()
at PHP.Core.Externals.EndRequest()
at PHP.Core.RequestContext.FinallyDispose()
at PHP.Core.RequestContext.Dispose()
at PHP.Core.RequestHandler.ProcessRequest(HttpContext context)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
brycebpi
 
Posts: 2
Joined: September 22nd, 2013, 4:19 am

Re: Error in PHP.Core.Externals.InitCollocation

Postby brycebpi » September 24th, 2013, 2:34 pm

I'm now able to reliably reproduce this on a 2012 server as well. Anyone seen a similar behavior? Here's the binding log for reference - note phalanger is looking in the directory for IIS not the site's bin directory.

*** Assembly Binder Log Entry (9/24/2013 @ 2:24:54 PM) ***

The operation failed.
Bind result: hr = 0x80070002. The system cannot find the file specified.

Assembly manager loaded from: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
Running under executable C:\Windows\SysWOW64\inetsrv\w3wp.exe
--- A detailed error log follows.

=== Pre-bind state information ===
LOG: User = [Removed for security]
LOG: DisplayName = [Dll Name removed for security], Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
(Fully-specified)
LOG: Appbase = file:///C:/Windows/SysWOW64/inetsrv/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = w3wp.exe
Calling assembly : (Unknown).
===
LOG: This bind starts in default load context.
LOG: No application configuration file found.
LOG: Using host configuration file: C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet.config
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Attempting download of new URL file:///C:/Windows/SysWOW64/inetsrv/Parabola.Web.Site.DLL.
LOG: Attempting download of new URL file:///C:/Windows/SysWOW64/inetsrv/Parabola.Web.Site/Parabola.Web.Site.DLL.
LOG: Attempting download of new URL file:///C:/Windows/SysWOW64/inetsrv/Parabola.Web.Site.EXE.
LOG: Attempting download of new URL file:///C:/Windows/SysWOW64/inetsrv/Parabola.Web.Site/Parabola.Web.Site.EXE.
LOG: All probing URLs attempted and failed.

*** Assembly Binder Log Entry (9/24/2013 @ 2:24:54 PM) ***

The operation failed.
Bind result: hr = 0x80070002. The system cannot find the file specified.

Assembly manager loaded from: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
Running under executable C:\Windows\SysWOW64\inetsrv\w3wp.exe
--- A detailed error log follows.

=== Pre-bind state information ===
LOG: User = bpecloud\svc_products
LOG: DisplayName = Parabola.Web.Site, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
(Fully-specified)
LOG: Appbase = file:///C:/Windows/SysWOW64/inetsrv/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = w3wp.exe
Calling assembly : (Unknown).
===
LOG: This bind starts in default load context.
LOG: No application configuration file found.
LOG: Using host configuration file: C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet.config
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Attempting download of new URL file:///C:/Windows/SysWOW64/inetsrv/Parabola.Web.Site.DLL.
LOG: Attempting download of new URL file:///C:/Windows/SysWOW64/inetsrv/Parabola.Web.Site/Parabola.Web.Site.DLL.
LOG: Attempting download of new URL file:///C:/Windows/SysWOW64/inetsrv/Parabola.Web.Site.EXE.
LOG: Attempting download of new URL file:///C:/Windows/SysWOW64/inetsrv/Parabola.Web.Site/Parabola.Web.Site.EXE.
LOG: All probing URLs attempted and failed.
brycebpi
 
Posts: 2
Joined: September 22nd, 2013, 4:19 am


Return to Phalanger project

Who is online

Users browsing this forum: No registered users and 11 guests

cron

User Control Panel

Login

Who is online

In total there are 11 users online :: 0 registered, 0 hidden and 11 guests (based on users active over the past 5 minutes)
Most users ever online was 151 on December 6th, 2020, 7:46 am

Users browsing this forum: No registered users and 11 guests