Re: strace causes panic: sleeping thread



On Saturday 28 April 2007 13:55:03 Kostik Belousov wrote:
On Sat, Apr 28, 2007 at 11:28:43AM +0200, Stefan Ehmann wrote:
I see this on freshly build CURRENT (i386):

Using strace causes an immediate panic, e.g. strace echo foo:

...
This is because you do not have INVARIANTS in kernel. Then you would obtain
the "recursed on non-recursive mutex" panic.

The pfs_ioctl locks the process (pfs_ioctl()->pfs_visible()->pfind()) that
is the target of the ioctl, and then the pseudofs_ioctl() do PROC_LOCK()
again.

This is changed by rev. 1.62 of the fs/pseudofs/pseudofs_vnops.c, before it
process was held during pn_ioctl() call instead of being locked. Also, this
change seems to also take place for getextattr().

With the following patch, I was able to successfully strace ls. As a side
note, it seems that procfs ABI changed, strace built on RELENG_6 cannot run
on CURRENT.

Yes, INVARIANTS is disabled here.

The patch also works for me, thanks.
_______________________________________________
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