Closed nbriggs closed 2 years ago
Looking at the vgcore file it dropped
(gdb) disass 0x07812b80,+40 # start of handle_signal
Dump of assembler code from 0x7812b80 to 0x7812ba8:
0x07812b80: push %ebp
0x07812b81: mov %esp,%ebp
0x07812b83: push %ebx
0x07812b84: push %edi
0x07812b85: push %esi
0x07812b86: and $0xfffffff0,%esp
0x07812b89: sub $0x2e0,%esp
0x07812b8f: mov %ecx,%edi
0x07812b91: mov 0xc(%ebp),%ecx
0x07812b94: mov %gs:0x8,%esi
=> 0x07812b9b: mov (%ecx),%eax
0x07812b9d: or %eax,0x8(%edi)
0x07812ba0: mov 0x4(%ecx),%eax
0x07812ba3: or %eax,0xc(%edi)
0x07812ba6: mov 0x8(%ecx),%eax
End of assembler dump.
(gdb) info r
eax 0x763ea10 123988496
ecx 0x0 0
edx 0x1a 26
ebx 0x781ee2c 125955628
esp 0xfbbfdb00 0xfbbfdb00
ebp 0xfbbfddf0 0xfbbfddf0
esi 0x8000030 134217776
edi 0xfbbfde00 -71311872
eip 0x7812b9b 0x7812b9b
eflags 0x200084 [ PF SF ID ]
cs 0x33 51
ss 0x3b 59
ds 0x3b 59
es 0x0 0
fs 0x0 0
gs 0xb 11
fs_base <unavailable>
gs_base <unavailable>
(gdb)
Over 1 year for a 1 line code change. Hope it was worth the wait.
I'm not 100% sure this is a valgrind problem, but --
This fault doesn't happen if the program is run without valgrind. I recompiled libthr.so with debug info, and it seems to be failing in libthr's handle_signal (thr_sig.c:207) doing