[Mono-bugs] [Bug 494567] New: r131501 breaks compilation of System.Windows.Forms_test_net_1_1.dll

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Tue Apr 14 01:43:33 EDT 2009


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


           Summary: r131501 breaks compilation of
                    System.Windows.Forms_test_net_1_1.dll
    Classification: Mono
           Product: Mono: Runtime
           Version: SVN
          Platform: i386
        OS/Version: openSUSE 11.1
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: JIT
        AssignedTo: lupus at novell.com
        ReportedBy: harinath at hurrynot.org
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---


User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.8)
Gecko/2009032600 SUSE/3.0.8-1.1.1 Firefox/3.0.8

A 'make compiler-tests' after r131501 crashes with a SIGSEGV when compiling
System.Windows.Forms_test_net_1_1.dll.  

However, passing RUNTIME_FLAGS=--debug allows the compilation to proceed.  A
gdb session shows that the segv is in mono_magic_trampoline.

    vtable_slot = mono_arch_get_vcall_slot_addr (code, (gpointer*)regs);

    if (vtable_slot) {
        if (m->klass->valuetype)
            addr = get_unbox_trampoline (mono_get_generic_context_from_code
(code), m, addr);
        g_assert (*vtable_slot);

The suspect value is

  (gdb) p mono_arch_get_vcall_slot_addr (code, regs)
  $2 = (gpointer *) 0xb

The segv happens on the *vtable_slot.

Reproducible: Always

Steps to Reproduce:
cd src/mcs/class/Managed.Windows.Forms
make test PROFILE=net_1_1
Actual Results:  
Stacktrace:

  at string.CreateString (char[]) <0xffffffff>
  at string.CreateString (char[]) <0x0003b>
  at (wrapper managed-to-managed) string..ctor (char[]) <0xffffffff>
  at System.Text.Encoding.GetString (byte[],int,int) <0x00027>
  at System.Reflection.Emit.CustomAttributeBuilder.string_from_bytes
(byte[],int,int) <0x00019>
  at System.Reflection.Emit.CustomAttributeBuilder.decode_cattr_value
(System.Type,byte[],int,int&) <0x000a7>
  at System.Reflection.Emit.CustomAttributeBuilder.decode_cattr
(System.Reflection.Emit.CustomAttributeBuilder) <0x00112>
  at System.Reflection.Emit.MethodBuilder.SetCustomAttribute
(System.Reflection.Emit.CustomAttributeBuilder) <0x00215>
  at Mono.CSharp.MethodOrOperator.ApplyAttributeBuilder
(Mono.CSharp.Attribute,System.Reflection.Emit.CustomAttributeBuilder,Mono.CSharp.PredefinedAttributes)
<0x00156>
  at Mono.CSharp.Method.ApplyAttributeBuilder
(Mono.CSharp.Attribute,System.Reflection.Emit.CustomAttributeBuilder,Mono.CSharp.PredefinedAttributes)
<0x0022d>
  at Mono.CSharp.Attribute.Emit (System.Collections.Specialized.ListDictionary)
<0x00131>
  at Mono.CSharp.Attributes.Emit () <0x00108>
  at Mono.CSharp.MethodOrOperator.Emit () <0x0009f>
  at Mono.CSharp.Method.Emit () <0x00098>
  at Mono.CSharp.TypeContainer.EmitType () <0x00855>
  at Mono.CSharp.RootContext.EmitCode () <0x000a6>
  at Mono.CSharp.Driver.Compile () <0x005ee>
  at Mono.CSharp.Driver.Main (string[]) <0x00077>
  at (wrapper runtime-invoke) Mono.CSharp.Driver.runtime_invoke_int_object
(object,intptr,intptr,intptr) <0xffffffff>

Native stacktrace:

    /home/harinath/src/build/mono/mono/mini/mono [0x80d0e72]
    /home/harinath/src/build/mono/mono/mini/mono [0x80fd22b]
    [0xffffe410]
    [0x40032066]
    [0x4124ae0c]
    [0x4124a718]
    [0x4124a6ea]
    [0x4124a340]
    [0x41249e13]
    [0x4121334e]
    [0x41212f3f]
    [0x41212da6]
    [0x41210452]
    [0x4120f7c9]
    [0x4120f490]
    [0x4120f359]
    [0x411dafb6]
    [0x411da307]
    [0x40e1e2af]
    [0x40766ac8]
    [0x40763203]
    /home/harinath/src/build/mono/mono/mini/mono(mono_runtime_exec_main+0x16e)
[0x810a7de]
    /home/harinath/src/build/mono/mono/mini/mono(mono_runtime_run_main+0x16b)
[0x810aefb]
    /home/harinath/src/build/mono/mono/mini/mono(mono_main+0x18ba) [0x80b3fba]
    /home/harinath/src/build/mono/mono/mini/mono [0x805afe1]
    /lib/libc.so.6(__libc_start_main+0xe5) [0x40183705]
    /home/harinath/src/build/mono/mono/mini/mono [0x805af11]

Debug info from gdb:

[Thread debugging using libthread_db enabled]
[New Thread 0x40c2cb90 (LWP 7808)]
[New Thread 0x4004ab90 (LWP 7807)]
0xffffe430 in __kernel_vsyscall ()
  3 Thread 0x4004ab90 (LWP 7807)  0xffffe430 in __kernel_vsyscall ()
  2 Thread 0x40c2cb90 (LWP 7808)  0xffffe430 in __kernel_vsyscall ()
* 1 Thread 0x402fc900 (LWP 7793)  0xffffe430 in __kernel_vsyscall ()

Thread 3 (Thread 0x4004ab90 (LWP 7807)):
#0  0xffffe430 in __kernel_vsyscall ()
#1  0x401363f6 in nanosleep () from /lib/libpthread.so.0
#2  0x081ad898 in collection_thread (unused=0x0)
    at ../../../../mono/mono/io-layer/collection.c:34
#3  0x4012f1b5 in start_thread () from /lib/libpthread.so.0
#4  0x4023e38e in clone () from /lib/libc.so.6

Thread 2 (Thread 0x40c2cb90 (LWP 7808)):
#0  0xffffe430 in __kernel_vsyscall ()
#1  0x40134ef5 in sem_wait@@GLIBC_2.1 () from /lib/libpthread.so.0
#2  0x08175429 in finalizer_thread (unused=0x0)
    at ../../../../mono/mono/metadata/gc.c:1077
#3  0x081a5708 in start_wrapper (data=0x82e91c8)
    at ../../../../mono/mono/metadata/threads.c:624
#4  0x081c7c76 in thread_start_routine (args=0x82e0cec)
    at ../../../../mono/mono/io-layer/threads.c:286
#5  0x081d55d1 in GC_start_routine (arg=0x26f20)
    at ../../../mono/libgc/pthread_support.c:1382
#6  0x4012f1b5 in start_thread () from /lib/libpthread.so.0
#7  0x4023e38e in clone () from /lib/libc.so.6

Thread 1 (Thread 0x402fc900 (LWP 7793)):
#0  0xffffe430 in __kernel_vsyscall ()
#1  0x40135bbb in read () from /lib/libpthread.so.0
#2  0x080d10ab in mono_handle_native_sigsegv (signal=11, ctx=0x40045d0c)
    at ../../../../mono/mono/mini/mini-exceptions.c:1499
#3  0x080fd22b in mono_arch_handle_altstack_exception (sigctx=0x40045d0c, 
    fault_addr=0xb, stack_ovf=0)
    at ../../../../mono/mono/mini/exceptions-x86.c:882
