1
Vote

Phalanger Binaries on Mono (compiled src) Reflect Error

description

If there are issues with SELinux can someone help me make a policy or at least temporarily disable SELinux. A duplicate issue is on DevSense.com
 
The following have been investigated on CentOS 6.2 64 bit:
 
  1. I am able to see phpinfo(); configurations using the web.config from the root WP.NET (wpdotnet - folder) when index.php is changed with phpinfo() - only.
  2. mod_mono is configured for mod_monoserver4 w/ mono 2.10.9 (compiled from source)
  3. Bin/dynamic has read/write (and 3 assemblies show - MsSql,MySql,PHP.Core) after initialization
  4. Unable to disable SELinux
  5. Sometimes I get an Application '/' error unable to load assembly 'PHP.Core.dynamic.dll' or dependencies
    and the correct mono version and .NET4 is showing at the bottom of the stack trace.
  6. GAC does not have any Phalanger assemblies
     
    Here is the error log:
     
    [Fri Jun 08 21:03:05 2012] [notice] SELinux policy enabled; httpd running as context system_u:system_r:httpd_t:s0
    [Fri Jun 08 21:03:05 2012] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
    [Fri Jun 08 21:03:05 2012] [notice] Digest: generating secret for digest authentication ...
    [Fri Jun 08 21:03:05 2012] [notice] Digest: done
    [Fri Jun 08 21:03:05 2012] [notice] Apache/2.2.15 (Unix) DAV/2 mod_mono/2.10 configured -- resuming normal operations
    mod-mono-server4
    Listening on: /tmp/mod_mono_server_global
    Root directory: /
    Listening on: /tmp/mod_mono_server_global
    Root directory: /
    Error: There's already a server listening on /tmp/mod_mono_server_global
    mod-mono-server4
    Listening on: /tmp/mod_mono_server_orangemilk.com
    Root directory: /var/www/mono/phptest
  7. Assertion at reflection.c:2733, condition field' not met
     
    Stacktrace:
     
    at (wrapper managed-to-native) System.Reflection.Emit.ModuleBuilder.getToken (System.Reflection.Emit.ModuleBuilder,object,bool) <IL 0x00023, 0xffffffff>
    at System.Reflection.Emit.ModuleBuilder.GetToken (System.Reflection.MemberInfo,bool) [0x00000] in /home/enzop/Downloads/build/mono-2.10.9/mcs/class/corlib/System.Reflection.Emit/ModuleBuilder.cs:680
    at System.Reflection.Emit.ModuleBuilderTokenGenerator.GetToken (System.Reflection.MemberInfo,bool) [0x00000] in /home/enzop/Downloads/build/mono-2.10.9/mcs/class/corlib/System.Reflection.Emit/ModuleBuilder.cs:938
    at System.Reflection.Emit.ILGenerator.Emit (System.Reflection.Emit.OpCode,System.Reflection.FieldInfo) [0x00000] in /home/enzop/Downloads/build/mono-2.10.9/mcs/class/corlib/System.Reflection.Emit/ILGenerator.cs:552
    at PHP.Core.Emit.ILEmitter.Emit (System.Reflection.Emit.OpCode,System.Reflection.FieldInfo) <IL 0x00012, 0x0004c>
    at PHP.Core.CodeGenerator.InitializeField (PHP.Core.Reflection.PhpField,PHP.Core.AST.Expression) <IL 0x000f0, 0x003c3>
    at PHP.Core.AST.FieldDecl.Emit (PHP.Core.CodeGenerator) <IL 0x0000d, 0x0001f>
    at PHP.Core.AST.FieldDeclList.Emit (PHP.Core.CodeGenerator) <IL 0x0001f, 0x0006b>
    at PHP.Core.AST.TypeDecl.EmitDefinition (PHP.Core.CodeGenerator) <IL 0x0005d, 0x00138>
    at PHP.Core.AST.TypeDecl.Emit (PHP.Core.CodeGenerator) <IL 0x00009, 0x00027>
    at PHP.Core.AST.GlobalCode.Emit (PHP.Core.CodeGenerator) <IL 0x001a5, 0x004c2>
    at PHP.Core.Reflection.SourceUnit.Emit (PHP.Core.CodeGenerator) <IL 0x00054, 0x0008f>
    at PHP.Core.Reflection.ScriptCompilationUnit.Emit (PHP.Core.CodeGenerator) <IL 0x00007, 0x0001b>
    at PHP.Core.Reflection.InclusionGraphBuilder.EmitAllUnits (PHP.Core.CodeGenerator) <IL 0x00069, 0x0013b>
    at PHP.Core.Emit.ScriptAssemblyBuilder.CompileScripts (System.Collections.Generic.IEnumerable
    1<PHP.Core.PhpSourceFile>,string,string,PHP.Core.CompilationContext) <IL 0x00043, 0x00143>
    at PHP.Core.WebServerCompilerManager.CompileScriptNoLock (string,PHP.Core.PhpSourceFile,PHP.Core.RequestContext) <IL 0x00041, 0x0010b>
    at PHP.Core.WebServerCompilerManager.GetCompiledScript (PHP.Core.PhpSourceFile,PHP.Core.RequestContext) <IL 0x00086, 0x00163>
    at PHP.Core.RequestContext.GetCompiledScript (PHP.Core.PhpSourceFile) <IL 0x00013, 0x0003f>
    at PHP.Core.RequestHandler.ProcessRequest (System.Web.HttpContext) <IL 0x00064, 0x00113>
    at System.Web.HttpApplication/<Pipeline>c__Iterator3.MoveNext () [0x00dad] in /home/enzop/Downloads/build/mono-2.10.9/mcs/class/System.Web/System.Web/HttpApplication.cs:1368
    at System.Web.HttpApplication.Tick () [0x00000] in /home/enzop/Downloads/build/mono-2.10.9/mcs/class/System.Web/System.Web/HttpApplication.cs:932
    at System.Web.HttpApplication.Start (object) [0x00094] in /home/enzop/Downloads/build/mono-2.10.9/mcs/class/System.Web/System.Web/HttpApplication.cs:1568
    at System.Web.HttpApplication.System.Web.IHttpHandler.ProcessRequest (System.Web.HttpContext) [0x0001a] in /home/enzop/Downloads/build/mono-2.10.9/mcs/class/System.Web/System.Web/HttpApplication.cs:1645
    at System.Web.HttpRuntime.Process (System.Web.HttpWorkerRequest) [0x000c5] in /home/enzop/Downloads/build/mono-2.10.9/mcs/class/System.Web/System.Web/HttpRuntime.cs:540
    at System.Web.HttpRuntime.RealProcessRequest (object) [0x00028] in /home/enzop/Downloads/build/mono-2.10.9/mcs/class/System.Web/System.Web/HttpRuntime.cs:466
    at System.Web.HttpRuntime.ProcessRequest (System.Web.HttpWorkerRequest) [0x0002b] in /home/enzop/Downloads/build/mono-2.10.9/mcs/class/System.Web/System.Web/HttpRuntime.cs:571
    at Mono.WebServer.MonoWorkerRequest.ProcessRequest () [0x0000f] in /home/enzop/Downloads/build/xsp-2.10.2/src/Mono.WebServer/MonoWorkerRequest.cs:400
    at Mono.WebServer.BaseApplicationHost.ProcessRequest (Mono.WebServer.MonoWorkerRequest) [0x0002d] in /home/enzop/Downloads/build/xsp-2.10.2/src/Mono.WebServer/BaseApplicationHost.cs:121
    at Mono.WebServer.ModMonoApplicationHost.ProcessRequest (int,string,string,string,string,string,int,string,int,string,string[],string[],object) [0x0016d] in /home/enzop/Downloads/build/xsp-2.10.2/src/Mono.WebServer.Apache/ModMonoApplicationHost.cs:113
    at (wrapper remoting-invoke-with-check) Mono.WebServer.ModMonoApplicationHost.ProcessRequest (int,string,string,string,string,string,int,string,int,string,string[],string[],object) <IL 0x0004f, 0xffffffff>
    at Mono.WebServer.ModMonoWorker.InnerRun (object) [0x0017d] in /home/enzop/Downloads/build/xsp-2.10.2/src/Mono.WebServer.Apache/ModMonoWorker.cs:239
    at Mono.WebServer.ModMonoWorker.Run (object) [0x00000] in /home/enzop/Downloads/build/xsp-2.10.2/src/Mono.WebServer.Apache/ModMonoWorker.cs:92
    at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object (object,intptr,intptr,intptr) <IL 0x00052, 0xffffffff>
     
    Native stacktrace:
     
    /opt/mono-2.10/bin/mono() [0x80db680]
    [0xf9e40c]
    /lib/libc.so.6(abort+0x17a) [0x2593ca]
    /opt/mono-2.10/bin/mono() [0x8212e1e]
    /opt/mono-2.10/bin/mono() [0x8212eaf]
    /opt/mono-2.10/bin/mono() [0x81baf5a]
    /opt/mono-2.10/bin/mono() [0x81c0e20]
    /opt/mono-2.10/bin/mono() [0x815740f]
    [0x176e08]
    [0x176dbc]
    [0x176d88]
    [0x179ec2]
    [0x421c55]
    [0x47b39c]
    [0x47af98]
    [0x47aed4]
    [0x47a1c1]
    [0x479ef8]
    [0xa1496b]
    [0xa14170]
    [0xa140c4]
    [0xa0b934]
    [0xe66534]
    [0xe660cc]
    [0xe63c14]
    [0xe63398]
    [0x8fd1b4]
    [0x200696]
    [0x1fc8ee]
    [0x1dfe70]
    [0x1dfb88]
    [0xd7a608]
    [0xd7a394]
    [0xd79f24]
    [0xd799e8]
    [0xd771d8]
    [0xd7557c]
    [0xd75124]
    [0xd72148]
    [0xd71a2c]
    [0xa6a075]
    /opt/mono-2.10/bin/mono() [0x80616a8]
    /opt/mono-2.10/bin/mono(mono_runtime_invoke+0x3e) [0x81a120e]
    /opt/mono-2.10/bin/mono(mono_runtime_delegate_invoke+0x34) [0x81a1484]
    /opt/mono-2.10/bin/mono() [0x81cf20c]
    /opt/mono-2.10/bin/mono() [0x81d4f46]
    /opt/mono-2.10/bin/mono() [0x820313f]
    /opt/mono-2.10/bin/mono() [0x8226982]
    /lib/libpthread.so.0(+0x6a09) [0xcd0a09]
    /lib/libc.so.6(clone+0x5e) [0x30a43e]
     
    Debug info from gdb:
     

 

Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries

