ia64 -> panic: deadlkres: possible deadlock detected for 0xe00000001187d880, blocked for 1801437 ticks

Anton Shterenlikht mexas at bristol.ac.uk
Fri Apr 2 22:55:05 UTC 2010


Hi Marcel

I got this panic while trying to build some port
on -current (csup'ed on 1-APR-2010)

panic: deadlkres: possible deadlock detected for 0xe00000001187d880, blocked for 1801437 ticks

cpuid = 1
KDB: enter: panic
[ thread pid 0 tid 100046 ]
Stopped at      kdb_enter+0x92: [I2]    addl r14=0xffffffffffe1fbf0,gp ;;
db> 
db> bt
Tracing pid 0 tid 100046 td 0xe000000010d4f500
kdb_enter(0xe000000004853640, 0xe000000004853640, 0xe00000000439d170, 0x793) at kdb_enter+0x92
panic(0xe00000000484b490, 0xe00000000484b6d0, 0xe00000001187d880, 0x1b7cdd) at panic+0x2f0
deadlkres(0xa00000007ebca2d8, 0xe00000001187d880, 0xe00000000484b410, 0x1b7cdd) at deadlkres+0x470
fork_exit(0xe000000004893250, 0x0, 0xa0000000bd3db550) at fork_exit+0x110
enter_userland() at enter_userland
db> 

The panic followed a long freeze, of a sort that
I've seen a lot on ia64 in the last couple of weeks.
Do I get the panic (as opposed to a seemingly endless freeze)
because of a recently added

	options         DEADLKRES

in my kernel config?

Anyway, I think a deadlock would explain
the freezes I've had recently with "make installworld".
Or perhaps also the freeze I get when
installing from 9.0 snapshot CD.

Below is a fragment of the top(1) output somewhere
close to the panic:

last pid:  1458;  load averages:  0.00,  0.03,  0.06                       up 0+00:13:28  00:58:54
92 processes:  3 running, 73 sleeping, 16 waiting
CPU 0:  0.0% user,  0.0% nice,  0.1% system,  0.0% interrupt, 99.9% idle
CPU 1:  0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
Mem: 28M Active, 21M Inact, 160M Wired, 216K Cache, 92M Buf, 9830M Free
Swap: 32G Total, 32G Free

  PID    UID    THR PRI NICE   SIZE    RES STATE   C   TIME   WCPU COMMAND
   10      0      2 171 ki31     0K    64K RUN     0  25:21 200.00% idle
   11      0     16 -48    -     0K   512K WAIT    0   0:01  0.00% intr
 1452      0      1  47    0 15696K  4320K biowr   0   0:01  0.00% bsdtar
 1278   1001      1  44    0 12800K  4016K CPU0    0   0:00  0.00% top
    0      0     10 -16    0     0K   320K deadlk  0   0:00  0.00% kernel
    4      0      1  -8    -     0K    32K -       1   0:00  0.00% g_down
    3      0      1  -8    -     0K    32K -       1   0:00  0.00% g_up
    2      0      1  -8    -     0K    32K -       0   0:00  0.00% g_event
 1354      0      1  76    0  8392K  2296K wait    0   0:00  0.00% make
   12      0      1 -16    -     0K    32K -       1   0:00  0.00% yarrow


Not sure if relevant, but some disk operations
seem very slow, e.g. "rm -rf /usr/src" or
"rm -rf /usr/obj" take over 10 min to complete.
Accoding to du(1) there was only ~600M and ~1G data
respectively. gstat(8) shows disk writes at
about 2MB/s, which is rougly the same as dd(1)
writes. But I'd imagine rm(1) should be much
faster as it only unlinks inodes? I apologise
if I'm talking nonsense here.

The disks use mpt(4).

I've since updated to the latest -current via svn.
Here are the kernel config and dmesg:

http://seis.bris.ac.uk/~mexas/freebsd/ia64/rx2600/tzav/TZAV
http://seis.bris.ac.uk/~mexas/freebsd/ia64/rx2600/tzav/dmesg.boot


many thanks
anton

-- 
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