[Mono-bugs] [Bug 509049] New: Expression tree compiler crashes when running on different domain

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Tue Jun 2 07:26:53 EDT 2009


http://bugzilla.novell.com/show_bug.cgi?id=509049


           Summary: Expression tree compiler crashes when running on
                    different domain
    Classification: Mono
           Product: Mono: Class Libraries
           Version: unspecified
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: Sys.Core
        AssignedTo: jbevain at novell.com
        ReportedBy: msafar at novell.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---


I don't have simple test case, but following these steps with SVN HEAD is
fairly easy.

1. go to /mcs/test
1. make run-test-local
2. mono --debug ./../class/lib/net_2_0/compiler-tester.exe -mode:pos
-files:'*test-etree*.cs' -compiler:./../class/lib/net_2_0/gmcs.exe
-safe-execution


Mono crashes with

Stacktrace:

  at (wrapper managed-to-native) System.Reflection.MonoCMethod.InternalInvoke
(object,object[],System.Exception&) <0x00004>
  at (wrapper managed-to-native) System.Reflection.MonoCMethod.InternalInvoke
(object,object[],System.Exception&) <IL 0x00024, 0xffffffff>
  at System.Reflection.MonoCMethod.Invoke
(object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo)
[0x00119] in
/home/marek/svn/mcs/class/corlib/System.Reflection/MonoMethod.cs:465
  at System.Reflection.MonoCMethod.Invoke
(System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo)
[0x00000] in
/home/marek/svn/mcs/class/corlib/System.Reflection/MonoMethod.cs:480
  at System.Activator.CreateInstance
(System.Type,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo,object[])
[0x001b8] in /home/marek/svn/mcs/class/corlib/System/Activator.cs:297
  at System.Activator.CreateInstance (System.Type,object[],object[]) [0x00000]
in /home/marek/svn/mcs/class/corlib/System/Activator.cs:227
  at System.Activator.CreateInstance (System.Type,object[]) <IL 0x00000,
0x00028>
  at System.Linq.Expressions.EmitContext.CreateStrongBox (object,System.Type)
[0x00000] in
/home/marek/svn/mcs/class/System.Core/System.Linq.Expressions/EmitContext.cs:507
  at System.Linq.Expressions.EmitContext.AddGlobal (object,System.Type)
[0x00000] in
/home/marek/svn/mcs/class/System.Core/System.Linq.Expressions/EmitContext.cs:427
  at System.Linq.Expressions.EmitContext.EmitReadGlobal (object,System.Type)
[0x0002a] in
/home/marek/svn/mcs/class/System.Core/System.Linq.Expressions/EmitContext.cs:411
  at System.Linq.Expressions.EmitContext.EmitReadGlobal (object) [0x00000] in
/home/marek/svn/mcs/class/System.Core/System.Linq.Expressions/EmitContext.cs:402
  at System.Linq.Expressions.ConstantExpression.<Emit>m__76
(System.Linq.Expressions.EmitContext) <IL 0x00000, 0x0001c>
  at System.Linq.Expressions.ConstantExpression.EmitIfNotNull
