[Mono-bugs] [Bug 462438] SIGSEGV while running tests/pinvoke2.exe on PowerPC

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Wed Dec 24 13:07:43 EST 2008


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

User munroesj at us.ibm.com added comment
https://bugzilla.novell.com/show_bug.cgi?id=462438#c1





--- Comment #1 from Steven Munroe <munroesj at us.ibm.com>  2008-12-24 11:07:41 MST ---
Additional debug info:

build32_22/mono/tests> gdb ../../mono/mini/mono
GNU gdb 6.6.50.20070726-cvs
Copyright (C) 2007 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "ppc-suse-linux"...
Using host libthread_db library "/lib/libthread_db.so.1".
(gdb) handle SIGXCPU SIG33 SIG35 SIGPWR nostop noprint
Signal        Stop      Print   Pass to program Description
SIGXCPU       No        No      Yes             CPU time limit exceeded
SIGPWR        No        No      Yes             Power fail/restart
SIG33         No        No      Yes             Real-time event 33
SIG35         No        No      Yes             Real-time event 35
(gdb) set environment MONO_PATH ../../../mcs/class/lib/net_2_0
(gdb) set environment MONO_SHARED_DIR
/home/sjmunroe/src/mono-ppc/build32_22/runtime
(gdb) set environment MONO_CFG_DIR
/home/sjmunroe/src/mono-ppc/build32_22/runtime/etc
(gdb) run pinvoke2.exe
Starting program: /home/sjmunroe/src/mono-ppc/build32_22/mono/mini/mono
pinvoke2.exe
[Thread debugging using libthread_db enabled]
[New Thread 0xf7fb6210 (LWP 29760)]
[New Thread 0xf77a34b0 (LWP 29763)]
[New Thread 0xf77434b0 (LWP 29764)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xf7fb6210 (LWP 29760)]
0x1015fa38 in mono_class_init (class=0x10381e48)
    at /home/sjmunroe/src/mono-ppc/mono-2.2/mono/metadata/class.c:3525
