HylaFAX The world's most advanced open source fax server

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [hylafax-users] modem (or faxgetty?) hangs "receiving from ..." STRACE AND LOG



On 2003.12.08 08:11 Aidan Van Dyk wrote:

It did hang. It hung for an hour, until he put the strace on it,

	Dec 08 15:02:31.30: [ 5284]: RECV: send trigger 022
	Dec 08 15:02:31.30: [ 5284]: <-- data [1]
	Dec 08 15:02:39.82: [ 5284]: RECV: 14569 bytes of data, 554
total lines

Ah, I didn't notice that. I was looking for the error to be within getModemLine().


Okay, so the problem isn't with ModemPageDoneTimeout nor with getModemLine().

We appear to be hung, then, within FaxModem::recvPageDLEData(). It also appears that copy quality checking is not being done (because flushRawData() is being called - "x bytes of data, y total lines").

In that function there is a for loop that will loop forever until an RTCraised is true (which triggers a siglongjmp back out of the loop and will subseqently not enter the loop and will move past it). I don't think that we're getting stuck within that loop because flushRawData() is being called without the total received number of bytes of data being larger than RCVBUFSIZ.

Since we seem to be stuck on a syscall and not within a loop (due to strace "kicking" the process back into action), I'd venture to guess that we're hung within recvEndPage(), specifically:

    TIFFSetField(tif, TIFFTAG_FAXRECVTIME,
        (uint32) server.getPageTransferTime());

Which (in faxd/FaxServer.c++) makes a call to Sys::now(). Notice the strace...

16:01:56.727457 rt_sigaction(SIGALRM, {0x400a0b10, [],
SA_RESTORER|SA_INTERRUPT, 0x4029a5c8}, NULL, 8) = 0
16:01:56.727711 setitimer(ITIMER_REAL, {it_interval={0, 0},
it_value={180, 0}}, NULL) = 0
16:01:56.727809 gettimeofday({1070895716, 727838}, NULL) = 0
16:01:56.727896 write(9, "Dec 08 16:01:56.72: [ 5284]: awa"..., 92) = 92
16:01:56.728001 gettimeofday({1070895716, 728030}, NULL) = 0
16:01:56.728080 write(9, "Dec 08 16:01:56.72: [ 5284]: no "..., 63) = 63
16:01:56.728160 setitimer(ITIMER_REAL, {it_interval={0, 0}, it_value={0,
0}}, NULL) = 0

calls on the real-time clock.

What would make the process hang when calling on Sys::now()?

Patrick, what are those log messages that occurred at Dec 08 16:01:56.72 beginning "awa..." and "no ..." ?

Lee.

____________________ HylaFAX(tm) Users Mailing List _______________________
 To subscribe/unsubscribe, click http://lists.hylafax.org/cgi-bin/lsg2.cgi
On UNIX: mail -s unsubscribe hylafax-users-request@xxxxxxxxxxx < /dev/null
 *To learn about commercial HylaFAX(tm) support, mail sales@xxxxxxxxxxxx*




Project hosted by iFAX Solutions