(System.Linq.Expressions.EmitContext,System.Action`1<System.Linq.Expressions.EmitContext>)
[0x0006e] in
/home/marek/svn/mcs/class/System.Core/System.Linq.Expressions/ConstantExpression.cs:163
  at System.Linq.Expressions.ConstantExpression.Emit
(System.Linq.Expressions.EmitContext) [0x002d1] in
/home/marek/svn/mcs/class/System.Core/System.Linq.Expressions/ConstantExpression.cs:139
  at System.Linq.Expressions.EmitContext.Emit
(System.Linq.Expressions.Expression) [0x00000] in
/home/marek/svn/mcs/class/System.Core/System.Linq.Expressions/EmitContext.cs:232
  at System.Linq.Expressions.EmitContext.EmitLoadSubject
(System.Linq.Expressions.Expression) [0x00018] in
/home/marek/svn/mcs/class/System.Core/System.Linq.Expressions/EmitContext.cs:256
  at System.Linq.Expressions.MemberExpression.EmitFieldAccess
(System.Linq.Expressions.EmitContext,System.Reflection.FieldInfo) [0x0000b] in
/home/marek/svn/mcs/class/System.Core/System.Linq.Expressions/MemberExpression.cs:74
  at System.Linq.Expressions.MemberExpression/<Emit>c__AnonStorey3B.<>m__7B
(System.Reflection.FieldInfo) [0x00000] in
/home/marek/svn/mcs/class/System.Core/System.Linq.Expressions/MemberExpression.cs:58
  at System.Linq.Expressions.Extensions.OnFieldOrProperty
(System.Reflection.MemberInfo,System.Action`1<System.Reflection.FieldInfo>,System.Action`1<System.Reflection.PropertyInfo>)
[0x0001b] in
/home/marek/svn/mcs/class/System.Core/System.Linq.Expressions/Extensions.cs:127
  at System.Linq.Expressions.MemberExpression.Emit
(System.Linq.Expressions.EmitContext) [0x00014] in
/home/marek/svn/mcs/class/System.Core/System.Linq.Expressions/MemberExpression.cs:57
  at System.Linq.Expressions.EmitContext.Emit
(System.Linq.Expressions.Expression) [0x00000] in
/home/marek/svn/mcs/class/System.Core/System.Linq.Expressions/EmitContext.cs:232
  at System.Linq.Expressions.UnaryExpression.EmitConvertToNullable
(System.Linq.Expressions.EmitContext) <IL 0x00000, 0x0001c>
  at System.Linq.Expressions.UnaryExpression.EmitConvert
(System.Linq.Expressions.EmitContext) [0x00063] in
/home/marek/svn/mcs/class/System.Core/System.Linq.Expressions/UnaryExpression.cs:155
  at System.Linq.Expressions.UnaryExpression.Emit
(System.Linq.Expressions.EmitContext) [0x0007b] in
/home/marek/svn/mcs/class/System.Core/System.Linq.Expressions/UnaryExpression.cs:410
  at System.Linq.Expressions.EmitContext.EmitStored
(System.Linq.Expressions.Expression) [0x00012] in
/home/marek/svn/mcs/class/System.Core/System.Linq.Expressions/EmitContext.cs:238
  at System.Linq.Expressions.BinaryExpression.EmitLiftedUserDefinedOperator
(System.Linq.Expressions.EmitContext) [0x0001c] in
/home/marek/svn/mcs/class/System.Core/System.Linq.Expressions/BinaryExpression.cs:586
  at System.Linq.Expressions.BinaryExpression.EmitUserDefinedOperator
(System.Linq.Expressions.EmitContext) [0x000a3] in
/home/marek/svn/mcs/class/System.Core/System.Linq.Expressions/BinaryExpression.cs:719
  at System.Linq.Expressions.BinaryExpression.Emit
(System.Linq.Expressions.EmitContext) [0x0000b] in
/home/marek/svn/mcs/class/System.Core/System.Linq.Expressions/BinaryExpression.cs:725
  at System.Linq.Expressions.LambdaExpression.EmitBody
(System.Linq.Expressions.EmitContext) [0x00000] in
/home/marek/svn/mcs/class/System.Core/System.Linq.Expressions/LambdaExpression.cs:71
  at System.Linq.Expressions.EmitContext.Emit () [0x00011] in
/home/marek/svn/mcs/class/System.Core/System.Linq.Expressions/EmitContext.cs:200
  at System.Linq.Expressions.CompilationContext.AddCompilationUnit
(System.Linq.Expressions.EmitContext,System.Linq.Expressions.LambdaExpression)
[0x00016] in
/home/marek/svn/mcs/class/System.Core/System.Linq.Expressions/EmitContext.cs:123
  at System.Linq.Expressions.CompilationContext.AddCompilationUnit
(System.Linq.Expressions.LambdaExpression) [0x00007] in
/home/marek/svn/mcs/class/System.Core/System.Linq.Expressions/EmitContext.cs:116
  at System.Linq.Expressions.LambdaExpression.Compile () [0x00006] in
/home/marek/svn/mcs/class/System.Core/System.Linq.Expressions/LambdaExpression.cs:90
  at System.Linq.Expressions.Expression`1<object>.Compile () <0x00011>
  at C.Main () [0x0004b] in /home/marek/svn/mcs/tests/gtest-etree-04.cs:33
  at (wrapper runtime-invoke) C.runtime_invoke_int
(object,intptr,intptr,intptr) <IL 0x0004d, 0xffffffff>
  at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke
(object,object[],System.Exception&) <0x00004>
  at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke
(object,object[],System.Exception&) <IL 0x00024, 0xffffffff>
  at System.Reflection.MonoMethod.Invoke
(object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo)
[0x000ca] in
/home/marek/svn/mcs/class/corlib/System.Reflection/MonoMethod.cs:169
  at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in
/home/marek/svn/mcs/class/corlib/System.Reflection/MethodBase.cs:111
  at TestRunner.PositiveChecker/DomainTester.ExecuteFile
(System.Reflection.MethodInfo,string) [0x0003e] in
/home/marek/svn/mcs/tools/compiler-tester/compiler-tester.cs:763
  at TestRunner.PositiveChecker/DomainTester.Test (string) [0x00007] in
/home/marek/svn/mcs/tools/compiler-tester/compiler-tester.cs:781
  at (wrapper remoting-invoke-with-check)
TestRunner.PositiveChecker/DomainTester.Test (string) <IL 0x00039, 0xffffffff>
  at (wrapper xdomain-dispatch) TestRunner.PositiveChecker/DomainTester.Test
(object,byte[]&,byte[]&,string) <IL 0x00069, 0xffffffff>
  at (wrapper xdomain-invoke) TestRunner.PositiveChecker/DomainTester.Test
(string) <0xffffffff>
  at (wrapper remoting-invoke-with-check)
TestRunner.PositiveChecker/DomainTester.Test (string) <IL 0x00039, 0xffffffff>
  at TestRunner.PositiveChecker.Check (TestRunner.TestCase) <0x005ab>
  at TestRunner.Checker.Do (string) <0x003e5>
  at (wrapper remoting-invoke-with-check) TestRunner.Checker.Do (string)
<0xffffffff>
  at TestRunner.Tester.Main (string[]) <0x0069f>
  at (wrapper runtime-invoke) TestRunner.Tester.runtime_invoke_int_object
(object,intptr,intptr,intptr) <0xffffffff>

Native stacktrace:

    mono [0x80d5182]
    mono [0x80ff94b]
    [0xb80d4410]
    mono [0x806270d]
    mono [0x8063119]
    mono(mono_runtime_invoke_array+0x1d9) [0x81293a9]
    mono [0x81a0705]
    [0xb7416ceb]
    [0xb7416908]
    [0xb7416780]
    [0xb7435a73]
    [0xb74356a1]
    [0xb7435669]
    [0xb6bb8034]
    [0xb6bb7fad]
    [0xb6bb7c97]
    [0xb6bb7b9b]
    [0xb6bb7b6d]
    [0xb6bb7b40]
    [0xb6bb772e]
    [0xb6bb63d2]
    [0xb6bb66f6]
    [0xb6bb65de]
    [0xb6bb6594]
    [0xb6bb6506]
    [0xb6bb648c]
    [0xb6bb63d2]
    [0xb6bb62e5]
    [0xb6bb61e7]
    [0xb6bb6060]
    [0xb6bb5f47]
    [0xb6bb59ea]
    [0xb6bb5944]
    [0xb6bb55e8]
    [0xb6bb5543]
    [0xb6bb54ad]
    [0xb6bb4c0c]
    [0xb6bb3f97]
    [0xb6bb3e09]
    [0xb6bb3d92]
    [0xb6bb194f]
    [0xb6bb17fa]
    mono(mono_runtime_invoke_array+0x39c) [0x812956c]
    mono [0x81a0705]
    [0xb7426033]
    [0xb6bb15db]
    [0xb6c0bebe]
    [0xb6bfea24]
    [0xb6bfe522]
    [0xb6bfe4c0]
    [0xb6bfe3ad]
    [0xb6bcfde2]
    [0xb6bcfcc2]
    [0xb70b0c1c]
    [0xb70abbd6]
    [0xb70ab7c0]
    [0xb7936970]
    [0xb7936203]
    mono(mono_runtime_exec_main+0x16e) [0x812729e]
    mono(mono_runtime_run_main+0x16b) [0x81279bb]
    mono(mono_main+0x191a) [0x80b645a]
    mono [0x805b441]
    /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe5) [0xb7e63775]
    mono [0x805b371]

