Re: panic: PHOLD of exiting process



On Sunday 26 February 2006 04:35, Peter Holm wrote:
On Fri, Feb 24, 2006 at 03:53:26PM -0500, John Baldwin wrote:
On Friday 24 February 2006 14:50, Peter Holm wrote:
GENERIC HEAD from Feb 23 18:08 UTC

panic: PHOLD of exiting process
cpuid = 0
KDB: enter: panic
[thread pid 75139 tid 100298 ]
Stopped at kdb_enter+0x2b: nop
db> where
Tracing pid 75139 tid 100298 td 0xc24244e0
kdb_enter(c0888514) at kdb_enter+0x2b
panic(c084a3c9,d57,c09af2d8,e,c08904ae) at panic+0x14b
softdep_disk_io_initiation(c72ea010) at
softdep_disk_io_initiation+0x7a
ffs_geom_strategy(c242beec,c72ea010) at ffs_geom_strategy+0x32
bufwrite(c72ea010,0,0,cd5419b4,c0784aa1) at bufwrite+0x15a
ffs_bufwrite(c72ea010) at ffs_bufwrite+0x282
ffs_update(c3121b2c,0,c3121b2c,c23d8c00,1) at ffs_update+0x3a5
ufs_inactive(cd541a04) at ufs_inactive+0x178
VOP_INACTIVE_APV(c092b5e0,cd541a04) at VOP_INACTIVE_APV+0x7e
vinactive(c3121b2c,c24244e0) at vinactive+0x72
vput(c3121b2c,c23d8c00,c093a720,c3121b2c,1) at vput+0x188
vn_close(c3121b2c,1,c2d74600,c24244e0,cd541acc) at vn_close+0x96
vn_closefile(c26b1e10,c24244e0) at vn_closefile+0xca
fdrop_locked(c26b1e10,c24244e0,c219a3a0,0,c0884d50) at
fdrop_locked+0x88
fdrop(c26b1e10,c24244e0,6b5,c095b034,0) at fdrop+0x24
closef(c26b1e10,c24244e0) at closef+0x367
fdfree(c24244e0) at fdfree+0x4a3
exit1(c24244e0,0,cd541d30,c081b34e,c24244e0) at exit1+0x450
exit1(c24244e0,cd541d04,c3a77890,c,c24244e0) at exit1
syscall(3b,3b,3b,2804eaec,bfbfebe8) at syscall+0x27a

http://people.freebsd.org/~pho/stress/log/cons188.html

I'm talking with Jeff and Kris about it. This is my current thinking:

--- //depot/vendor/freebsd/src/sys/sys/proc.h 2006/02/22 19:00:49
+++ //depot/projects/smpng/sys/sys/proc.h 2006/02/24 20:11:28
@@ -792,7 +792,8 @@
} while (0)
#define _PHOLD(p) do { \
PROC_LOCK_ASSERT((p), MA_OWNED); \
- KASSERT(!((p)->p_flag & P_WEXIT), ("PHOLD of exiting process"));\
+ KASSERT(!((p)->p_flag & P_WEXIT) || (p) == curproc, \
+ ("PHOLD of exiting process")); \
(p)->p_lock++; \
if (((p)->p_sflag & PS_INMEM) == 0) \
faultin((p)); \

--
John Baldwin <jhb@xxxxxxxxxxx> <>< http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve" = http://www.FreeBSD.org

Without your patch I get two of these panics within a short time frame
of testing. With your patch I have not seen this problem for a 24 hour
period of testing.

I'll commit it along with a note of why the assertion is still safe.

--
John Baldwin <jhb@xxxxxxxxxxx> <>< http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve" = http://www.FreeBSD.org
_______________________________________________
freebsd-current@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscribe@xxxxxxxxxxx"



Relevant Pages

  • Re: panic: getnewvnode: free vnode isnt
    ... >> Could people seeing this panic try the following patch? ... >> callers of vcleanensure that the vnode is not on the free list, ... > The patch hasn't stopped the panics, but I've tracked down a series of ... I've just started using USB keyboard/mouse and a KVM. ...
    (freebsd-current)
  • [PATCH] Dump partition list on inability to mount /
    ... The attached patch dumps a list of partitions (in a similar ... One of the annoying things about the fail to mount / panics is that you ... can no longer scroll up to find out what errors came from device driver ...
    (Linux-Kernel)
  • Re: panic: System call lstat returning with 1 locks held
    ... >>> I'm committing my WITNESS patch now to perforce so that other people ... >> I use it to get more debug info on my panics? ... I disabled the mounting of the NTFS filesystems. ... Rebuilt/installed kernel and rebooted. ...
    (freebsd-current)
  • Re: usb-serial ipaq kernel problem
    ... |> I know exits in the write URB callback if the URB got an error. ... | The machine is now running with this patch (and my ipaq_open patch, ... just after the control message has succeeded. ... panics as soon as an ipaq reboots. ...
    (Linux-Kernel)
  • Re: panic: System call lstat returning with 1 locks held
    ... I'm committing my WITNESS patch now to perforce so that other people ... I use it to get more debug info on my panics? ... Also mounting/unmounting a NTFS filesystem will cause a panic. ... Rebuilt/installed kernel and rebooted. ...
    (freebsd-current)