3525            if (class->generic_class && !class->generic_class->is_dynamic)
{
(gdb) print class
$1 = (MonoClass *) 0x10381e48
(gdb) print *class
$2 = {element_class = 0x1039bde8, cast_class = 0x10300ed8, supertypes = 0x0,
  idepth = 0, rank = 0 '\0', instance_size = 272096536, inited = 0,
  init_pending = 1, size_inited = 0, valuetype = 0, enumtype = 0,
  blittable = 0, unicode = 0, wastypebuilder = 0, min_align = 0 '\0',
  packing_size = 0, ghcimpl = 0, has_finalize = 0, marshalbyref = 0,
  contextbound = 0, delegate = 0, gc_descr_inited = 0, has_cctor = 0,
  has_references = 1, has_static_refs = 0, no_special_static_fields = 0,
  is_com_object = 0, nested_classes_inited = 1, simd_type = 0,
  exception_type = 105 'i', parent = 0x65737400, nested_in = 0x10,
  nested_classes = 0x19, image = 0x80000000,
  name = 0x1ffff <Address 0x1ffff out of bounds>,
  name_space = 0x2 <Address 0x2 out of bounds>, enum_basetype = 0x10243e00,
  declsec_flags = 272157152, type_token = 25, vtable_size = 271643680,
  interface_count = 4152, interface_id = 7648, max_interface_id = 0,
  interface_offsets_count = 0, interfaces_packed = 0x0,
  interface_offsets_packed = 0x1038da10,
  interface_bitmap = 0x11 <Address 0x11 out of bounds>,
  interfaces = 0x1038c800, sizes = {class_size = 0, element_size = 0,
    generic_param_token = 0}, flags = 0, field = {first = 17,
    count = 271617680}, method = {first = 0, count = 0}, property = {
    first = 25, count = 271620352}, event = {first = 272113120, count = 0},
  marshal_info = 0x0, fields = 0x1038dae0, properties = 0x31, events = 0x100,
  methods = 0x0, this_arg = {data = {klass = 0xffffffff, type = 0xffffffff,
      array = 0xffffffff, method = 0xffffffff, generic_param = 0xffffffff,
      generic_class = 0xffffffff}, attrs = 65535, type = 255, num_mods = 63,
    byref = 1, pinned = 1, modifiers = 0x10381ee8}, byval_arg = {data = {
      klass = 0xffffffff, type = 0xffffffff, array = 0xffffffff,
      method = 0xffffffff, generic_param = 0xffffffff,
      generic_class = 0xffffffff}, attrs = 65535, type = 255, num_mods = 63,
    byref = 1, pinned = 1, modifiers = 0x10381ef0},
  generic_class = 0xffffffff, generic_container = 0xffffffff,
  reflection_info = 0xffffffff, gc_descr = 0x1ffffff, runtime_info = 0x0,
  next_class_cache = 0xd1, vtable = 0x10381f08, field_def_values = 0x10381f08}
(gdb) x/50 0x10381e48
0x10381e48:     0x1039bde8      0x10300ed8      0x00000000      0x00000000
0x10381e58:     0x1037dd18      0x40000011      0x6c696274      0x65737400
0x10381e68:     0x00000010      0x00000019      0x80000000      0x0001ffff
0x10381e78:     0x00000002      0x10243e00      0x1038c9e0      0x00000019
0x10381e88:     0x1030f420      0x10381de0      0x00000000      0x00000000
0x10381e98:     0x1038da10      0x00000011      0x1038c800      0x00000000
0x10381ea8:     0x00000000      0x00000011      0x10308e90      0x00000000
0x10381eb8:     0x00000000      0x00000019      0x10309900      0x10381de0
0x10381ec8:     0x00000000      0x00000000      0x1038dae0      0x00000031
0x10381ed8:     0x00000100      0x00000000      0xffffffff      0xffffffff
0x10381ee8:     0xffffffff      0xffffffff      0xffffffff      0xffffffff
0x10381ef8:     0xffffffff      0x01ffffff      0x00000000      0x000000d1
0x10381f08:     0x10381f08      0x10381f08


(gdb) info reg pc
pc             0x1015fa38       269875768
(gdb) backtrace
#0  0x1015fa38 in mono_class_init (class=0x10381e48)
    at /home/sjmunroe/src/mono-ppc/mono-2.2/mono/metadata/class.c:3525
#1  0x1011303c in mono_marshal_load_type_info (klass=0x10381e48)
    at /home/sjmunroe/src/mono-ppc/mono-2.2/mono/metadata/marshal.c:11349
#2  0x10113504 in mono_class_native_size (klass=0x10381e48, align=0xffc74238)
    at /home/sjmunroe/src/mono-ppc/mono-2.2/mono/metadata/marshal.c:11488
#3  0x1001bad8 in mono_allocate_stack_slots_full (cfg=0x10390900, backward=0,
    stack_size=0xffc742bc, stack_align=0xffc742c0)
    at /home/sjmunroe/src/mono-ppc/mono-2.2/mono/mini/mini.c:10364
#4  0x100e78a0 in mono_arch_allocate_vars (m=0x10390900)
    at /home/sjmunroe/src/mono-ppc/mono-2.2/mono/mini/mini-ppc.c:1185
#5  0x1005272c in mini_method_compile (method=0x1039c220,
    opts=<value optimized out>, domain=0xf7e6bee0,
    run_cctors=<value optimized out>, compile_aot=<value optimized out>,
    parts=0) at /home/sjmunroe/src/mono-ppc/mono-2.2/mono/mini/mini.c:12744
#6  0x10053080 in mono_jit_compile_method (method=0x1039c220)
    at /home/sjmunroe/src/mono-ppc/mono-2.2/mono/mini/mini.c:13137
#7  0x10176890 in mono_compile_method (method=0xffffffff)
    at /home/sjmunroe/src/mono-ppc/mono-2.2/mono/metadata/object.c:529
#8  0x10052e84 in mono_jit_compile_method (method=0x103546d8)
    at /home/sjmunroe/src/mono-ppc/mono-2.2/mono/mini/mini.c:13093
#9  0x10176890 in mono_compile_method (method=0xffffffff)
    at /home/sjmunroe/src/mono-ppc/mono-2.2/mono/metadata/object.c:529
---Type <return> to continue, or q <return> to quit---
#10 0x100cfe70 in mono_magic_trampoline (regs=0xffc7449c,
    code=0xf75d4598 "\200a", m=0x103546d8, tramp=<value optimized out>)
    at /home/sjmunroe/src/mono-ppc/mono-2.2/mono/mini/mini-trampolines.c:290