Debug info from gdb:

[Thread debugging using libthread_db enabled]
[New Thread 0xb7e196f0 (LWP 11852)]
[New Thread 0xb68ffb90 (LWP 11867)]
[New Thread 0xb753cb90 (LWP 11854)]
[New Thread 0xb80c0b90 (LWP 11853)]
0xb80d4430 in __kernel_vsyscall ()
  4 Thread 0xb80c0b90 (LWP 11853)  0xb80d4430 in __kernel_vsyscall ()
  3 Thread 0xb753cb90 (LWP 11854)  0xb80d4430 in __kernel_vsyscall ()
  2 Thread 0xb68ffb90 (LWP 11867)  0xb80d4430 in __kernel_vsyscall ()
  1 Thread 0xb7e196f0 (LWP 11852)  0xb80d4430 in __kernel_vsyscall ()

Thread 4 (Thread 0xb80c0b90 (LWP 11853)):
#0  0xb80d4430 in __kernel_vsyscall ()
#1  0xb7fe38f6 in nanosleep () from /lib/tls/i686/cmov/libpthread.so.0
#2  0x081ac868 in collection_thread (unused=0x0) at collection.c:34
#3  0xb7fdc4ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#4  0xb7f3149e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 3 (Thread 0xb753cb90 (LWP 11854)):
#0  0xb80d4430 in __kernel_vsyscall ()
#1  0xb7fe23f5 in sem_wait@@GLIBC_2.1 () from
/lib/tls/i686/cmov/libpthread.so.0
#2  0x081ab7e4 in finalizer_thread (unused=0x0) at gc.c:1000
#3  0x081622a5 in start_wrapper (data=0x9ef8de0) at threads.c:634
#4  0x081afba6 in thread_start_routine (args=0x9eedec4) at wthreads.c:286
#5  0x081dbe68 in GC_start_routine (arg=0x26f20) at pthread_support.c:1382
#6  0xb7fdc4ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7  0xb7f3149e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 2 (Thread 0xb68ffb90 (LWP 11867)):
#0  0xb80d4430 in __kernel_vsyscall ()
#1  0xb7fe0412 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/tls/i686/cmov/libpthread.so.0
#2  0x081bfcdc in _wapi_handle_timedwait_signal_handle (handle=0x41f, 
    timeout=0xb68ff008, alertable=1, poll=0) at handles.c:1608
