sgen debugging

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

sgen debugging

Neale Ferguson
+ADw-html+AD4- +ADw-head+AD4- +ADw-/head+AD4- +ADw-body style+AD0AIg-word-wrap: break-word+ADs- -webkit-nbsp-mode: space+ADs- -webkit-line-break: after-white-space+ADsAIgA+- +ADw-div style+AD0AIg-color: rgb(0, 0, 0)+ADs- font-family: Calibri, sans-serif+ADs- font-size: 14px+ADsAIgA+- Running a test in mono/tests I get the following:+ADw-/div+AD4- +ADw-div style+AD0AIg-color: rgb(0, 0, 0)+ADs- font-family: Calibri, sans-serif+ADs- font-size: 14px+ADsAIgA+- +ADw-br+AD4- +ADw-/div+AD4- +ADw-div style+AD0AIg-color: rgb(0, 0, 0)+ADs- font-family: Calibri, sans-serif+ADs- font-size: 14px+ADsAIgA+- +ADw-p style+AD0AIg-margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAj-0+ACY-nbsp+ADs- 0x00000000802b7dc0 in par+AF8-copy+AF8-object+AF8-no+AF8-checks (objsize+AD0-0, obj+AD0-0x804ed290, vt+AD0-0x804ed290,+ACY-nbsp+ADsAPA-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAm-nbsp+ADs- +ACY-nbsp+ADs- destination+AD0-0x3fffab5c130 +ACY-quot+ADsAJg-quot+ADs-) at sgen-copy-object.h:53+ADw-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAj-1+ACY-nbsp+ADs- copy+AF8-object+AF8-no+AF8-checks (obj+AD0-obj+AEA-entry+AD0-0x804ed290, queue+AD0-queue+AEA-entry+AD0-0x3ffffffec48) at sgen-copy-object.h:80+ADw-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAj-2+ACY-nbsp+ADs- 0x00000000802c31cc in major+AF8-copy+AF8-or+AF8-mark+AF8-object+AF8-with+AF8-evacuation (queue+AD0-0x3ffffffec48, obj+AD0-0x804ed290,+ACY-nbsp+ADsAPA-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAm-nbsp+ADs- +ACY-nbsp+ADs- ptr+AD0-0x804ed290) at sgen-marksweep-drain-gray-stack.h:84+ADw-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAj-3+ACY-nbsp+ADs- major+AF8-copy+AF8-or+AF8-mark+AF8-object+AF8-canonical (ptr+AD0-0x804ed290, queue+AD0-0x3ffffffec48) at sgen-marksweep.c:1358+ADw-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAj-4+ACY-nbsp+ADs- 0x00000000802212c0 in mark+AF8-slots (addr+AD0-0x804ed290, bitmaps+AD0-0x8044c600 +ACY-lt+ADs-thread+AF8-reference+AF8-bitmaps+ACY-gt+ADs-,+ACY-nbsp+ADsAPA-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAm-nbsp+ADs- +ACY-nbsp+ADs- mark+AF8-func+AD0-0x802a42dc +ACY-lt+ADs-single+AF8-arg+AF8-user+AF8-copy+AF8-or+AF8-mark+ACY-gt+ADs-, gc+AF8-data+AD0-0x3ffffffe7a8) at threads.c:4013+ADw-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAj-5+ACY-nbsp+ADs- 0x00000000802a4eae in precisely+AF8-scan+AF8-objects+AF8-from (ctx+AD0-..., desc+AD0AJg-lt+ADs-optimized out+ACY-gt+ADs-, end+AF8-root+AD0-0x804ed690,+ACY-nbsp+ADsAPA-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAm-nbsp+ADs- +ACY-nbsp+ADs- start+AF8-root+AD0-0x804ed290, n+AF8-start+AD0AJg-lt+ADs-optimized out+ACY-gt+ADs-, n+AF8-end+AD0AJg-lt+ADs-optimized out+ACY-gt+ADs-) at sgen-gc.c:935+ADw-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAj-6+ACY-nbsp+ADs- scan+AF8-from+AF8-registered+AF8-roots (ctx+AD0-..., root+AF8-type+AD0AJg-lt+ADs-optimized out+ACY-gt+ADs-, addr+AF8-start+AD0AJg-lt+ADs-optimized out+ACY-gt+ADs-,+ACY-nbsp+ADsAPA-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAm-nbsp+ADs- +ACY-nbsp+ADs- addr+AF8-end+AD0AJg-lt+ADs-optimized out+ACY-gt+ADs-) at sgen-gc.c:1256+ADw-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAj-7+ACY-nbsp+ADs- job+AF8-scan+AF8-from+AF8-registered+AF8-roots (worker+AF8-data+AF8-untyped+AD0AJg-lt+ADs-optimized out+ACY-gt+ADs-, job+AD0AJg-lt+ADs-optimized out+ACY-gt+ADs-) at sgen-gc.c:1400+ADw-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAj-8+ACY-nbsp+ADs- 0x00000000802e83c0 in sgen+AF8-workers+AF8-enqueue+AF8-job (generation+AD0AJg-lt+ADs-optimized out+ACY-gt+ADs-, job+AD0-0x3fffd07f008,+ACY-nbsp+ADsAPA-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAm-nbsp+ADs- +ACY-nbsp+ADs- enqueue+AD0AJg-lt+ADs-optimized out+ACY-gt+ADs-) at sgen-workers.c:181+ADw-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAj-9+ACY-nbsp+ADs- 0x00000000802a4386 in enqueue+AF8-scan+AF8-from+AF8-roots+AF8-jobs (gc+AF8-thread+AF8-gray+AF8-queue+AD0-0x3ffffffec48, heap+AF8-start+AD0-0x0,+ACY-nbsp+ADsAPA-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAm-nbsp+ADs- +ACY-nbsp+ADs- heap+AF8-end+AD0-0xffffffffffffffff +ACY-lt+ADs-Address 0xffffffffffffffff out of bounds+ACY-gt+ADs-,+ACY-nbsp+ADsAPA-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAm-nbsp+ADs- +ACY-nbsp+ADs- ops+AD0-0x8049d558 +ACY-lt+ADs-major+AF8-collector++54AJg-gt+ADs-, enqueue+AD0-0) at sgen-gc.c:1640+ADw-/span+AD4APA-/p+AD4- +ADw-/div+AD4- +ADw-div style+AD0AIg-color: rgb(0, 0, 0)+ADsAIgA+ADw-br+AD4- +ADw-/div+AD4- +ADw-div style+AD0AIg-color: rgb(0, 0, 0)+ADsAIgA+-Gdb shows the SEGV here:+ADw-/div+AD4- +ADw-div style+AD0AIg-color: rgb(0, 0, 0)+ADsAIgA+ADw-br+AD4- +ADw-/div+AD4- +ADw-div+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPg-Program received signal SIGSEGV, Segmentation fault.+ADw-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPg-0x00000000802b7dc0 in par+AF8-copy+AF8-object+AF8-no+AF8-checks (objsize+AD0-0, obj+AD0-0x804ed290, vt+AD0-0x804ed290,+ACY-nbsp+ADsAPA-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAm-nbsp+ADs- +ACY-nbsp+ADs- destination+AD0-0x3fffab5c130 +ACY-quot+ADsAJg-quot+ADs-) at sgen-copy-object.h:53+ADw-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPg-53+ADw-span class+AD0AIg-Apple-tab-span+ACI- style+AD0AIg-white-space:pre+ACIAPg- +ADw-/span+AD4-memcpy ((char+ACo-)destination sizeof (mword), (char+ACo-)obj sizeof (mword), objsize - sizeof (mword))+ADsAPA-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPg-(gdb) up+ADw-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAj-1+ACY-nbsp+ADs- copy+AF8-object+AF8-no+AF8-checks (obj+AD0-obj+AEA-entry+AD0-0x804ed290, queue+AD0-queue+AEA-entry+AD0-0x3ffffffec48) at sgen-copy-object.h:80+ADw-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPg-80+ADw-span class+AD0AIg-Apple-tab-span+ACI- style+AD0AIg-white-space:pre+ACIAPg- +ADw-/span+AD4-par+AF8-copy+AF8-object+AF8-no+AF8-checks ((char +ACo-)destination, vt, obj, objsize)+ADsAPA-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPg-(gdb) list 65+ADw-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPg-65+ADw-span class+AD0AIg-Apple-tab-span+ACI- style+AD0AIg-white-space:pre+ACIAPg- +ADw-/span+AD4-static MONO+AF8-NEVER+AF8-INLINE GCObject +ACoAPA-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPg-66+ADw-span class+AD0AIg-Apple-tab-span+ACI- style+AD0AIg-white-space:pre+ACIAPg- +ADw-/span+AD4-copy+AF8-object+AF8-no+AF8-checks (GCObject +ACo-obj, SgenGrayQueue +ACo-queue)+ADw-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPg-67+ADw-span class+AD0AIg-Apple-tab-span+ACI- style+AD0AIg-white-space:pre+ACIAPg- +ADw-/span+AD4AewA8-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPg-68+ADw-span class+AD0AIg-Apple-tab-span+ACI- style+AD0AIg-white-space:pre+ACIAPg- +ADw-/span+AD4-GCVTable vt +AD0- SGEN+AF8-LOAD+AF8-VTABLE+AF8-UNCHECKED (obj)+ADsAPA-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPg-69+ADw-span class+AD0AIg-Apple-tab-span+ACI- style+AD0AIg-white-space:pre+ACIAPg- +ADw-/span+AD4-gboolean has+AF8-references +AD0- SGEN+AF8-VTABLE+AF8-HAS+AF8-REFERENCES (vt)+ADsAPA-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPg-70+ADw-span class+AD0AIg-Apple-tab-span+ACI- style+AD0AIg-white-space:pre+ACIAPg- +ADw-/span+AD4-mword objsize +AD0- SGEN+AF8-ALIGN+AF8-UP (sgen+AF8-client+AF8-par+AF8-object+AF8-get+AF8-size (vt, obj))+ADsAPA-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPg-71+ADw-span class+AD0AIg-Apple-tab-span+ACI- style+AD0AIg-white-space:pre+ACIAPg- +ADw-/span+AD4-void +ACo-destination +AD0- COLLECTOR+AF8-SERIAL+AF8-ALLOC+AF8-FOR+AF8-PROMOTION (vt, obj, objsize, has+AF8-references)+ADsAPA-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPg-72+ADw-span class+AD0AIg-Apple-tab-span+ACI- style+AD0AIg-white-space:pre+ACIAPg- +ADw-/span+AD4APA-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPg-73+ADw-span class+AD0AIg-Apple-tab-span+ACI- style+AD0AIg-white-space:pre+ACIAPg- +ADw-/span+AD4-if (G+AF8-UNLIKELY (+ACE-destination)) +AHsAPA-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPg-74+ADw-span class+AD0AIg-Apple-tab-span+ACI- style+AD0AIg-white-space:pre+ACIAPg- +ADw-/span+AD4-/+ACo- FIXME: Is this path ever tested? +ACo-/+ADw-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPg-(gdb) p vt+ADw-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAk-5 +AD0- (MonoVTable +ACo-) 0x804ed290+ADw-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPg-(gdb) p obj+ADw-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAk-6 +AD0- (GCObject +ACo-) 0x804ed290+ADw-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPg-(gdb) p +ACo-vt+ADw-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAk-7 +AD0- +AHs-klass +AD0- 0x804ed290, gc+AF8-descr +AD0- 0, domain +AD0- 0x0, type +AD0- 0x0, interface+AF8-bitmap +AD0- 0x0, max+AF8-interface+AF8-id +AD0- 0,+ACY-nbsp+ADsAPA-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAm-nbsp+ADs- rank +AD0- 0 '+AFw-000', initialized +AD0- 0 '+AFw-000', remote +AD0- 0, init+AF8-failed +AD0- 0, has+AF8-static+AF8-fields +AD0- 0, gc+AF8-bits +AD0- 0,+ACY-nbsp+ADsAPA-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAm-nbsp+ADs- imt+AF8-collisions+AF8-bitmap +AD0- 0, runtime+AF8-generic+AF8-context +AD0- 0x0, vtable +AD0- 0x804ed2d0+AH0APA-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPg-(gdb) p +ACo-vt-+ACY-gt+ADs-klass+ADw-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAk-8 +AD0- +AHs-element+AF8-class +AD0- 0x804ed290, cast+AF8-class +AD0- 0x0, supertypes +AD0- 0x0, idepth +AD0- 0, rank +AD0- 0 '+AFw-000',+ACY-nbsp+ADsAPA-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAm-nbsp+ADs- instance+AF8-size +AD0- 0, inited +AD0- 0, size+AF8-inited +AD0- 0, valuetype +AD0- 0, enumtype +AD0- 0, blittable +AD0- 0, unicode +AD0- 0,+ACY-nbsp+ADsAPA-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAm-nbsp+ADs- wastypebuilder +AD0- 0, is+AF8-array+AF8-special+AF8-interface +AD0- 0, min+AF8-align +AD0- 0 '+AFw-000', packing+AF8-size +AD0- 0, ghcimpl +AD0- 0,+ACY-nbsp+ADsAPA-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAm-nbsp+ADs- has+AF8-finalize +AD0- 0, marshalbyref +AD0- 0, contextbound +AD0- 0, delegate +AD0- 0, gc+AF8-descr+AF8-inited +AD0- 0, has+AF8-cctor +AD0- 0,+ACY-nbsp+ADsAPA-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAm-nbsp+ADs- has+AF8-references +AD0- 0, has+AF8-static+AF8-refs +AD0- 0, no+AF8-special+AF8-static+AF8-fields +AD0- 0, is+AF8-com+AF8-object +AD0- 0,+ACY-nbsp+ADsAPA-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAm-nbsp+ADs- nested+AF8-classes+AF8-inited +AD0- 0, class+AF8-kind +AD0- 0, interfaces+AF8-inited +AD0- 0, simd+AF8-type +AD0- 0, has+AF8-finalize+AF8-inited +AD0- 0,+ACY-nbsp+ADsAPA-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAm-nbsp+ADs- fields+AF8-inited +AD0- 0, has+AF8-failure +AD0- 0, parent +AD0- 0x0, nested+AF8-in +AD0- 0x0, image +AD0- 0x0, name +AD0- 0x0, name+AF8-space +AD0- 0x0,+ACY-nbsp+ADsAPA-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAm-nbsp+ADs- type+AF8-token +AD0- 0, vtable+AF8-size +AD0- 0, interface+AF8-count +AD0- 0, interface+AF8-id +AD0- 0, max+AF8-interface+AF8-id +AD0- 0,+ACY-nbsp+ADsAPA-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAm-nbsp+ADs- interface+AF8-offsets+AF8-count +AD0- 0, interfaces+AF8-packed +AD0- 0x0, interface+AF8-offsets+AF8-packed +AD0- 0x0,+ACY-nbsp+ADsAPA-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAm-nbsp+ADs- interface+AF8-bitmap +AD0- 0x3fffafd8130 +ACY-quot+ADsAJg-quot+ADs-, interfaces +AD0- 0x0, sizes +AD0- +AHs-class+AF8-size +AD0- 1023, element+AF8-size +AD0- 1023,+ACY-nbsp+ADsAPA-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAm-nbsp+ADs- +ACY-nbsp+ADs- generic+AF8-param+AF8-token +AD0- 1023+AH0-, fields +AD0- 0x0, methods +AD0- 0x3fffafd8270, this+AF8-arg +AD0- +AHs-data +AD0- +AHs-klass +AD0- 0x0,+ACY-nbsp+ADsAPA-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAm-nbsp+ADs- +ACY-nbsp+ADs- +ACY-nbsp+ADs- type +AD0- 0x0, array +AD0- 0x0, method +AD0- 0x0, generic+AF8-param +AD0- 0x0, generic+AF8-class +AD0- 0x0+AH0-, attrs +AD0- 0,+ACY-nbsp+ADsAPA-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAm-nbsp+ADs- +ACY-nbsp+ADs- type +AD0- MONO+AF8-TYPE+AF8-END, num+AF8-mods +AD0- 0, byref +AD0- 0, pinned +AD0- 0, modifiers +AD0- 0x804ed33c+AH0-, byval+AF8-arg +AD0- +AHs-data +AD0- +AHsAPA-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAm-nbsp+ADs- +ACY-nbsp+ADs- +ACY-nbsp+ADs- klass +AD0- 0x0, type +AD0- 0x0, array +AD0- 0x0, method +AD0- 0x0, generic+AF8-param +AD0- 0x0, generic+AF8-class +AD0- 0x0+AH0-, attrs +AD0- 0,+ACY-nbsp+ADsAPA-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAm-nbsp+ADs- +ACY-nbsp+ADs- type +AD0- MONO+AF8-TYPE+AF8-END, num+AF8-mods +AD0- 0, byref +AD0- 0, pinned +AD0- 0, modifiers +AD0- 0x804ed34c+AH0-, gc+AF8-descr +AD0- 0,+ACY-nbsp+ADsAPA-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADs- background-color: rgb(255, 254, 229)+ADsAIgA+- +ADw-span style+AD0AIg-font-variant-ligatures: no-common-ligatures+ACIAPgAm-nbsp+ADs- runtime+AF8-info +AD0- 0x0, vtable +AD0- 0x0, infrequent+AF8-data +AD0- +AHs-head +AD0- 0x0+AH0AfQA8-/span+AD4APA-/p+AD4- +ADw-p style+AD0AIg-color: rgb(0, 0, 0)+ADs- margin: 0px+ADs- font-size: 18px+ADs- line-height: normal+ADs- font-family: 'Courier New'+ADsAIgA+- +ADw-br+AD4- +ADw-/p+AD4- +ADw-p style+AD0AIg-margin: 0px+ADs- line-height: normal+ADsAIgA+ADw-font face+AD0AIg-Calibri+ACIAPg-I+ADw-/font+AD4APA-font face+AD0AIg-Calibri+ACI- style+AD0AIg-color: rgb(0, 0, 0)+ADsAIgA+ACY-nbsp+ADs-am wondering what MONO+AF8-TYPE+AF8-END is and whether it should be looked at by gc or what might have happened to get me to this point?+ADw-/font+AD4APA-/p+AD4- +ADw-p style+AD0AIg-margin: 0px+ADs- line-height: normal+ADsAIgA+ADw-font face+AD0AIg-Calibri+ACI- style+AD0AIg-color: rgb(0, 0, 0)+ADsAIgA+ADw-br+AD4- +ADw-/font+AD4APA-/p+AD4- +ADw-p style+AD0AIg-margin: 0px+ADs- line-height: normal+ADsAIgA+ADw-font face+AD0AIg-Calibri+ACI- style+AD0AIg-color: rgb(0, 0, 0)+ADsAIgA+-Neale+ADw-/font+AD4APA-/p+AD4- +ADw-/div+AD4- +ADw-/body+AD4- +ADw-/html+AD4-
_______________________________________________
Mono-devel-list mailing list
[hidden email]
http://lists.dot.net/mailman/listinfo/mono-devel-list
Reply | Threaded
Open this post in threaded view
|

