Entering an invalid traphandle program doesn't immediately fail. Nor does it fail on the first trap received: pipe([12, 13]) = 0 pipe([14, 15]) = 0 fork() = 16528 close(12) = 0 close(15) = 0 write(13, "rtr\n10.10.10.10\nRFC1213-MIB::s"..., 327) = 327 close(13) = 0 waitpid(16528, [{WIFEXITED(s) && WEXITSTATUS(s) == 1}], 0) = 16528 close(14) = 0 But eventually snmptrapd will die: pipe([12, 13]) = 0 pipe([14, 15]) = 0 fork() = 16529 --- SIGCHLD (Child exited) @ 0 (0) --- close(12) = 0 close(15) = 0 write(13, "rtr\n10.10.10.10\nRFC1213-MIB::s"..., 327) = -1 EPIPE (Broken pipe) --- SIGPIPE (Broken pipe) @ 0 (0) --- +++ killed by SIGPIPE +++ Steps to reproduce: I tried entering a handler that normally could be found via the PATH. Workaround: Explicitly enter the full path of the trap handler. And pray that your handler script doesn't b0rk or it will take snmptrapd with it.
Which version of net-snmp are you using?
If this is still present in Fedora Core 3/4/devel please reopen.