[Mono-bugs] [Bug 561856] New: [verifier] abort in mono_init_com_type on bad assembly

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Wed Dec 9 08:19:58 EST 2009


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

http://bugzilla.novell.com/show_bug.cgi?id=561856#c0


           Summary: [verifier] abort in mono_init_com_type on bad assembly
    Classification: Mono
           Product: Mono: Runtime
           Version: 2.6.x
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: verifier
        AssignedTo: rkumpera at novell.com
        ReportedBy: spouliot at novell.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---
           Blocker: ---


Created an attachment (id=331733)
 --> (http://bugzilla.novell.com/attachment.cgi?id=331733)
assembly to reproduce abort

MONO_PATH=/opt/mono/lib/moonlight/plugin/ gdb --args pedump --verify all
System.sigabrt.67680.dll

** ERROR:(domain.c:1683):mono_init_com_types: assertion failed:
(mono_defaults.variant_class != 0)
[New Thread 0x7f4f2d5fb710 (LWP 24570)]

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7f4f2d5fb710 (LWP 24570)]
0x00007f4f2c1685c5 in raise () from /lib64/libc.so.6
(gdb) bt
#0  0x00007f4f2c1685c5 in raise () from /lib64/libc.so.6
#1  0x00007f4f2c169bb3 in abort () from /lib64/libc.so.6
#2  0x00007f4f2cf962c7 in g_assertion_message () from
/usr/lib64/libglib-2.0.so.0
#3  0x00007f4f2cf96762 in g_assertion_message_expr () from
/usr/lib64/libglib-2.0.so.0
#4  0x000000000042e31d in mono_init_com_types () at domain.c:1683
#5  0x000000000041ffc3 in init_com_from_comimport (class=0x88d6f8) at
class.c:4405
#6  0x00000000004203b8 in mono_class_setup_parent (class=0x88d6f8, parent=0x0)
at class.c:4485
#7  0x000000000042089d in mono_class_create_from_typedef (image=0x87d840,
type_token=33554469) at class.c:4627
#8  0x0000000000423ae4 in mono_class_get_full (image=0x87d840,
type_token=33554469, context=0x0) at class.c:5867
#9  0x0000000000423dd2 in mono_class_get (image=0x87d840, type_token=33554469)
at class.c:5953
#10 0x000000000040eafb in verify_image_file (fname=0x7fff3561d28e
"System.sigabrt.67680.dll") at pedump.c:470
#11 0x000000000040f376 in main (argc=4, argv=0x7fff3561c468) at pedump.c:692
(gdb) up 5
#5  0x000000000041ffc3 in init_com_from_comimport (class=0x88d6f8) at
class.c:4405
4405        mono_init_com_types ();
(gdb) p class->flags
$1 = 4257

The flags instruct the runtime to initialize COM support - but the ML BCL lacks
some types, which fails the later asserts. 

Similar to an older issue about using [ComImport] attribute. We need to detect
if COM can be initialized without failure/aborting.

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