[BUG] __write_lock_failed() oops

From: William Lee Irwin III (wli@holomorphy.com)
Date: Thu Sep 05 2002 - 03:03:10 EST


After running 64 simultaneous tiobench 256's a few times,
I get the following oops, which I've been seeing intermittently
for a number of 2.5.x releases (since 2.5.x booted on NUMA-Q):

Program received signal SIGSEGV, Segmentation fault.
0xc0106693 in __write_lock_failed () at semaphore.c:176
176 semaphore.c: No such file or directory.
        in semaphore.c

for some reason, I'm unable to get a backtrace:

(gdb) bt
#0 0xc0106693 in __write_lock_failed () at semaphore.c:176
Reply contains invalid hex digit 36

This one's relatively painful to reproduce. My attempts to debug it
have more or less flopped thus far.

(gdb) disassemble __write_lock_failed
Dump of assembler code for function __write_lock_failed:
0xc0106684 <__write_lock_failed>: lock addl $0x1000000,(%eax)
0xc010668b <__write_lock_failed+7>: repz nop
0xc010668d <__write_lock_failed+9>: cmpl $0x1000000,(%eax)
0xc0106693 <__write_lock_failed+15>:
    jne 0xc010668b <__write_lock_failed+7>
0xc0106695 <__write_lock_failed+17>: lock subl $0x1000000,(%eax)
0xc010669c <__write_lock_failed+24>: jne 0xc0106684 <__write_lock_failed>
0xc01066a2 <__write_lock_failed+30>: ret
0xc01066a3 <__write_lock_failed+31>: nop
End of assembler dump.

(gdb) p/x $eax
$3 = 0xc0331ca0
(gdb) p/x *(unsigned long *)$eax
$4 = 0xffffff

Cheers,
Bill
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Sep 07 2002 - 22:00:24 EST