sgen debugging

Neale Ferguson

Apologies for the last email. I thought I'd fixed that problem but Outlook continues to screw me. Using a different client now - 


Running a test in mono/tests I get the following:

#0  0x00000000802b7dc0 in par_copy_object_no_checks (objsize=0, obj=0x804ed290, vt=0x804ed290, 

    destination=0x3fffab5c130 "") at sgen-copy-object.h:53

#1  copy_object_no_checks (obj=obj@entry=0x804ed290, queue=queue@entry=0x3ffffffec48) at sgen-copy-object.h:80

#2  0x00000000802c31cc in major_copy_or_mark_object_with_evacuation (queue=0x3ffffffec48, obj=0x804ed290, 

    ptr=0x804ed290) at sgen-marksweep-drain-gray-stack.h:84

#3  major_copy_or_mark_object_canonical (ptr=0x804ed290, queue=0x3ffffffec48) at sgen-marksweep.c:1358

#4  0x00000000802212c0 in mark_slots (addr=0x804ed290, bitmaps=0x8044c600 <thread_reference_bitmaps>, 

    mark_func=0x802a42dc <single_arg_user_copy_or_mark>, gc_data=0x3ffffffe7a8) at threads.c:4013

#5  0x00000000802a4eae in precisely_scan_objects_from (ctx=..., desc=<optimized out>, end_root=0x804ed690, 

    start_root=0x804ed290, n_start=<optimized out>, n_end=<optimized out>) at sgen-gc.c:935

