[Asterisk-Users] Asterisk on FreeBSD
Perry E. Metzger
perry at piermont.com
Mon Oct 27 15:13:37 MST 2003
"Olle E. Johansson" <oej at edvina.net> 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
> Asterisk-Users at lists.digium.com
> http://lists.digium.com/mailman/listinfo/asterisk-users
>
--
Perry E. Metzger perry at piermont.com
More information about the asterisk-users
mailing list