#11 0xf7fc4114 in ?? ()
#12 0xf75d4598 in ?? ()
#13 0xf75f3084 in ?? ()
#14 0x1005394c in mono_jit_runtime_invoke (method=0xffc74690, obj=0x0,
    params=0x0, exc=0x0)
    at /home/sjmunroe/src/mono-ppc/mono-2.2/mono/mini/mini.c:13481
#15 0x10177c90 in mono_runtime_invoke (method=0x103546f8, obj=0x0, params=0x0,
    exc=0x0)
    at /home/sjmunroe/src/mono-ppc/mono-2.2/mono/metadata/object.c:2399
#16 0x1017b304 in mono_runtime_invoke_array (method=0x103546f8, obj=0x0,
    params=0x0, exc=0x0)
    at /home/sjmunroe/src/mono-ppc/mono-2.2/mono/metadata/object.c:3488
#17 0x1019a448 in ves_icall_InternalInvoke (method=<value optimized out>,
    this=0x0, params=0x0, exc=0xffc74924)
    at /home/sjmunroe/src/mono-ppc/mono-2.2/mono/metadata/icall.c:3038
#18 0xf75f2fa8 in ?? ()
#19 0xf75f2a58 in ?? ()
#20 0xf75f2934 in ?? ()
#21 0xf7ba5988 in ?? ()
#22 0xf7ba54cc in ?? ()
---Type <return> to continue, or q <return> to quit---
#23 0xf7ba539c in ?? ()
#24 0x1005394c in mono_jit_runtime_invoke (method=0xffc748f0, obj=0xf7630450,
    params=0xf762ffc8, exc=0x0)
    at /home/sjmunroe/src/mono-ppc/mono-2.2/mono/mini/mini.c:13481
#25 0x10177c90 in mono_runtime_invoke (method=0x102fb098, obj=0x0,
    params=0xffc74ae8, exc=0x0)
    at /home/sjmunroe/src/mono-ppc/mono-2.2/mono/metadata/object.c:2399
#26 0x1017e74c in mono_runtime_exec_main (method=0x102fb098,
    args=<value optimized out>, exc=0x0)
    at /home/sjmunroe/src/mono-ppc/mono-2.2/mono/metadata/object.c:3291
#27 0x1017ff44 in mono_runtime_run_main (method=0xf7632aa0, argc=1, argv=0x6,
    exc=0x0)
    at /home/sjmunroe/src/mono-ppc/mono-2.2/mono/metadata/object.c:3084
#28 0x100adb44 in mono_jit_exec (domain=<value optimized out>,
    assembly=<value optimized out>, argc=1, argv=0xffc74f08)
    at /home/sjmunroe/src/mono-ppc/mono-2.2/mono/mini/driver.c:920
#29 0x100af010 in mono_main (argc=2, argv=<value optimized out>)
    at /home/sjmunroe/src/mono-ppc/mono-2.2/mono/mini/driver.c:968
#30 0x100139c8 in main (argc=-1, argv=0x10381e48)
    at /home/sjmunroe/src/mono-ppc/mono-2.2/mono/mini/main.c:34