#6  scan_from_registered_roots (ctx=..., root_type=<optimized out>, addr_start=<optimized out>, 

    addr_end=<optimized out>) at sgen-gc.c:1256

#7  job_scan_from_registered_roots (worker_data_untyped=<optimized out>, job=<optimized out>) at sgen-gc.c:1400

#8  0x00000000802e83c0 in sgen_workers_enqueue_job (generation=<optimized out>, job=0x3fffd07f008, 

    enqueue=<optimized out>) at sgen-workers.c:181

#9  0x00000000802a4386 in enqueue_scan_from_roots_jobs (gc_thread_gray_queue=0x3ffffffec48, heap_start=0x0, 

    heap_end=0xffffffffffffffff <Address 0xffffffffffffffff out of bounds>, 

    ops=0x8049d558 <major_collectorﮞ>, enqueue=0) at sgen-gc.c:1640


Gdb shows the SEGV here:

Program received signal SIGSEGV, Segmentation fault.

0x00000000802b7dc0 in par_copy_object_no_checks (objsize=0, obj=0x804ed290, vt=0x804ed290, 

    destination=0x3fffab5c130 "") at sgen-copy-object.h:53

53 memcpy ((char*)destination sizeof (mword), (char*)obj sizeof (mword), objsize - sizeof (mword));

