Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Jun 2009 18:09:10 +0300
From:      Andriy Gapon <avg@freebsd.org>
To:        Kip Macy <kmacy@freebsd.org>
Cc:        freebsd-fs@freebsd.org, freebsd-stable@freebsd.org
Subject:   Re: zfs related panic
Message-ID:  <4A37B596.4090607@freebsd.org>
In-Reply-To: <4A37B395.20506@icyb.net.ua>
References:  <4A325E9F.2080802@icyb.net.ua> <3c1674c90906121354s6d6ae7ben5082708b1586e94f@mail.gmail.com> <4A37B395.20506@icyb.net.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
on 16/06/2009 18:00 Andriy Gapon said the following:
> on 12/06/2009 23:54 Kip Macy said the following:
>> show sleepchain
> 
> I can only do post-mortem using jhb's scripts for kgdb:
> (kgdb) sleepchain 2432
>  thread 100263 (pid 2432, tcsh) non-lock sleep

I think that this was reported because td_wchan is not 'struct lock' in this case.
(kgdb) fr 6
#6  0xffffffff802fc567 in kern_sigsuspend (td=Variable "td" is not available.
) at /usr/src/sys/kern/kern_sig.c:1474
(kgdb) list
1469            td->td_oldsigmask = td->td_sigmask;
1470            td->td_pflags |= TDP_OLDMASK;
1471            SIG_CANTMASK(mask);
1472            td->td_sigmask = mask;
1473            signotify(td);
1474            while (msleep(&p->p_sigacts, &p->p_mtx, PPAUSE|PCATCH, "pause", 0)
== 0)
1475                    /* void */;
1476            PROC_UNLOCK(p);
1477            /* always return EINTR rather than ERESTART... */
1478            return (EINTR);
(kgdb) p &p->p_sigacts
$10 = (struct sigacts **) 0xffffff011440e548

(kgdb) fr 0
#0  sched_switch (td=0xffffff000cfad720, newtd=Variable "newtd" is not available.
) at /usr/src/sys/kern/sched_ule.c:1944
(kgdb) p td->td_wchan
$11 = (void *) 0xffffff011440e548
(kgdb) p td->td_wmesg
$12 = 0xffffffff80508788 "pause"

(kgdb) backtrace
#0  sched_switch (td=0xffffff000cfad720, newtd=Variable "newtd" is not available.
) at /usr/src/sys/kern/sched_ule.c:1944
#1  0xffffffff80302a59 in mi_switch (flags=1, newtd=0x0) at
/usr/src/sys/kern/kern_synch.c:444
#2  0xffffffff8032f645 in sleepq_switch (wchan=Variable "wchan" is not available.
) at /usr/src/sys/kern/subr_sleepqueue.c:497
#3  0xffffffff8032f925 in sleepq_catch_signals (wchan=0xffffff011440e548) at
/usr/src/sys/kern/subr_sleepqueue.c:417
#4  0xffffffff80330219 in sleepq_wait_sig (wchan=Variable "wchan" is not available.
) at /usr/src/sys/kern/subr_sleepqueue.c:594
#5  0xffffffff80302eba in _sleep (ident=0xffffff011440e548,
lock=0xffffff011440e5a0, priority=360, wmesg=0xffffffff80508788 "pause", timo=0)
at /usr/src/sys/kern/kern_synch.c:228
#6  0xffffffff802fc567 in kern_sigsuspend (td=Variable "td" is not available.
) at /usr/src/sys/kern/kern_sig.c:1474
#7  0xffffffff802fc5e9 in sigsuspend (td=0xffffff000cfad720, uap=Variable "uap" is
not available.
) at /usr/src/sys/kern/kern_sig.c:1453
#8  0xffffffff80491d2d in syscall (frame=0xffffff8076db8c80) at
/usr/src/sys/amd64/amd64/trap.c:899
#9  0xffffffff8047d00b in Xfast_syscall () at /usr/src/sys/amd64/amd64/exception.S:339
#10 0x000000080092ce3c in ?? ()

-- 
Andriy Gapon



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4A37B596.4090607>