(gdb) disassemble
Dump of assembler code for function mono_class_init:
0x1015f900 <mono_class_init+0>: mfcr    r12
0x1015f904 <mono_class_init+4>: mflr    r0
0x1015f908 <mono_class_init+8>: stwu    r1,-112(r1)
0x1015f90c <mono_class_init+12>:        stw     r31,108(r1)
0x1015f910 <mono_class_init+16>:        mr.     r31,r3
0x1015f914 <mono_class_init+20>:        stw     r21,68(r1)
0x1015f918 <mono_class_init+24>:        stw     r22,72(r1)
0x1015f91c <mono_class_init+28>:        stw     r23,76(r1)
0x1015f920 <mono_class_init+32>:        stw     r24,80(r1)
0x1015f924 <mono_class_init+36>:        stw     r25,84(r1)
0x1015f928 <mono_class_init+40>:        stw     r26,88(r1)
0x1015f92c <mono_class_init+44>:        stw     r27,92(r1)
0x1015f930 <mono_class_init+48>:        stw     r28,96(r1)
0x1015f934 <mono_class_init+52>:        stw     r29,100(r1)
0x1015f938 <mono_class_init+56>:        stw     r30,104(r1)
0x1015f93c <mono_class_init+60>:        stw     r0,116(r1)
0x1015f940 <mono_class_init+64>:        stw     r12,64(r1)
0x1015f944 <mono_class_init+68>:        beq-    0x10160240
<mono_class_init+2368>
0x1015f948 <mono_class_init+72>:        lwz     r0,20(r31)
0x1015f94c <mono_class_init+76>:        cmpwi   cr7,r0,0
0x1015f950 <mono_class_init+80>:        bge-    cr7,0x1015f9b0
<mono_class_init+176>
0x1015f954 <mono_class_init+84>:        lbz     r0,25(r31)
0x1015f958 <mono_class_init+88>:        cntlzw  r30,r0
0x1015f95c <mono_class_init+92>:        rlwinm  r30,r30,27,5,31
0x1015f960 <mono_class_init+96>:        lwz     r0,116(r1)
0x1015f964 <mono_class_init+100>:       lwz     r12,64(r1)
0x1015f968 <mono_class_init+104>:       mr      r3,r30
0x1015f96c <mono_class_init+108>:       lwz     r21,68(r1)
0x1015f970 <mono_class_init+112>:       lwz     r22,72(r1)
0x1015f974 <mono_class_init+116>:       lwz     r23,76(r1)
0x1015f978 <mono_class_init+120>:       lwz     r24,80(r1)
0x1015f97c <mono_class_init+124>:       lwz     r25,84(r1)
0x1015f980 <mono_class_init+128>:       lwz     r26,88(r1)
0x1015f984 <mono_class_init+132>:       mtlr    r0
0x1015f988 <mono_class_init+136>:       lwz     r27,92(r1)
0x1015f98c <mono_class_init+140>:       lwz     r28,96(r1)
0x1015f990 <mono_class_init+144>:       mtcrf   8,r12
0x1015f994 <mono_class_init+148>:       lwz     r29,100(r1)
0x1015f998 <mono_class_init+152>:       lwz     r30,104(r1)
0x1015f99c <mono_class_init+156>:       lwz     r31,108(r1)
0x1015f9a0 <mono_class_init+160>:       addi    r1,r1,112
0x1015f9a4 <mono_class_init+164>:       blr
0x1015f9a8 <mono_class_init+168>:       nop
0x1015f9ac <mono_class_init+172>:       nop
0x1015f9b0 <mono_class_init+176>:       bl      0x101815a0 <mono_loader_lock>
0x1015f9b4 <mono_class_init+180>:       lwz     r10,20(r31)
0x1015f9b8 <mono_class_init+184>:       cmpwi   cr7,r10,0
0x1015f9bc <mono_class_init+188>:       blt-    cr7,0x1015fd90
<mono_class_init+1168>
0x1015f9c0 <mono_class_init+192>:       andis.  r0,r10,16384
0x1015f9c4 <mono_class_init+196>:       bne-    0x1015fcb0
<mono_class_init+944>
0x1015f9c8 <mono_class_init+200>:       li      r0,1
0x1015f9cc <mono_class_init+204>:       rlwimi  r10,r0,30,1,1
0x1015f9d0 <mono_class_init+208>:       stw     r10,20(r31)
0x1015f9d4 <mono_class_init+212>:       bl      0x101af3f0
<mono_is_security_manager_active>
0x1015f9d8 <mono_class_init+216>:       cmpwi   cr7,r3,0
0x1015f9dc <mono_class_init+220>:       beq-    cr7,0x1015fa00
<mono_class_init+256>
0x1015f9e0 <mono_class_init+224>:       lwz     r4,28(r31)
0x1015f9e4 <mono_class_init+228>:       cmpwi   cr7,r4,0
0x1015f9e8 <mono_class_init+232>:       beq-    cr7,0x1015fa00
<mono_class_init+256>
0x1015f9ec <mono_class_init+236>:       lwz     r0,96(r4)
0x1015f9f0 <mono_class_init+240>:       andis.  r9,r0,4
0x1015f9f4 <mono_class_init+244>:       bne-    0x10160010
<mono_class_init+1808>
0x1015f9f8 <mono_class_init+248>:       nop
0x1015f9fc <mono_class_init+252>:       nop
0x1015fa00 <mono_class_init+256>:       bl      0x101af3d0
<mono_security_get_mode>
0x1015fa04 <mono_class_init+260>:       cmpwi   cr7,r3,1
0x1015fa08 <mono_class_init+264>:       beq-    cr7,0x1015fcdc
<mono_class_init+988>
0x1015fa0c <mono_class_init+268>:       lis     r9,4141
0x1015fa10 <mono_class_init+272>:       addi    r10,r9,23336
0x1015fa14 <mono_class_init+276>:       lwz     r11,4(r10)
0x1015fa18 <mono_class_init+280>:       addi    r11,r11,1
0x1015fa1c <mono_class_init+284>:       stw     r11,4(r10)
0x1015fa20 <mono_class_init+288>:       nop
0x1015fa24 <mono_class_init+292>:       nop
0x1015fa28 <mono_class_init+296>:       nop
0x1015fa2c <mono_class_init+300>:       lwz     r3,168(r31)
0x1015fa30 <mono_class_init+304>:       cmpwi   cr7,r3,0
0x1015fa34 <mono_class_init+308>:       beq-    cr7,0x1015faf0
<mono_class_init+496>