(gdb) up

#1  copy_object_no_checks (obj=obj@entry=0x804ed290, queue=queue@entry=0x3ffffffec48) at sgen-copy-object.h:80

80 par_copy_object_no_checks ((char *)destination, vt, obj, objsize);

(gdb) list 65

65 static MONO_NEVER_INLINE GCObject *

66 copy_object_no_checks (GCObject *obj, SgenGrayQueue *queue)

67 {

68 GCVTable vt = SGEN_LOAD_VTABLE_UNCHECKED (obj);

69 gboolean has_references = SGEN_VTABLE_HAS_REFERENCES (vt);

70 mword objsize = SGEN_ALIGN_UP (sgen_client_par_object_get_size (vt, obj));

71 void *destination = COLLECTOR_SERIAL_ALLOC_FOR_PROMOTION (vt, obj, objsize, has_references);

72

73 if (G_UNLIKELY (!destination)) {

74 /* FIXME: Is this path ever tested? */

(gdb) p vt

$5 = (MonoVTable *) 0x804ed290

(gdb) p obj

$6 = (GCObject *) 0x804ed290

(gdb) p *vt

$7 = {klass = 0x804ed290, gc_descr = 0, domain = 0x0, type = 0x0, interface_bitmap = 0x0, max_interface_id = 0, 

  rank = 0 '\000', initialized = 0 '\000', remote = 0, init_failed = 0, has_static_fields = 0, gc_bits = 0, 

  imt_collisions_bitmap = 0, runtime_generic_context = 0x0, vtable = 0x804ed2d0}

(gdb) p *vt->klass

$8 = {element_class = 0x804ed290, cast_class = 0x0, supertypes = 0x0, idepth = 0, rank = 0 '\000', 

  instance_size = 0, inited = 0, size_inited = 0, valuetype = 0, enumtype = 0, blittable = 0, unicode = 0, 

  wastypebuilder = 0, is_array_special_interface = 0, min_align = 0 '\000', packing_size = 0, ghcimpl = 0, 

  has_finalize = 0, marshalbyref = 0, contextbound = 0, delegate = 0, gc_descr_inited = 0, has_cctor = 0, 

  has_references = 0, has_static_refs = 0, no_special_static_fields = 0, is_com_object = 0, 

  nested_classes_inited = 0, class_kind = 0, interfaces_inited = 0, simd_type = 0, has_finalize_inited = 0, 

  fields_inited = 0, has_failure = 0, parent = 0x0, nested_in = 0x0, image = 0x0, name = 0x0, name_space = 0x0, 

  type_token = 0, vtable_size = 0, interface_count = 0, interface_id = 0, max_interface_id = 0, 

  interface_offsets_count = 0, interfaces_packed = 0x0, interface_offsets_packed = 0x0, 

  interface_bitmap = 0x3fffafd8130 "", interfaces = 0x0, sizes = {class_size = 1023, element_size = 1023, 

    generic_param_token = 1023}, fields = 0x0, methods = 0x3fffafd8270, this_arg = {data = {klass = 0x0, 

      type = 0x0, array = 0x0, method = 0x0, generic_param = 0x0, generic_class = 0x0}, attrs = 0, 

    type = MONO_TYPE_END, num_mods = 0, byref = 0, pinned = 0, modifiers = 0x804ed33c}, byval_arg = {data = {

      klass = 0x0, type = 0x0, array = 0x0, method = 0x0, generic_param = 0x0, generic_class = 0x0}, attrs = 0, 

    type = MONO_TYPE_END, num_mods = 0, byref = 0, pinned = 0, modifiers = 0x804ed34c}, gc_descr = 0, 

  runtime_info = 0x0, vtable = 0x0, infrequent_data = {head = 0x0}}


I am wondering what MONO_TYPE_END is and whether it should be looked at by gc or what might have happened to get me to this point?


Neale



_______________________________________________
Mono-devel-list mailing list
[hidden email]
http://lists.dot.net/mailman/listinfo/mono-devel-list
Reply | Threaded
Open this post in threaded view
|

Re: sgen debugging

Alexander Köplinger via Mono-devel-list
In reply to this post by Neale Ferguson

The vtable that you are printing is not a vtable (MONO_TYPE_END is 0). You can see that in major_copy_or_mark_object_with_evacuation ptr and obj are equal which doesn’t make any sense. Looks like something corrupted the static_data that the gc scans. Maybe some bug around mono_alloc_special_static_data or the gc suspended the thread somewhere in an intermediate state.

 

Vlad

 

From: Mono-devel-list <[hidden email]> on behalf of Neale Ferguson <[hidden email]>
Date: Wednesday, 16 August 2017 at 23:19
To: Mono-Devel <[hidden email]>
Subject: [Mono-dev] sgen debugging

 

Apologies for the last email. I thought I'd fixed that problem but Outlook continues to screw me. Using a different client now - 

 

Running a test in mono/tests I get the following:

 

#0  0x00000000802b7dc0 in par_copy_object_no_checks (objsize=0, obj=0x804ed290, vt=0x804ed290, 

    destination=0x3fffab5c130 "") at sgen-copy-object.h:53

#1  copy_object_no_checks (obj=obj@entry=0x804ed290, queue=queue@entry=0x3ffffffec48) at sgen-copy-object.h:80

#2  0x00000000802c31cc in major_copy_or_mark_object_with_evacuation (queue=0x3ffffffec48, obj=0x804ed290, 

    ptr=0x804ed290) at sgen-marksweep-drain-gray-stack.h:84