used by your application.

 
[Fri Jun 08 21:03:52 2012] [error] (70014)End of file found: read_data failed
[Fri Jun 08 21:03:52 2012] [error] Command stream corrupted, last command was 1

file attachments

comments

jakub wrote Jun 13, 2012 at 5:07 PM

It seams to me like a bug in mono. You can add some additional asserts in PHP.Core.CodeGenerator.InitializeField (at the bottom) (whether RealField != null ? but unlikely).

enzo_paninni wrote Jun 15, 2012 at 12:46 PM

Thanks Jakub. I have only compiled MONO from source. Is there a build script for XBUILD to build Phalanger from Source? Any build script will do I guess. The only linux scripts that I see available are installer scripts for binaries already built. It is these Phalanger binaries (or MONO bug) that are throwing errors. I would be more than happy to report the Debug.Asserts. Can anyone point me in the direction to build Phalanger from source? Thanks in advance.

jakub wrote Jun 15, 2012 at 1:40 PM

Yes, the scripts install already built binaries.
You can open Phalanger.sln in monodevelop and build it there from sources in this way.

enzo_paninni wrote Jun 18, 2012 at 12:03 AM

//In - Core/StreamWrappers.cs
//@877 private static void ApplyContext(HttpWebRequest request, StreamContext context)
//Line 965 request.Date = System.ToDateTime(value);

