make test under lang/perl5.14 causes panic: blockable sleep
lock (sleep mutex) process lock @ /usr/src/sys/ia64/ia64/trap.c:562
Anton Shterenlikht
mexas at bristol.ac.uk
Tue Aug 16 08:13:36 UTC 2011
On Mon, Aug 15, 2011 at 06:34:51PM +0100, Anton Shterenlikht wrote:
> On Fri, Aug 12, 2011 at 05:45:55PM -0700, Marcel Moolenaar wrote:
> >
> > On Aug 12, 2011, at 7:19 AM, Anton Shterenlikht wrote:
> >
> > > On ia64 r221488
> >
> > Please update to at least r223700, as that was a major stability fix.
>
> UZI> uname -a
> FreeBSD mech-as221.men.bris.ac.uk 9.0-BETA1 FreeBSD 9.0-BETA1 #5 r224876: Mon Aug 15 12:06:05 BST 2011 root at mech-as221.men.bris.ac.uk:/usr/obj/usr/src/sys/UZI ia64
> UZI>
>
> make test run with no panic once (though lots of errors,
> I should probably let the perl team know), and
> panicked on the second run:
>
> # make test
>
> *skip many tests*
>
> op/64bitint.t ..................................................... ok
> op/alarm.t ........................................................ Write failed: Broken pipe
>
>
> isitmychild: rmatrix mismatch between process lock (index 8) and sigacts (index 166): w_rmatrix[8][166] == 1 but w_rmatrix[166][8] == 4
> KDB: stack backtrace:
> panic: blockable sleep lock (sleep mutex) process lock @ /usr/src/sys/ia64/ia64/trap.c:562
> cpuid = 1
> KDB: enter: panic
> [ thread pid 64967 tid 100400 ]
> Stopped at kdb_enter+0x92: [I2] addl r14=0xffffffffffe211b0,gp ;;
> db>
>
> db> show thread
> Thread 100400 at 0xe0000000121eb9e0:
> proc (pid 64967): 0xe0000000121de000
> name: perl
> stack: 0xa000000097206000-0xa00000009720dfff
> flags: 0x4 pflags: 0
> state: RUNNING (CPU 1)
> priority: 194
> container lock: sched lock 1 (0x9ffc000000a73780)
> db>
>
> db> show proc
> Process 64967 (perl) at 0xe0000000121de000:
> state: NORMAL
> uid: 0 gids: 0, 5
> parent: pid 63774 at 0xe00000001194c468
> ABI: FreeBSD ELF64
> arguments: ./perl
> threads: 1
> 100400 Run CPU 1 perl
> db>
>
> db> bt
> Tracing pid 64967 tid 100400 td 0xe0000000121eb9e0
> kdb_enter(0x9ffc00000095b7e0, 0x9ffc00000095b7e0, 0x9ffc000000375110, 0x793) at kdb_enter+0x92
> panic(0x9ffc000000964638, 0x9ffc000000959f18, 0x9ffc000000959ef8, 0x9ffc00000099caa8, 0x232, 0x9ffc00000099caa8) at panic+0x2e0
> witness_checkorder(0xe0000000121de0f8, 0x9, 0x9ffc00000099caa8, 0x232, 0x0) at witness_checkorder+0x1b0
> _mtx_lock_flags(0xe0000000121de0f8, 0x0, 0x9ffc00000099caa8, 0x232, 0x9ffc00000081d160, 0x716, 0xa00000009720d258) at _mtx_lock_flags+0x130
> trap(0x14, 0xa00000009720c400) at trap+0x940
> ivt_Data_TLB() at ivt_Data_TLB+0x1d0
> --- trapframe at 0xa00000009720c400
> uma_zalloc_arg(0xe0000040fed6fb00, 0x0, 0x1) at uma_zalloc_arg+0x121
> malloc(0x9, 0x9ffc000000a1f9f0, 0x1) at malloc+0x290
> unw_alloc(0x10c0, 0x9ffc0000007d8a10) at unw_alloc+0x210
> uwx_init(0x0, 0x9ffc000000820590, 0x28a, 0x9ffc000000c27330) at uwx_init+0x70
> unw_create_from_pcb(0xa00000009720c750, 0xa00000009720c7f0, 0x9ffc0000007fe680) at unw_create_from_pcb+0x20
> db_backtrace(0xe0000000121eb9e0, 0xa00000009720c7f0, 0xffffffffffffffff) at db_backtrace+0x20
> db_trace_self(0x9ffc000000101100) at db_trace_self+0x40
> db_trace_self_wrapper(0x9ffc0000003e3620) at db_trace_self_wrapper+0x70
> kdb_backtrace(0x9ffc000000a484c0, 0x9ffc00000040ef60, 0x410, 0x9ffc000000c27330) at kdb_backtrace+0xc0
> _isitmyx(0xa000000000202400, 0xa000000000207300, 0x1, 0x9ffc000000964de8) at _isitmyx+0x1c0
> isitmychild(0xa000000000202400, 0xa000000000207300, 0x9ffc000000412cb0, 0x999, 0x9ffc00000095b8e8) at isitmychild+0x30
> witness_checkorder(0xe000000011d75ca8, 0x9, 0x9ffc000000be9f90, 0x288, 0x0) at witness_checkorder+0x5e0
> _mtx_lock_flags(0xe000000011d75ca8, 0x0, 0x9ffc00000095b8e8, 0x288) at _mtx_lock_flags+0x130
> kern_sigaction(0xe0000000121de000, 0xe, 0x0, 0xa00000009720d380, 0x9ffc00000095b8e8) at kern_sigaction+0x90
> sigaction(0xe0000000121eb9e0, 0xa00000009720d4e8, 0x0, 0xa00000009720d380) at sigaction+0xb0
> syscallenter(0xe0000000121eb9e0, 0xa00000009720d3a0, 0xa00000009720d3a8) at syscallenter+0x4e0
> syscall(0xa00000009720d4c8, 0xe0000000121eb9e0, 0x7fffffffffffe1a0, 0x9ffc000000818520, 0x8, 0x120bc9930) at syscall+0x60
> epc_syscall_return() at epc_syscall_return
> db>
and again:
nic: blockable sleep lock (sleep mutex) process lock @ /usr/src/sys/ia64/ia64/trap.c:562
cpuid = 0
KDB: enter: panic
[ thread pid 9680 tid 100382 ]
Stopped at kdb_enter+0x92: [I2] addl r14=0xffffffffffe211b0,gp ;;
db>
db> show thread
Thread 100382 at 0xe0000000119c48a0:
proc (pid 9680): 0xe000000011e37608
name: perl
stack: 0xa000000097176000-0xa00000009717dfff
flags: 0x4 pflags: 0
state: RUNNING (CPU 0)
priority: 177
container lock: sched lock 0 (0x9ffc000000a72b00)
db>
db> show proc
Process 9680 (perl) at 0xe000000011e37608:
state: NORMAL
uid: 0 gids: 0, 5
parent: pid 9533 at 0xe000000011e36468
ABI: FreeBSD ELF64
arguments: ../../t/perl
threads: 1
100382 Run CPU 0 perl
db>
db> bt
Tracing pid 9680 tid 100382 td 0xe0000000119c48a0
kdb_enter(0x9ffc00000095b7e0, 0x9ffc00000095b7e0, 0x9ffc000000375110, 0x793) at kdb_enter+0x92
panic(0x9ffc000000964638, 0x9ffc000000959f18, 0x9ffc000000959ef8, 0x9ffc00000099caa8, 0x232, 0x9ffc00000099caa8) at panic+0x2e0
witness_checkorder(0xe000000011e37700, 0x9, 0x9ffc00000099caa8, 0x232, 0x0) at witness_checkorder+0x1b0
_mtx_lock_flags(0xe000000011e37700, 0x0, 0x9ffc00000099caa8, 0x232, 0x9ffc00000081d160, 0x716, 0x120fa5660) at _mtx_lock_flags+0x130
trap(0x14, 0xa00000009717d000) at trap+0x940
ivt_Data_TLB() at ivt_Data_TLB+0x1d0
--- trapframe at 0xa00000009717d000
sleepq_add(0x9ffc000000a48388, 0x0, 0x9ffc00000095d0f8, 0x100, 0x0) at sleepq_add+0x530
_sleep(0x9ffc000000a48388, 0x0, 0x9ffc000000a5aa98, 0x9ffc00000095d0f8, 0x2) at _sleep+0x580
kern_nanosleep(0xe0000000119c48a0, 0xa00000009717d398, 0xa00000009717d380) at kern_nanosleep+0x220
nanosleep(0xe0000000119c48a0, 0xa00000009717d4e8, 0x0, 0x9ffc000000400cf0) at nanosleep+0xb0
syscallenter(0xe0000000119c48a0, 0xa00000009717d3a0, 0xa00000009717d3a8) at syscallenter+0x4e0
syscall(0xa00000009717d4c8, 0xe0000000119c48a0, 0x9ffc00000099caa8, 0x9ffc000000818520, 0x8, 0x0) at syscall+0x60
epc_syscall_return() at epc_syscall_return
db>
Unofortunately, it's not exactly reproducible,
i.e. the panic happens at different test each
time.
Do let me know if there anything else I can
do to give you more useful information.
--
Anton Shterenlikht
Room 2.6, Queen's Building
Mech Eng Dept
Bristol University
University Walk, Bristol BS8 1TR, UK
Tel: +44 (0)117 331 5944
Fax: +44 (0)117 929 4423
More information about the freebsd-current
mailing list