truss problems

Jonas Wolz jonas.wolz at freenet.de
Tue Apr 11 13:21:22 UTC 2006


Am Montag, 10. April 2006 11:45 schrieb Jonas Wolz:
> Other applications I tested (xedit, bash) seem to work fine.

I've made some more tests and it seems to me that the "fork following" feature 
(-f switch) of truss obviously is buggy.
Even the following simple shell script sometimes (in about a third of the 
tests) provokes the bug:
-- begin test.sh
#!/bin/sh
/bin/echo Test
/bin/echo Test
-- end test.sh

If I call "truss -f sh test.sh" I get errors when execve() is called to 
start /bin/echo, for example: (56179 is the first /bin/echo (started without 
error), 56178 is /bin/sh)

56179: writev(0x1,0x804b030,0x2)                 = 5 (0x5)
56179: exit(0x0)
process exit, rval = 0
56178: wait4(0xffffffff,0xbfbfde98,0x2,0x0)      = 56179 (0xdb73)
56178: fork()                                    = 56181 (0xdb75)
56178: getpgrp()                                 = 56177 (0xdb71)
56181: close(10)                                 = 0 (0x0)
56181: execve("/bin/echo",<missing argument>,<missing argument>)
truss: PIOCWAIT top of loop: Input/output error
56181: execve("/bin/echo",<missing argument>,<missing argument>) = 0 (0x0)
56181: mmap(0x0,3600,(0x3)PROT_READ|PROT_WRITE,(0x1000)MAP_ANON,-1,0x0) = 
671539200 (0x2806e000)
56181: munmap(0x2806e000,0xe10)                  = 0 (0x0)
56181: __sysctl(0xbfbfded8,0x2,0x2806aa18,0xbfbfded4,0x0,0x0) = 0 (0x0)


I also tested the script with the 6.1-BETA4 Boot-CD. The bug seems only to be 
triggered on the *first run* of the script there, but it leaves 3 zombie 
processes per run behind (even if no error message is shown).

Jonas


More information about the freebsd-stable mailing list