Error
System.Net.HttpWebRequest does not contain s definition for Date and no extension method Date of type System.Net.HttpWebRequest

I checked the project reference and it is using 4.0 Assembly for System.Net

jakub wrote Jun 18, 2012 at 10:11 AM

The Date property is in .NET 4.0 (http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.date.aspx).

Mono implements this property since version 2.10.8.

jakub wrote Jun 18, 2012 at 10:13 AM

sorry, Date property wasn't added to mono master release yet.

enzo_paninni wrote Jun 25, 2012 at 3:06 PM

Build Phalanger from Source (Commit #98336) with some adjustments below

Added Assert in InitializeField

Extension.SQLLite

Converted References form System.Data.SQLite to Mono.Data.SQLLite. The method in the SQLite.cs CreateFunction fails on RegisterFunction. Error output says no definition for connection.Connection.RegisterFunction @Line ~288


Extension.XmlDom

Fails to build when looking for source in Dynamic Folder (14 files not found)

Latest StackTrace Error (w/ PHP.Core and PHP.ClassLibrary built from src)

[Sun Jun 24 23:15:36 2012] [notice] SELinux policy enabled; httpd running as context system_u:system_r:httpd_t:s0
[Sun Jun 24 23:15:36 2012] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Sun Jun 24 23:15:36 2012] [notice] Digest: generating secret for digest authentication ...
[Sun Jun 24 23:15:36 2012] [notice] Digest: done
[Sun Jun 24 23:15:36 2012] [notice] Apache/2.2.15 (Unix) DAV/2 mod_mono/2.10 configured -- resuming normal operations
Listening on: /tmp/mod_mono_server_global
Root directory: /
mod-mono-server4Listening on: /tmp/mod_mono_server_global
Root directory: /