#3  major_copy_or_mark_object_canonical (ptr=0x804ed290, queue=0x3ffffffec48) at sgen-marksweep.c:1358

#4  0x00000000802212c0 in mark_slots (addr=0x804ed290, bitmaps=0x8044c600 <thread_reference_bitmaps>, 

    mark_func=0x802a42dc <single_arg_user_copy_or_mark>, gc_data=0x3ffffffe7a8) at threads.c:4013

#5  0x00000000802a4eae in precisely_scan_objects_from (ctx=..., desc=<optimized out>, end_root=0x804ed690, 

    start_root=0x804ed290, n_start=<optimized out>, n_end=<optimized out>) at sgen-gc.c:935

#6  scan_from_registered_roots (ctx=..., root_type=<optimized out>, addr_start=<optimized out>, 

    addr_end=<optimized out>) at sgen-gc.c:1256

#7  job_scan_from_registered_roots (worker_data_untyped=<optimized out>, job=<optimized out>) at sgen-gc.c:1400

#8  0x00000000802e83c0 in sgen_workers_enqueue_job (generation=<optimized out>, job=0x3fffd07f008, 

    enqueue=<optimized out>) at sgen-workers.c:181

#9  0x00000000802a4386 in enqueue_scan_from_roots_jobs (gc_thread_gray_queue=0x3ffffffec48, heap_start=0x0, 

    heap_end=0xffffffffffffffff <Address 0xffffffffffffffff out of bounds>, 

    ops=0x8049d558 <major_collectorﮞ>, enqueue=0) at sgen-gc.c:1640

 