0x1015fa38 <mono_class_init+312>:       lwz     r0,12(r3) <--- PC
0x1015fa3c <mono_class_init+316>:       cmpwi   cr7,r0,0
0x1015fa40 <mono_class_init+320>:       blt-    cr7,0x1015faf0
<mono_class_init+496>
0x1015fa44 <mono_class_init+324>:       lwz     r9,32(r10)
0x1015fa48 <mono_class_init+328>:       lwz     r30,0(r3)
0x1015fa4c <mono_class_init+332>:       addi    r9,r9,1
0x1015fa50 <mono_class_init+336>:       mr      r3,r30
0x1015fa54 <mono_class_init+340>:       stw     r9,32(r10)
0x1015fa58 <mono_class_init+344>:       nop
0x1015fa5c <mono_class_init+348>:       nop
0x1015fa60 <mono_class_init+352>:       nop
0x1015fa64 <mono_class_init+356>:       lwz     r0,108(r30)
0x1015fa68 <mono_class_init+360>:       lwz     r9,112(r30)
0x1015fa6c <mono_class_init+364>:       lwz     r11,100(r30)
0x1015fa70 <mono_class_init+368>:       lwz     r10,104(r30)
0x1015fa74 <mono_class_init+372>:       stw     r0,108(r31)
0x1015fa78 <mono_class_init+376>:       stw     r9,112(r31)
0x1015fa7c <mono_class_init+380>:       stw     r11,100(r31)
0x1015fa80 <mono_class_init+384>:       stw     r10,104(r31)
0x1015fa84 <mono_class_init+388>:       bl      0x1015f900 <mono_class_init>
0x1015fa88 <mono_class_init+392>:       mr      r3,r30
0x1015fa8c <mono_class_init+396>:       bl      0x10163ad0
<mono_class_setup_methods>
0x1015fa90 <mono_class_init+400>:       lwz     r0,96(r31)
---Type <return> to continue, or q <return> to quit---q

info registers
r0             0x1      1
r1             0xffc74150       4291248464
r2             0xf7fbd690       4160476816
r3             0xffffffff       4294967295
r4             0x10381e48       272113224
r5             0x0      0
r6             0x102f5a30       271538736
r7             0x10390720       272172832
r8             0xf7fb6210       4160446992
r9             0x102d0000       271384576
r10            0x102d5b28       271407912
r11            0x1bd    445
r12            0x48022444       1208099908
r13            0x102dba98       271432344
r14            0xffc742bc       4291248828
r15            0x0      0
r16            0x10390720       272172832
r17            0xffffff 16777215
r18            0xffc742c0       4291248832
r19            0x1039b458       272217176
r20            0x0      0
r21            0x0      0
r22            0x1039b2d8       272216792
r23            0x1      1
r24            0x1039b728       272217896
r25            0x10390720       272172832
r26            0x1038fc68       272170088
r27            0x10390900       272173312
r28            0x10     16
r29            0x0      0
r30            0xffc74238       4291248696
r31            0x10381e48       272113224
pc             0x1015fa38       269875768
cr             0x28022448       671229000
lr             0x1015fa04       269875716
ctr            0xfe37488        266564744
xer            0x0      0
(gdb) 


-- 
Configure bugmail: https://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