#3  0x081c2c74 in WaitForSingleObjectEx (handle=0x41f, timeout=4498,
alertable=1)
    at wait.c:207
#4  0x0815ea13 in ves_icall_System_Threading_WaitHandle_WaitOne_internal
(this=0x4930c0, 
    handle=0x41f, ms=4498, exitContext=1) at threads.c:1486
#5  0xb6bfdecd in ?? ()
#6  0xb6bfdb9e in ?? ()
#7  0xb6bfd790 in ?? ()
#8  0xb7416d68 in ?? ()
#9  0x081243e4 in mono_runtime_delegate_invoke (delegate=0x41f,
params=0xb68ff2d4, 
    exc=0x0) at object.c:3083
#10 0x08162327 in start_wrapper (data=0x0) at threads.c:640
#11 0x081afba6 in thread_start_routine (args=0x9eeec0c) at wthreads.c:286
#12 0x081dbe68 in GC_start_routine (arg=0x598fe0) at pthread_support.c:1382
#13 0xb7fdc4ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#14 0xb7f3149e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 1 (Thread 0xb7e196f0 (LWP 11852)):
#0  0xb80d4430 in __kernel_vsyscall ()
#1  0xb7fe30fb in read () from /lib/tls/i686/cmov/libpthread.so.0
#2  0x080d53e6 in mono_handle_native_sigsegv (signal=11, ctx=0xb7cded0c)
    at /usr/include/bits/unistd.h:45
#3  0x080ff94b in mono_arch_handle_altstack_exception (sigctx=0xb7cded0c, 
    fault_addr=0x3a66313c, stack_ovf=0) at exceptions-x86.c:871
