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] FaxQueuer crashing/exiting after two jobs submitted at once



* Lee Howard <faxguy@xxxxxxxxxxxxxxxx> [070222 14:35]:
> Dan Brummer wrote:
> 
> >FaxQueuer crashing on same time job submits but in 4.3.0 it gave me a 
> >'Assertion failed "QLink::remove: item not on a list", file 
> >"QLink.c++" line 53' error.

> I wasn't getting this error after two jobs being submitted at once (I 
> don't think).  Rather, I was hitting this issue when the traffic in the 
> queue was heavy and a job failed.  It was nearly impossible to 
> reproduce.  The timings had to be just right, and I could never 
> reproduce it in the lab.
> 
> The solution in my case was to change a few faxq calls of
> 
>  job.remove();
> 
> to become
> 
>  if (job.isOnList()) job.remove();
> 
> Which basically is to say that if a job fails and we go to delete it and 
> find that it isn't on a list to not worry about it and just proceed on 
> as if the job list removal had been handled normally and proceed on with 
> the job deletion.  I have made those adjustments to HylaFAX+ and they're 
> in the latest releases there.  I've not had a repetition of that issue 
> after making those changes.

If that's the issue, then we should *definately* be seeing the QLink
assertion.

Blindly removing calls to job.remove() is a sure-fire way to get memory
leaks in faxq.  They are not huge (probably on the order of 64 bytes /
job), but could add up after many 1000s of jobs.

-- 
Aidan Van Dyk                                             aidan@xxxxxxxx
Senior Software Developer                          +1 215 825-8700 x8103
iFAX Solutions, Inc.                                http://www.ifax.com/

Attachment: signature.asc
Description: Digital signature




Project hosted by iFAX Solutions