Gdb shows the SEGV here:

 

Program received signal SIGSEGV, Segmentation fault.

0x00000000802b7dc0 in par_copy_object_no_checks (objsize=0, obj=0x804ed290, vt=0x804ed290, 

    destination=0x3fffab5c130 "") at sgen-copy-object.h:53

53

memcpy ((char*)destination sizeof (mword), (char*)obj sizeof (mword), objsize - sizeof (mword));

(gdb) up

#1  copy_object_no_checks (obj=obj@entry=0x804ed290, queue=queue@entry=0x3ffffffec48) at sgen-copy-object.h:80

80

par_copy_object_no_checks ((char *)destination, vt, obj, objsize);

(gdb) list 65

65

static MONO_NEVER_INLINE GCObject *

66

copy_object_no_checks (GCObject *obj, SgenGrayQueue *queue)

67

{

68

GCVTable vt = SGEN_LOAD_VTABLE_UNCHECKED (obj);

69

gboolean has_references = SGEN_VTABLE_HAS_REFERENCES (vt);

70

mword objsize = SGEN_ALIGN_UP (sgen_client_par_object_get_size (vt, obj));

71

void *destination = COLLECTOR_SERIAL_ALLOC_FOR_PROMOTION (vt, obj, objsize, has_references);

72

73

if (G_UNLIKELY (!destination)) {

74

/* FIXME: Is this path ever tested? */

(gdb) p vt

$5 = (MonoVTable *) 0x804ed290

(gdb) p obj

$6 = (GCObject *) 0x804ed290

(gdb) p *vt

$7 = {klass = 0x804ed290, gc_descr = 0, domain = 0x0, type = 0x0, interface_bitmap = 0x0, max_interface_id = 0, 

  rank = 0 '\000', initialized = 0 '\000', remote = 0, init_failed = 0, has_static_fields = 0, gc_bits = 0, 

  imt_collisions_bitmap = 0, runtime_generic_context = 0x0, vtable = 0x804ed2d0}

(gdb) p *vt->klass

$8 = {element_class = 0x804ed290, cast_class = 0x0, supertypes = 0x0, idepth = 0, rank = 0 '\000', 

  instance_size = 0, inited = 0, size_inited = 0, valuetype = 0, enumtype = 0, blittable = 0, unicode = 0, 

  wastypebuilder = 0, is_array_special_interface = 0, min_align = 0 '\000', packing_size = 0, ghcimpl = 0, 

  has_finalize = 0, marshalbyref = 0, contextbound = 0, delegate = 0, gc_descr_inited = 0, has_cctor = 0, 

  has_references = 0, has_static_refs = 0, no_special_static_fields = 0, is_com_object = 0, 

  nested_classes_inited = 0, class_kind = 0, interfaces_inited = 0, simd_type = 0, has_finalize_inited = 0, 

  fields_inited = 0, has_failure = 0, parent = 0x0, nested_in = 0x0, image = 0x0, name = 0x0, name_space = 0x0, 

  type_token = 0, vtable_size = 0, interface_count = 0, interface_id = 0, max_interface_id = 0, 

  interface_offsets_count = 0, interfaces_packed = 0x0, interface_offsets_packed = 0x0, 

  interface_bitmap = 0x3fffafd8130 "", interfaces = 0x0, sizes = {class_size = 1023, element_size = 1023, 

    generic_param_token = 1023}, fields = 0x0, methods = 0x3fffafd8270, this_arg = {data = {klass = 0x0, 

      type = 0x0, array = 0x0, method = 0x0, generic_param = 0x0, generic_class = 0x0}, attrs = 0, 

    type = MONO_TYPE_END, num_mods = 0, byref = 0, pinned = 0, modifiers = 0x804ed33c}, byval_arg = {data = {

      klass = 0x0, type = 0x0, array = 0x0, method = 0x0, generic_param = 0x0, generic_class = 0x0}, attrs = 0, 

    type = MONO_TYPE_END, num_mods = 0, byref = 0, pinned = 0, modifiers = 0x804ed34c}, gc_descr = 0, 

  runtime_info = 0x0, vtable = 0x0, infrequent_data = {head = 0x0}}

 

I am wondering what MONO_TYPE_END is and whether it should be looked at by gc or what might have happened to get me to this point?

 

Neale

 


_______________________________________________
Mono-devel-list mailing list
[hidden email]
http://lists.dot.net/mailman/listinfo/mono-devel-list