#4  <signal handler called>
#5  mono_magic_trampoline (regs=0xbf9af1b8, 
    code=0x4124ae5b "\203�\020\213�\211u�\213E�\005\f", m=0x8329bac, tramp=0x0)
    at ../../../../mono/mono/mini/mini-trampolines.c:462
#6  0x40032066 in ?? ()
#7  0x4124ae0c in ?? ()
#8  0x4124a718 in ?? ()
#9  0x4124a6ea in ?? ()
#10 0x4124a340 in ?? ()
#11 0x41249e13 in ?? ()
#12 0x4121334e in ?? ()
#13 0x41212f3f in ?? ()
#14 0x41212da6 in ?? ()
#15 0x41210452 in ?? ()
#16 0x4120f7c9 in ?? ()
#17 0x4120f490 in ?? ()
#18 0x4120f359 in ?? ()
#19 0x411dafb6 in ?? ()
#20 0x411da307 in ?? ()
#21 0x40e1e2af in ?? ()
#22 0x40766ac8 in ?? ()
#23 0x40763203 in ?? ()
#24 0x0810a7de in mono_runtime_exec_main (method=0x1f2bf50, args=0x4bf60, 
    exc=0x0) at ../../../../mono/mono/metadata/object.c:3432
#25 0x0810aefb in mono_runtime_run_main (method=0x82cd98c, argc=17, 
    argv=0xbf9afbf0, exc=0x0) at ../../../../mono/mono/metadata/object.c:3220
#26 0x080b3fba in main_thread_handler (user_data=<value optimized out>)
    at ../../../../mono/mono/mini/driver.c:969
#27 mono_main (argc=21, argv=0xbf9afbe4)
    at ../../../../mono/mono/mini/driver.c:1644
#28 0x0805afe1 in main (argc=-13244408, argv=0xae5bff51)
    at ../../../../mono/mono/mini/main.c:34

=================================================================
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.
=================================================================

/bin/sh: line 1:  7793 Aborted                
MONO_PATH="./../../class/lib/net_1_1:$MONO_PATH"
/home/harinath/src/build/mono/runtime/mono-wrapper
/../../class/lib/net_1_1/mcs.exe /codepage:65001 -optimize -d:NET_1_1
-d:ONLY_1_1 -debug -target:library -out:System.Windows.Forms_test_net_1_1.dll
-r:./../../class/lib/net_1_1/System.Windows.Forms.dll
-r:./../../class/lib/net_1_1/nunit.framework.dll
-r:./../../class/lib/net_1_1/nunit.core.dll
-r:./../../class/lib/net_1_1/nunit.util.dll /r:System.Data.dll
/r:System.Drawing.dll -resource:Test/resources/a.cur,a.cur
-resource:Test/resources/32x32.ico,32x32.ico -nowarn:618,612
@./../../build/deps/System.Windows.Forms_test_net_1_1.dll.response
make[1]: *** [System.Windows.Forms_test_net_1_1.dll] Error 134
make[1]: Leaving directory `/home/harinath/src/mcs/class/Managed.Windows.Forms'
make: *** [do-test] Error 2


Expected Results:  
clean compile

-- 
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