Try disassembling the bit before the offending instruction until you find a properly aligned starting instruction. A good rule of thumb is that if you get bad instructions "(bad)", i/o instructions (e.g. "in 0xe6,%al"), large adress offsets and/or strange segment overrides (e.g. "imul $0xffffffd0,%ss:0x2900d4a4(%eax),%ebx"), and similar strange thinks, you're either disassembling malaligned code, or 'extrons' of data inserted into the code (recognized by strange code that is never reached because the surrounding code always jumping around it).
You could also try stepping up into the next stack frame (which belonged to mega_apply) and see if any of the local variable values there give any hint of what module/class/valuetype was involved.
/ Leif Stensson, Lysator
Previous text:
2002-10-08 18:23: Subject: more debug?
OK, EAX contains -1, but now I need to find out how such code can be located inside Pike binary.
(gdb) info all-reg eax 0xf7c68bde -137983010 ecx 0x40212128 1075913000 edx 0x8397428 137983016 ebx 0x8356054 137715796 esp 0xbffff8d8 0xbffff8d8 ebp 0xbffff8e8 0xbffff8e8 esi 0x2 2 edi 0xbffffa84 -1073743228 eip 0x83b6fe5 0x83b6fe5 eflags 0x10297 66199 cs 0x23 35 ss 0x2b 43 ds 0x2b 43 es 0x2b 43 fs 0x0 0 gs 0x7 7 st0 0 (raw 0x00000000000000000000) st1 0 (raw 0x00000000000000000000) st2 0 (raw 0x00000000000000000000) st3 0 (raw 0x00000000000000000000) st4 0 (raw 0x00000000000000000000) st5 0 (raw 0x00000000000000000000) st6 1 (raw 0x3fff8000000000000000) ---Type <return> to continue, or q <return> to quit--- st7 0 (raw 0x00000000000000000000) fctrl 0x37f 895 fstat 0x4000 16384 ftag 0xffff 65535 fiseg 0x23 35 fioff 0x80dada8 135114152 foseg 0x2b 43 fooff 0xbfffebb0 -1073747024 fop 0x55d 1373 xmm0 {f = {0x0, 0x0, 0x0, 0x0}} {f = {0, 0, 0, 0}} xmm1 {f = {0x0, 0x0, 0x0, 0x0}} {f = {0, 0, 0, 0}} xmm2 {f = {0x0, 0x0, 0x0, 0x0}} {f = {0, 0, 0, 0}} xmm3 {f = {0x0, 0x0, 0x0, 0x0}} {f = {0, 0, 0, 0}} xmm4 {f = {0x0, 0x0, 0x0, 0x0}} {f = {0, 0, 0, 0}} xmm5 {f = {0x0, 0x0, 0x0, 0x0}} {f = {0, 0, 0, 0}} xmm6 {f = {0x0, 0x0, 0x0, 0x0}} {f = {0, 0, 0, 0}} xmm7 {f = {0x0, 0x0, 0x0, 0x0}} {f = {0, 0, 0, 0}} mxcsr 0x0 0 orig_eax 0xffffffff -1 (gdb)
/ Honza (hop) Petrous