Error: Address already in use
mod-mono-server4
Listening on: /tmp/mod_mono_server_orangemilk.com
Root directory: /var/www/mono/phptest
Generating code ...
  • Assertion at reflection.c:2733, condition `field' not met
Stacktrace:

at (wrapper managed-to-native) System.Reflection.Emit.ModuleBuilder.getToken (System.Reflection.Emit.ModuleBuilder,object,bool) <IL 0x00023, 0xffffffff>
at System.Reflection.Emit.ModuleBuilder.GetToken (System.Reflection.MemberInfo,bool) [0x00000] in /opt/mono-2.10.9/bin/src/build/mono-2.10.9/mcs/class/corlib/System.Reflection.Emit/ModuleBuilder.cs:680
at System.Reflection.Emit.ModuleBuilderTokenGenerator.GetToken (System.Reflection.MemberInfo,bool) [0x00000] in /opt/mono-2.10.9/bin/src/build/mono-2.10.9/mcs/class/corlib/System.Reflection.Emit/ModuleBuilder.cs:938
at System.Reflection.Emit.ILGenerator.Emit (System.Reflection.Emit.OpCode,System.Reflection.FieldInfo) [0x00000] in /opt/mono-2.10.9/bin/src/build/mono-2.10.9/mcs/class/corlib/System.Reflection.Emit/ILGenerator.cs:552
at PHP.Core.Emit.ILEmitter.Emit (System.Reflection.Emit.OpCode,System.Reflection.FieldInfo) <IL 0x00015, 0x0004c>
at PHP.Core.CodeGenerator.InitializeField (PHP.Core.Reflection.PhpField,PHP.Core.AST.Expression) <IL 0x0013a, 0x003eb>
at PHP.Core.AST.FieldDecl.Emit (PHP.Core.CodeGenerator) <IL 0x0000d, 0x0001f>
at PHP.Core.AST.FieldDeclList.Emit (PHP.Core.CodeGenerator) <IL 0x0002c, 0x0007b>
at PHP.Core.AST.TypeDecl.EmitDefinition (PHP.Core.CodeGenerator) <IL 0x0008d, 0x00190>
at PHP.Core.AST.TypeDecl.Emit (PHP.Core.CodeGenerator) <IL 0x00013, 0x0003b>
at PHP.Core.AST.GlobalCode.Emit (PHP.Core.CodeGenerator) <IL 0x001cc, 0x004c2>
at PHP.Core.Reflection.SourceUnit.Emit (PHP.Core.CodeGenerator) <IL 0x0005a, 0x0008f>
at PHP.Core.Reflection.ScriptCompilationUnit.Emit (PHP.Core.CodeGenerator) <IL 0x00007, 0x0001b>
at PHP.Core.Reflection.InclusionGraphBuilder.EmitAllUnits (PHP.Core.CodeGenerator) <IL 0x000b9, 0x001b7>
at PHP.Core.Emit.ScriptAssemblyBuilder.CompileScripts (System.Collections.Generic.IEnumerable`1<PHP.Core.PhpSourceFile>,string,string,PHP.Core.CompilationContext) <IL 0x00061, 0x0015b>
at PHP.Core.WebServerCompilerManager.CompileScriptNoLock (string,PHP.Core.PhpSourceFile,PHP.Core.RequestContext) <IL 0x00051, 0x0013f>
at PHP.Core.WebServerCompilerManager.GetCompiledScript (PHP.Core.PhpSourceFile,PHP.Core.RequestContext) <IL 0x000cf, 0x001db>
at PHP.Core.RequestContext.GetCompiledScript (PHP.Core.PhpSourceFile) <IL 0x00013, 0x0003f>
at PHP.Core.RequestHandler.ProcessRequest (System.Web.HttpContext) <IL 0x0007f, 0x0012b>
at System.Web.HttpApplication/<Pipeline>c__Iterator3.MoveNext () [0x00dad] in /opt/mono-2.10.9/bin/src/build/mono-2.10.9/mcs/class/System.Web/System.Web/HttpApplication.cs:1368
at System.Web.HttpApplication.Tick () [0x00000] in /opt/mono-2.10.9/bin/src/build/mono-2.10.9/mcs/class/System.Web/System.Web/HttpApplication.cs:932
at System.Web.HttpApplication.Start (object) [0x00094] in /opt/mono-2.10.9/bin/src/build/mono-2.10.9/mcs/class/System.Web/System.Web/HttpApplication.cs:1568
at System.Web.HttpApplication.System.Web.IHttpHandler.ProcessRequest (System.Web.HttpContext) [0x0001a] in /opt/mono-2.10.9/bin/src/build/mono-2.10.9/mcs/class/System.Web/System.Web/HttpApplication.cs:1645
at System.Web.HttpRuntime.Process (System.Web.HttpWorkerRequest) [0x000c5] in /opt/mono-2.10.9/bin/src/build/mono-2.10.9/mcs/class/System.Web/System.Web/HttpRuntime.cs:540
at System.Web.HttpRuntime.RealProcessRequest (object) [0x00028] in /opt/mono-2.10.9/bin/src/build/mono-2.10.9/mcs/class/System.Web/System.Web/HttpRuntime.cs:466
at System.Web.HttpRuntime.ProcessRequest (System.Web.HttpWorkerRequest) [0x0002b] in /opt/mono-2.10.9/bin/src/build/mono-2.10.9/mcs/class/System.Web/System.Web/HttpRuntime.cs:571
at Mono.WebServer.MonoWorkerRequest.ProcessRequest () [0x0000f] in /opt/mono-2.10.9/bin/src/build/xsp-2.10.2/src/Mono.WebServer/MonoWorkerRequest.cs:400
at Mono.WebServer.BaseApplicationHost.ProcessRequest (Mono.WebServer.MonoWorkerRequest) [0x0002d] in /opt/mono-2.10.9/bin/src/build/xsp-2.10.2/src/Mono.WebServer/BaseApplicationHost.cs:121
at Mono.WebServer.ModMonoApplicationHost.ProcessRequest (int,string,string,string,string,string,int,string,int,string,string[],string[],object) [0x0016d] in /opt/mono-2.10.9/bin/src/build/xsp-2.10.2/src/Mono.WebServer.Apache/ModMonoApplicationHost.cs:113
at (wrapper remoting-invoke-with-check) Mono.WebServer.ModMonoApplicationHost.ProcessRequest (int,string,string,string,string,string,int,string,int,string,string[],string[],object) <IL 0x0004f, 0xffffffff>
at Mono.WebServer.ModMonoWorker.InnerRun (object) [0x0017d] in /opt/mono-2.10.9/bin/src/build/xsp-2.10.2/src/Mono.WebServer.Apache/ModMonoWorker.cs:239
at Mono.WebServer.ModMonoWorker.Run (object) [0x00000] in /opt/mono-2.10.9/bin/src/build/xsp-2.10.2/src/Mono.WebServer.Apache/ModMonoWorker.cs:92
at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object (object,intptr,intptr,intptr) <IL 0x00052, 0xffffffff>