#4  <signal handler called>
#5  0x0810a6e8 in mono_class_init (class=0xb739a3c8) at class.c:3705
#6  0x0806270d in mono_jit_compile_method (method=0xb73a35bc) at mini.c:3974
#7  0x08063119 in mono_jit_runtime_invoke (method=0xb73b2d78, obj=0x6980f0, 
    params=0xbf8f0d60, exc=0x0) at mini.c:4392
#8  0x081293a9 in mono_runtime_invoke_array (method=0xb73b2d78, obj=0x6980f0, 
    params=0x4961f8, exc=0x0) at object.c:3625
#9  0x081a0705 in ves_icall_InternalInvoke (method=0x4961b0, this=0x0,
params=0x4961f8, 
    exc=0xbf8f0e84) at icall.c:3133
#10 0xb7416ceb in ?? ()
#11 0xb7416908 in ?? ()
#12 0xb7416780 in ?? ()
#13 0xb7435a73 in ?? ()
#14 0xb74356a1 in ?? ()
#15 0xb7435669 in ?? ()
#16 0xb6bb8034 in ?? ()
#17 0xb6bb7fad in ?? ()
#18 0xb6bb7c97 in ?? ()
#19 0xb6bb7b9b in ?? ()
#20 0xb6bb7b6d in ?? ()
#21 0xb6bb7b40 in ?? ()
#22 0xb6bb772e in ?? ()
#23 0xb6bb63d2 in ?? ()
#24 0xb6bb66f6 in ?? ()
#25 0xb6bb65de in ?? ()
#26 0xb6bb6594 in ?? ()
#27 0xb6bb6506 in ?? ()
#28 0xb6bb648c in ?? ()
#29 0xb6bb63d2 in ?? ()
#30 0xb6bb62e5 in ?? ()
#31 0xb6bb61e7 in ?? ()
#32 0xb6bb6060 in ?? ()
#33 0xb6bb5f47 in ?? ()
#34 0xb6bb59ea in ?? ()
#35 0xb6bb5944 in ?? ()
#36 0xb6bb55e8 in ?? ()
#37 0xb6bb5543 in ?? ()
#38 0xb6bb54ad in ?? ()
#39 0xb6bb4c0c in ?? ()
#40 0xb6bb3f97 in ?? ()
#41 0xb6bb3e09 in ?? ()
#42 0xb6bb3d92 in ?? ()
#43 0xb6bb194f in ?? ()
#44 0xb6bb17fa in ?? ()
#45 0x0812956c in mono_runtime_invoke_array (method=0xb73b1a6c, obj=0x0,
params=0x0, 
    exc=0x0) at object.c:3639
#46 0x081a0705 in ves_icall_InternalInvoke (method=0x496588, this=0x0,
params=0x0, 
    exc=0xbf8f173c) at icall.c:3133
#47 0xb7426033 in ?? ()
#48 0xb6bb15db in ?? ()
#49 0xb6c0bebe in ?? ()
#50 0xb6bfea24 in ?? ()
#51 0xb6bfe522 in ?? ()
#52 0xb6bfe4c0 in ?? ()
#53 0xb6bfe3ad in ?? ()
#54 0xb6bcfde2 in ?? ()
#55 0xb6bcfcc2 in ?? ()
#56 0xb70b0c1c in ?? ()
#57 0xb70abbd6 in ?? ()
#58 0xb70ab7c0 in ?? ()
#59 0xb7936970 in ?? ()
#60 0xb7936203 in ?? ()
#61 0x0812729e in mono_runtime_exec_main (method=0x496588, args=0x26f20,
exc=0x0)
    at object.c:3441
#62 0x081279bb in mono_runtime_run_main (method=0x9ed150c, argc=4,
argv=0xbf8f1e2c, 
    exc=0x0) at object.c:3229
#63 0x080b645a in mono_main (argc=7, argv=0xbf8f1e24) at driver.c:972
#64 0x0805b441 in main (argc=-1, argv=0xffffffff) at main.c:34
#0  0xb80d4430 in __kernel_vsyscall ()

=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================

-- 
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the mono-bugs mailing list