[Mono-bugs] [Bug 445361] New: SIGSEGV in class.c inflate_generic_type

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Fri Nov 14 19:06:54 EST 2008


https://bugzilla.novell.com/show_bug.cgi?id=445361


           Summary: SIGSEGV in class.c inflate_generic_type
           Product: Mono: Runtime
           Version: unspecified
          Platform: x86
        OS/Version: SLED 10
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: generics
        AssignedTo: mono-bugs at lists.ximian.com
        ReportedBy: spouliot at novell.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---


I tried to run some unit tests while another term re-compiled Gendarme.
Something was not up to date leading to two simultaneous compiles and this
crash.

** (/usr/local//lib/mono/2.0/gmcs.exe:17454): WARNING **: The following
assembly referenced from
/home/poupou/svn/mono-tools/gendarme/rules/Test.Rules/Test.Rules.dll could not
be loaded:
     Assembly:   Gendarme.Framework    (assemblyref_index=2)
     Version:    2.1.0.0
     Public Key: (none)
The assembly was not found in the Global Assembly Cache, a path listed in the
MONO_PATH environment variable, or in the location of the executing assembly
(/home/poupou/svn/mono-tools/gendarme/rules/Test.Rules/).


** (/usr/local//lib/mono/2.0/gmcs.exe:17454): WARNING **: Could not load file
or assembly 'Gendarme.Framework, Version=2.1.0.0, Culture=neutral,
PublicKeyToken=null' or one of its dependencies.
Stacktrace:

  at (wrapper managed-to-native) System.Reflection.Assembly.InternalGetType
(System.Reflection.Module,string,bool,bool) <0x00004>
  at (wrapper managed-to-native) System.Reflection.Assembly.InternalGetType
(System.Reflection.Module,string,bool,bool) <0xffffffff>
  at System.Reflection.Assembly.GetType (string,bool,bool) <0x00025>
  at System.Reflection.Assembly.GetType (string) <0x00019>
  at Mono.CSharp.RootNamespace.GetTypeInAssembly
(System.Reflection.Assembly,string) <0x00016>
  at Mono.CSharp.RootNamespace.LookupTypeReflection
(string,Mono.CSharp.Location) <0x0003d>
  at Mono.CSharp.GlobalRootNamespace.LookupTypeReflection
(string,Mono.CSharp.Location) <0x0001f>
  at Mono.CSharp.Namespace.LookupType (string,Mono.CSharp.Location) <0x00173>
  at Mono.CSharp.Namespace.Lookup
(Mono.CSharp.DeclSpace,string,Mono.CSharp.Location) <0x0006b>
  at Mono.CSharp.NamespaceEntry.Lookup
(Mono.CSharp.DeclSpace,string,Mono.CSharp.Location,bool) <0x002b5>
  at Mono.CSharp.NamespaceEntry.LookupNamespaceOrType
(Mono.CSharp.DeclSpace,string,Mono.CSharp.Location,bool) <0x0002e>
  at Mono.CSharp.DeclSpace.LookupNamespaceOrType
(string,Mono.CSharp.Location,bool) <0x000e5>
  at Mono.CSharp.SimpleName.ResolveAsTypeStep
(Mono.CSharp.IResolveContext,bool) <0x00094>
  at Mono.CSharp.Expression.ResolveAsBaseTerminal
(Mono.CSharp.IResolveContext,bool) <0x00027>
  at Mono.CSharp.TypeContainer.ResolveBaseTypes (Mono.CSharp.TypeExpr&)
<0x000a3>
  at Mono.CSharp.Class.ResolveBaseTypes (Mono.CSharp.TypeExpr&) <0x00018>
  at Mono.CSharp.TypeContainer.DefineBaseTypes () <0x0001e>
  at Mono.CSharp.TypeContainer.DefineType () <0x00059>
  at Mono.CSharp.RootContext.ResolveTree () <0x001de>
  at Mono.CSharp.Driver.Compile () <0x004b6>
  at Mono.CSharp.Driver.Main (string[]) <0x0006c>
  at (wrapper runtime-invoke) Mono.CSharp.Driver.runtime_invoke_int_object
(object,intptr,intptr,intptr) <0xffffffff>

Native stacktrace:

        /usr/local//bin/mono(mono_handle_native_sigsegv+0xd9) [0x810ed69]
        /usr/local//bin/mono(mono_arch_handle_altstack_exception+0xb1)
[0x813bdd1]
        [0xffffe440]
        /usr/local//bin/mono [0x81f0b06]
        /usr/local//bin/mono(mono_class_init+0x403) [0x81eff53]
        /usr/local//bin/mono(mono_class_init+0x148) [0x81efc98]
        /usr/local//bin/mono [0x81a3938]
        /usr/local//bin/mono [0x81a3bec]
        /usr/local//bin/mono [0x81d79a1]
        [0xb7108bbd]
        [0xb7108b56]
        [0xb7108b1a]
        [0xb7012c27]
        [0xb7012b8e]
        [0xb70129c0]
        [0xb7012924]
        [0xb701275c]
        [0xb7017456]
        [0xb701715f]
        [0xb7016e7e]
        [0xb7016b0d]
        [0xb7016960]
        [0xb7015e74]
        [0xb7015979]
        [0xb7015777]
        [0xb7015712]
        [0xb7014387]
        [0xb7116657]
        [0xb799393d]
        [0xb798e203]
        /usr/local//bin/mono(mono_runtime_exec_main+0x15f) [0x81ce2ef]
        /usr/local//bin/mono(mono_runtime_run_main+0x1ba) [0x81cf84a]
        /usr/local//bin/mono(mono_main+0x1cbb) [0x80f85db]
        /usr/local//bin/mono [0x80644f1]
        /lib/libc.so.6(__libc_start_main+0xdc) [0xb7d7487c]
        /usr/local//bin/mono [0x8064431]

Debug info from gdb:

Using host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1210717504 (LWP 17454)]
[New Thread -1218622560 (LWP 17457)]
[New Thread -1208636512 (LWP 17455)]
0xffffe410 in __kernel_vsyscall ()
  3 Thread -1208636512 (LWP 17455)  0xffffe410 in __kernel_vsyscall ()
  2 Thread -1218622560 (LWP 17457)  0xffffe410 in __kernel_vsyscall ()
  1 Thread -1210717504 (LWP 17454)  0xffffe410 in __kernel_vsyscall ()

Thread 3 (Thread -1208636512 (LWP 17455)):
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb7eb1386 in g_free () from /lib/libpthread.so.0
#2  0x08201b41 in collection_thread (unused=0x0) at collection.c:34
#3  0xb7eaa2ab in start_thread () from /lib/libpthread.so.0
#4  0xb7e1d58e in clone () from /lib/libc.so.6

Thread 2 (Thread -1218622560 (LWP 17457)):
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb7eaffbf in sem_wait at GLIBC_2.0 () from /lib/libpthread.so.0
#2  0x0815bd49 in finalizer_thread (unused=0x0) at gc.c:928
#3  0x08193e4f in start_wrapper (data=0x833c280) at threads.c:620
#4  0x08208502 in thread_start_routine (args=0x832f48c) at threads.c:279
#5  0x08225911 in GC_start_routine (arg=0x26f20) at pthread_support.c:1382
#6  0xb7eaa2ab in start_thread () from /lib/libpthread.so.0
#7  0xb7e1d58e in clone () from /lib/libc.so.6

Thread 1 (Thread -1210717504 (LWP 17454)):
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb7eb0b3b in g_free () from /lib/libpthread.so.0
#2  0x0810eedb in mono_handle_native_sigsegv (signal=11, ctx=0xb7f5fd0c) at
mini-exceptions.c:1439
#3  0x0813bdd1 in mono_arch_handle_altstack_exception (sigctx=0xb7f5fd0c,
fault_addr=0x6, stack_ovf=0) at exceptions-x86.c:864
#4  <signal handler called>
#5  inflate_generic_type (mempool=0x866f2e0, type=0x0, context=0x854cb2c) at
class.c:487
#6  0x081f0b06 in mono_class_setup_fields (class=0x857f6e8) at class.c:663
#7  0x081eff53 in mono_class_init (class=0x857f6e8) at class.c:3566
#8  0x081efc98 in mono_class_init (class=0x866f30c) at class.c:3544
#9  0x081a3938 in mono_reflection_get_type_internal (rootimage=0x866ee00,
image=<value optimized out>, info=0xbfee086c, ignorecase=0) at
reflection.c:7006
#10 0x081a3bec in mono_reflection_get_type_with_rootimage (rootimage=0x866ee00,
image=0x0, info=0xbfee086c, ignorecase=0, type_resolve=0xbfee08b8)
    at reflection.c:7113
#11 0x081d79a1 in ves_icall_System_Reflection_Assembly_InternalGetType
(assembly=0x11b3c0, module=0x0, name=0x1e1ba0, throwOnError=0 '\0',
    ignoreCase=<value optimized out>) at icall.c:4272
#12 0xb7108bbd in ?? ()
#13 0x0011b3c0 in ?? ()
#14 0x00000000 in ?? ()
#0  0xffffe410 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.
=================================================================

make: *** [Test.Rules.Design.dll] Aborted


It could be fixed simply by add a null check for type to inflate_generic_type -
or maybe it should be done at an higher level.

#5  inflate_generic_type (mempool=0x866f2e0, type=0x0, context=0x854cb2c) at
class.c:487


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


More information about the mono-bugs mailing list