Native stacktrace:
/opt/mono-2.10.9/bin/mono() [0x80db680]
[0xe0440c]
/lib/libc.so.6(abort+0x17a) [0x97c3ca]
/opt/mono-2.10.9/bin/mono() [0x8212e1e]
/opt/mono-2.10.9/bin/mono() [0x8212eaf]
/opt/mono-2.10.9/bin/mono() [0x81baf5a]
/opt/mono-2.10.9/bin/mono() [0x81c0e20]
/opt/mono-2.10.9/bin/mono() [0x815740f]
[0x74fe08]
[0x74fdbc]
[0x74fd88]
[0x752ec2]
[0xed595d]
[0x72fe9c]
[0x72fa70]
[0x72f9ac]
[0x72ec39]
[0x72e8b4]
[0x26dbd3]
[0x26d3d8]
[0x26d32c]
[0x2eaaa0]
[0x5877cc]
[0x587300]
[0x584c04]
[0x584340]
[0xcb2254]
[0x4c868e]
[0x4c555e]
[0x18ee70]
[0x18eb88]
[0x6b0608]
[0x6b0394]
[0x6aff24]
[0x6af9e8]
[0x6ad1d8]
[0x6ab57c]
[0x6ab124]
[0x6a8148]
[0x6a7a2c]
[0xcc5075]
/opt/mono-2.10.9/bin/mono() [0x80616a8]
/opt/mono-2.10.9/bin/mono(mono_runtime_invoke+0x3e) [0x81a120e]
/opt/mono-2.10.9/bin/mono(mono_runtime_delegate_invoke+0x34) [0x81a1484]
/opt/mono-2.10.9/bin/mono() [0x81cf20c]
/opt/mono-2.10.9/bin/mono() [0x81d4f46]
/opt/mono-2.10.9/bin/mono() [0x820313f]
/opt/mono-2.10.9/bin/mono() [0x8226982]
/lib/libpthread.so.0(+0x6a09) [0x36da09]
/lib/libc.so.6(clone+0x5e) [0xa2d43e]

