[Mono-bugs] [Bug 558124] New: [verifier] SIGSEGV in inflate_generic_type on a bad assembly
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Tue Nov 24 13:54:08 EST 2009
http://bugzilla.novell.com/show_bug.cgi?id=558124
http://bugzilla.novell.com/show_bug.cgi?id=558124#c0
Summary: [verifier] SIGSEGV in inflate_generic_type on a bad
assembly
Classification: Mono
Product: Mono: Runtime
Version: 2.6.x
Platform: Other
OS/Version: Other
Status: NEW
Severity: Normal
Priority: P5 - None
Component: misc
AssignedTo: rkumpera at novell.com
ReportedBy: spouliot at novell.com
QAContact: mono-bugs at lists.ximian.com
Found By: ---
Blocker: ---
Created an attachment (id=329288)
--> (http://bugzilla.novell.com/attachment.cgi?id=329288)
assembly to reproduce crash
The function inflate_generic_type use the image* parameter 3 times. However
it's being called by:
MonoType*
mono_class_inflate_generic_type_checked (MonoType *type, MonoGenericContext
*context, MonoError *error)
{
return mono_class_inflate_generic_type_with_mempool (NULL, type, context,
error);
}
which calls inflate_generic_type if context is not NULL
if (context)
inflated = inflate_generic_type (image, type, context, error);
GCC inlining hides that a bit in the following stack trace.
gdb --args pedump --verify all System.72329.dll
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fc5b35cd710 (LWP 19985)]
0x000000000041b859 in inflate_generic_type (image=0x0, type=0x8837e8,
context=0x87f228, error=0x7fffbb5ee030) at class.c:532
532 mono_error_set_bad_image (error, image->module_name, "VAR %d
(%s) cannot be expanded in this context with %d instantiations",
(gdb) bt
#0 0x000000000041b859 in inflate_generic_type (image=0x0, type=0x8837e8,
context=0x87f228, error=0x7fffbb5ee030) at class.c:532
#1 0x000000000041ca09 in mono_class_inflate_generic_type_with_mempool
(image=0x0, type=0x8837e8, context=0x87f228, error=0x7fffbb5ee030) at
class.c:667
#2 0x0000000000495d22 in mono_method_verify (method=<value optimized out>,
level=<value optimized out>) at verify.c:4943
#3 0x000000000040daed in main (argc=8430352, argv=<value optimized out>) at
pedump.c:374
(gdb) up 2
#2 0x0000000000495d22 in mono_method_verify (method=<value optimized out>,
level=<value optimized out>) at verify.c:4943
4943 ctx.locals [i] = mono_class_inflate_generic_type_checked
(ctx.locals [i], ctx.generic_context, &error);
(gdb) p ctx
$1 = {max_args = 1, max_stack = 5, verifiable = 1, valid = 1, level = 135,
code_size = 88, code = 0x887750, eval = {stack = 0x0, size = 0, flags = 0},
params = 0x87af10, list = 0x0, funptrs = 0x0,
exception_types = 0x0, num_locals = 3, locals = 0x87a2b0, target = 0,
ip_offset = 0, signature = 0x883770, header = 0x883798, generic_context =
0x87f228, image = 0x85da80, method = 0x883740,
has_this_store = 0, super_ctor_called = 0, prefix_set = 0, has_flags = 0,
constrained_type = 0x0}
(gdb) p i
$2 = 0
(gdb) p ctx.locals[i]
$3 = (MonoType *) 0x8837e8
(gdb) p *ctx.locals[i]
$4 = {data = {klass = 0x8837d0, type = 0x8837d0, array = 0x8837d0, method =
0x8837d0, generic_param = 0x8837d0, generic_class = 0x8837d0}, attrs = 0, type
= MONO_TYPE_VAR, num_mods = 0, byref = 0,
pinned = 0, modifiers = 0x8837f4}
--
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