Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

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

12 views
Skip to first unread message

Anton Shterenlikht

unread,
Apr 2, 2010, 6:55:02 PM4/2/10
to xcl...@mac.com, freebsd...@freebsd.org, freebs...@freebsd.org
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

Marcel Moolenaar

unread,
Apr 2, 2010, 7:10:53 PM4/2/10
to Anton Shterenlikht, freebsd...@freebsd.org, freebs...@freebsd.org

On Apr 2, 2010, at 3:55 PM, Anton Shterenlikht wrote:

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

Yes, exactly.

At the db> prompt, can you type:
db> show thread 0xe00000001187d880

This should give you something like:
Thread 100001 at 0xe00000001187d880:
proc (pid 1): 0xe00000301220c000
name: kernel
stack: 0xa00000021afd2000-0xa00000021afd9fff
flags: 0x10005 pflags: 0
state: RUNNING (CPU 0)
priority: 52
container lock: sched lock 0 (0xe000003400ad5080)

With the thread ID, 100001 in the example above, type:
db> thread 100001

This should give you something like:
[ thread pid 1 tid 100001 ]
kdb_enter+0x92: [I2] addl r14=0xffffffffffe279b8,gp ;;

Then type the following for a backtrace:
db> bt


FYI,

--
Marcel Moolenaar
xcl...@mac.com

0 new messages