Debug info from gdb:

Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries

used by your application.

[Sun Jun 24 23:15:58 2012] [error] (70014)End of file found: read_data failed
[Sun Jun 24 23:15:58 2012] [error] Command stream corrupted, last command was 1

BennettJA wrote Aug 14, 2012 at 12:32 AM

I came across the same issue, my platform is a bit different though FreeBSD 9 Stable AMD64 and actually googled and came to this page. I did what jakob suggested and rebuilt everything from source- Mono runtime, xsp, monodevelop, and phalanger to get a full stacktrace and review the source. The datetime issue in monodevelop I saw was addressed- their implementation is...ok enough to work. Still got the same error so I started in on the wordpress code. Go ahead and comment out line 1707 in /wp-includes/pluggable.php which is the reference to include wp-diff.php and build again in monodevelop. This worked for me and I think this issue is actually caused by the xdiff native code used for the Wordpress diff engine. This was just a workaround but got me up and running enough to see WPDotNet in action on a 64bit kernel. When I have more time I am going to try and find where in xdiff is causing the problem on my system. Hope this helps, make sure to update everything. Here was my stacktrace after updating:
  • Assertion at reflection.c:2735, condition `field' not met
Stacktrace:

at <unknown> <0xffffffff>
at (wrapper managed-to-native) System.Reflection.Emit.ModuleBuilder.getToken (System.Reflection.Emit.ModuleBuilder,object,bool) <IL 0x0000f, 0xffffffff>
at System.Reflection.Emit.ModuleBuilder.GetToken (System.Reflection.MemberInfo,bool) [0x00000] in /usr/ports/lang/mono/work/mono-2.11.1/mcs/class/corlib/System.Reflection.Emit/ModuleBuilder.cs:681
at System.Reflection.Emit.ModuleBuilderTokenGenerator.GetToken (System.Reflection.MemberInfo,bool) [0x00000] in /usr/ports/lang/mono/work/mono-2.11.1/mcs/class/corlib/System.Reflection.Emit/ModuleBuilder.cs:984
at System.Reflection.Emit.ILGenerator.Emit (System.Reflection.Emit.OpCode,System.Reflection.FieldInfo) [0x00000] in /usr/ports/lang/mono/work/mono-2.11.1/mcs/class/corlib/System.Reflection.Emit/ILGenerator.cs:553
at PHP.Core.Emit.ILEmitter.Emit (System.Reflection.Emit.OpCode,System.Reflection.FieldInfo) <IL 0x00012, 0x000cf>
at PHP.Core.CodeGenerator.InitializeField (PHP.Core.Reflection.PhpField,PHP.Core.AST.Expression) <IL 0x000f0, 0x006f0>
at PHP.Core.AST.FieldDecl.Emit (PHP.Core.CodeGenerator) <IL 0x0000d, 0x0006a>
at PHP.Core.AST.FieldDeclList.Emit (PHP.Core.CodeGenerator) <IL 0x0001f, 0x00154>
at PHP.Core.AST.TypeDecl.EmitDefinition (PHP.Core.CodeGenerator) <IL 0x0005d, 0x0034a>
at PHP.Core.AST.TypeDecl.Emit (PHP.Core.CodeGenerator) <IL 0x00009, 0x0007a>
at PHP.Core.AST.GlobalCode.Emit (PHP.Core.CodeGenerator) <IL 0x001a5, 0x00ad3>
at PHP.Core.Reflection.SourceUnit.Emit (PHP.Core.CodeGenerator) <IL 0x00054, 0x00198>
at PHP.Core.Reflection.ScriptCompilationUnit.Emit (PHP.Core.CodeGenerator) <IL 0x00007, 0x00062>
at PHP.Core.Reflection.InclusionGraphBuilder.EmitAllUnits (PHP.Core.CodeGenerator) <IL 0x00069, 0x002f9>
at PHP.Core.Emit.ScriptAssemblyBuilder.CompileScripts (System.Collections.Generic.IEnumerable`1<PHP.Core.PhpSourceFile>,string,string,PHP.Core.CompilationContext) <IL 0x00043, 0x00305>
at PHP.Core.WebServerCompilerManager.CompileScriptNoLock (string,PHP.Core.PhpSourceFile,PHP.Core.RequestContext) <IL 0x00041, 0x00278>
at PHP.Core.WebServerCompilerManager.GetCompiledScript (PHP.Core.PhpSourceFile,PHP.Core.RequestContext) <IL 0x00086, 0x003a2>
at PHP.Core.RequestContext.GetCompiledScript (PHP.Core.PhpSourceFile) <IL 0x00013, 0x0008e>
at PHP.Core.RequestHandler.ProcessRequest (System.Web.HttpContext) <IL 0x00064, 0x002d4>
at System.Web.HttpApplication/<Pipeline>c__Iterator6.MoveNext () <IL 0x00df0, 0x05441>
at System.Web.HttpApplication.Tick () <IL 0x00006, 0x00084>
at System.Web.HttpApplication.Start (object) <IL 0x00095, 0x00380>
at System.Web.HttpApplication.System.Web.IHttpHandler.ProcessRequest (System.Web.HttpContext) <IL 0x0001c, 0x000ae>
at System.Web.HttpRuntime.Process (System.Web.HttpWorkerRequest) <IL 0x000c8, 0x0047e>
at System.Web.HttpRuntime.RealProcessRequest (object) <IL 0x00029, 0x0012e>
at System.Web.HttpRuntime.ProcessRequest (System.Web.HttpWorkerRequest) <IL 0x0002c, 0x00134>
at Mono.WebServer.MonoWorkerRequest.ProcessRequest () [0x00011] in /usr/ports/www/xsp/work/xsp-2.10.2/src/Mono.WebServer/MonoWorkerRequest.cs:400
at Mono.WebServer.BaseApplicationHost.ProcessRequest (Mono.WebServer.MonoWorkerRequest) [0x00039] in /usr/ports/www/xsp/work/xsp-2.10.2/src/Mono.WebServer/BaseApplicationHost.cs:121
at Mono.WebServer.XSPApplicationHost.ProcessRequest (int,System.Net.IPEndPoint,System.Net.IPEndPoint,string,string,string,string,byte[],string,intptr,Mono.WebServer.SslInformation) [0x0016e] in /usr/ports/www/xsp/work/xsp-2.10.2/src/Mono.WebServer.XSP/XSPApplicationHost.cs:115
at (wrapper remoting-invoke-with-check) Mono.WebServer.XSPApplicationHost.ProcessRequest (int,System.Net.IPEndPoint,System.Net.IPEndPoint,string,string,string,string,byte[],string,intptr,Mono.WebServer.SslInformation) <IL 0x0004b, 0xffffffff>
at Mono.WebServer.XSPWorker.RunInternal (object) [0x0010a] in /usr/ports/www/xsp/work/xsp-2.10.2/src/Mono.WebServer.XSP/XSPWorker.cs:193
at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object (object,intptr,intptr,intptr) <IL 0x00052, 0xffffffff>

BennettJA wrote Aug 14, 2012 at 1:54 PM

Diff engine seems to extend its class in a sloppy PHP4 kind of way which was reluctantly accepted back into PHP5 using var/public and redefined by the inheriting class for example:

<?php
class foo extends foo_superset{

var somevariable

That is what seems to cause the reflect error with mono on my system.