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] sendfax sometimes hangs, can't identify protocol?



Thanks you very much for your answer!
Before I read it I found these 'interesting' lines in syslog, just before the error messages I sent in my previous mail:


May 8 11:42:36 caracas FaxQueuer[3699]: SUBMIT JOB clien
May 8 11:42:36 caracas FaxQueuer[3699]: JOB clien: qfile sendq/qclien is not a regular file.
May 8 11:42:36 caracas FaxQueuer[3699]: Bad FIFO cmd 't' from client /26876
May 8 11:42:36 caracas FaxQueuer[3699]: HylaClient::send: /26876: Cannot open FIFO: No such file or directory
and
May 8 12:03:53 caracas FaxQueuer[3699]: SUBMIT JOB clie
May 8 12:03:53 caracas FaxQueuer[3699]: JOB clie: qfile sendq/qclie is not a regular file.
May 8 12:03:53 caracas FaxQueuer[3699]: Bad FIFO cmd 'n' from client t/8694


I t look like this confirms the problem you described :-)

I will increase the FIFO buffer like you said, that should be easy. After that I will probably try the CVS version. Thank you so much, I'm very glad I now know what causes my problems.

Mark

Aidan Van Dyk wrote:
* Mark Hunting <mark@xxxxxxxxxx> [070508 09:50]:
Aidan Van Dyk wrote:
Hm.. if sendfax and faxstat are the *only* clients you use, then the
trigger bug doesn't sound likely. Are there any faxq messages in syslog
about "Bad fifo message" or something like that?

Bingo. There is indeed some very usefull information in syslog (I think). Two sendfax processes I had to kill today were process ID's 26875 (the example from my previous mail), and 8693. In syslog there are lots of FIFO errors, but what surprises me are these lines:
The numbers here are the killed sendfax ID's + 1. The times are indeed the times on which the hanging sendfax processes were started. Do you know what this all means?
Here is the contect of the two lines:

This is an artifact of faxq being "too busy". The new scheduler in current CVS should really help you here. "Too busy" means that it spends so much time working the sendq jobs that the FIFO buffer fills up before it can get back to it. When the FIFO buffer fills up, it starts to read partial messages (like you posted). When those "partial messages" it reads are the sendfax/hfaxd job submission ones, the hfaxd will wait forever for the response, because faxq didn't get the actuall message hfaxd wrote to the FIFO.

There are a few ways you can compensate for this:
1) submit jobs more slowly
2) Submit all the jobs "in the future".  This will allow all the jobs
   to be submitted before faxq "get's too busy"
3) "expand the fifo buffer" in faxd/faxApp.c++ - look for the code in:
	faxApp::FIFOInput(int fd)
    and set the buf[2048] to somethig like buf[4096] or buf[8192].  This
    won't "fix" the problem but may mean that there are longer periods
    faxq can go before teh buffer is "full", and hopefully it will get a
    chance to catch up before it's full.

I had to do a grep -v 'not found' because my syslog file contains a huge amount of lines like

May 8 09:23:15 caracas FaxQueuer[3699]: FIFO: JOB 27891 not found for msg "D22,1,212029,000034734,"docq/doc27933.pdf;01""

This is again an artifact of faxq being "too busy". Basically, the job has finished and faxq has already handled the child faxsend exit (so the job has been removed) before it get's around to handling the status message from the FIFO.

I don't know what that means, but apparently it's not important. I never experience problems form them.
Well, you're in luck. You can build debian packages right from CVS:
http://cvs.hylafax.org/HylaFAX/?p=HylaFAX;a=commit;h=909cfff8fd757586cfdcf5f47092e7afab7712ae

One note - if you're building a debian package from cvs/git:


In debian/patches/00list, comment out patch 670 (doesn't apply anymore to
current CVS), and build you packages like so:
	fakeroot make -f debian/rules binary



____________________ 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@xxxxxxxxx*




Project hosted by iFAX Solutions