truss and procfs strange problem.

Dan Nelson dnelson at allantgroup.com
Thu Jan 26 09:13:36 PST 2006


In the last episode (Jan 26), Proniewski Patrick said:
> I experience a strange problem with truss on FreeBSD 5.4 p8 :
> 
> 	$ truss ls
> 	truss: cannot open /proc/4509/mem: No such file or directory
> 	$ truss ls
> 	truss: PIOCWAIT: Input/output error

The child process probably hasn't been fully started by the time the
parent tries to attach to it.  Adding a sleep(1) inside
setup_and_wait() in setup.c just before it tries to open /proc/%d/mem
is a quick hack that works.  A better solution would be to retry the
open and ioctl calls if they fail, after a short wait (but only doing
so for a couple seconds in case there was a problem starting the child
process).

I have no idea why the PIOCWAIT ioctl would fail like that; the code
path doesn't look like it's even able to return EIO.

-- 
	Dan Nelson
	dnelson at allantgroup.com


More information about the freebsd-questions mailing list