"Olle E. Johansson" <[EMAIL PROTECTED]> writes: > > On the BSDs, your friend is ktrace (or ktruss, depending on > > flavor). It will tell you what system calls your process is executing > > while it is doing this. > ktrace on FreeBSD generates a file filled with this: > And some signals caught here and there. > Doesn't make me wiser.
Doesn't it? Have a look. For whatever reason, poll is constantly returning (indicating something is ready for I/O), the program tries to read from file descriptor 21, and there is nothing there to read. It is doing this in a tight loop, thus your problem. You have to figure out what's wrong in the event loop causing this behavior. It might be an OS bug, or it might be a program bug, but it seems pretty obvious that it is a bug. The SIGPROF stuff indicates you're running profiling on the executable. Turn that off when you're doing a ktrace run. Perry > /Olle > --------------------------------------------------------------- > 74987 asterisk RET read 0 > 74987 asterisk CALL poll(0x851e400,0x1,0) > 74987 asterisk RET poll 1 > 74987 asterisk CALL read(0x15,0x2845e060,0x100) > 74987 asterisk GIO fd 21 read 0 bytes > "" > 74987 asterisk RET read 0 > 74987 asterisk CALL poll(0x851e400,0x1,0) > 74987 asterisk RET poll 1 > 74987 asterisk CALL read(0x15,0x2845e060,0x100) > 74987 asterisk GIO fd 21 read 0 bytes > "" > 74987 asterisk RET read 0 > 74987 asterisk CALL poll(0x851e400,0x1,0) > 74987 asterisk RET poll 1 > 74987 asterisk CALL read(0x15,0x2845e060,0x100) > 74987 asterisk GIO fd 21 read 0 bytes > "" > 74987 asterisk RET read 0 > 74987 asterisk CALL poll(0x851e400,0x1,0) > 74987 asterisk RET poll 1 > 74987 asterisk CALL read(0x15,0x2845e060,0x100) > 74987 asterisk GIO fd 21 read 0 bytes > "" > 74987 asterisk RET read 0 > 74987 asterisk CALL poll(0x851e400,0x1,0) > 74987 asterisk RET poll 1 > 74987 asterisk CALL read(0x15,0x2845e060,0x100) > 74987 asterisk GIO fd 21 read 0 bytes > "" > 74987 asterisk RET read 0 > 74987 asterisk CALL poll(0x851e400,0x1,0) > 74987 asterisk RET poll 1 > 74987 asterisk CALL read(0x15,0x2845e060,0x100) > 74987 asterisk GIO fd 21 read 0 bytes > "" > 74987 asterisk RET read 0 > 74987 asterisk CALL poll(0x851e400,0x1,0) > 74987 asterisk RET poll 1 > 74987 asterisk CALL read(0x15,0x2845e060,0x100) > 74987 asterisk GIO fd 21 read 0 bytes > "" > 74987 asterisk RET read 0 > 74987 asterisk CALL poll(0x851e400,0x1,0) > 74987 asterisk RET poll 1 > 74987 asterisk CALL read(0x15,0x2845e060,0x100) > 74987 asterisk GIO fd 21 read 0 bytes > "" > 74987 asterisk RET read 0 > 74987 asterisk CALL poll(0x851e400,0x1,0) > 74987 asterisk RET poll 1 > 74987 asterisk CALL read(0x15,0x2845e060,0x100) > 74987 asterisk GIO fd 21 read 0 bytes > "" > 74987 asterisk RET read 0 > 74987 asterisk CALL poll(0x851e400,0x1,0) > 74987 asterisk RET poll 1 > 74987 asterisk CALL read(0x15,0x2845e060,0x100) > 74987 asterisk GIO fd 21 read 0 bytes > > ---------- > And sometimes this - repeated many times: > > "" > 74987 asterisk PSIG SIGPROF caught handler=0x28180260 mask=0x0 code=0x0 > 74987 asterisk RET read 0 > 74987 asterisk CALL gettimeofday(0x281c8e88,0) > 74987 asterisk RET gettimeofday 0 > 74987 asterisk CALL sigprocmask(0x3,0x281c8ef8,0) > 74987 asterisk RET sigprocmask 0 > 74987 asterisk CALL poll(0x80cf000,0x4,0) > 74987 asterisk RET poll 0 > 74987 asterisk CALL sigreturn(0xbfa87cec) > 74987 asterisk RET sigreturn JUSTRETURN > 74987 asterisk CALL poll(0x851e400,0x1,0) > 74987 asterisk RET poll 1 > 74987 asterisk CALL read(0x15,0x2845e060,0x100) > 74987 asterisk GIO fd 21 read 0 bytes > > > ----------------- > > _______________________________________________ > Asterisk-Users mailing list > [EMAIL PROTECTED] > http://lists.digium.com/mailman/listinfo/asterisk-users > -- Perry E. Metzger [EMAIL PROTECTED] _______________________________________________ Asterisk-Users mailing list [EMAIL PROTECTED] http://lists.digium.com/mailman/listinfo/asterisk-users
