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] Send program terminated abnormally with exit status 0xa



I have reported to Apple. I will inform you as soon as Apple reply, if they
do (?)


Thanks Lee for your assistance

regard

xavier



> De: Lee Howard <faxguy@xxxxxxxxxxxxxxxx>
> Fecha: Wed, 16 Mar 2005 09:50:37 -0800
> Para: Xavier Blanco <xavier@xxxxxxxxxxxxx>
> CC: hylafax-users@xxxxxxxxxxx
> Asunto: Re: [hylafax-users] Send program terminated abnormally with exit
> status 0xa
> 
> Xavier,
> 
> I'm glad that the code change helped.  I'm not sure, however, that it
> gives me any conclusive information as far as *what* is wrong.
> 
> In the problem scenario...
> 
> for (u_short fnum = 0; fnum < frameNumber; fnum++) {
> ... stuff ...
> }
> 
> frameNumber here *is supposed to be* 256.  So by changing that to...
> 
> 
> for (u_short fnum = 0; fnum < frameNumber && fnum < 256; fnum++) {
> ... stuff ...
> }
> 
> is just being redundant (fnum < 256 && fnum < 256).  It, however, would
> seem to indicate that frameNumber *is not* 256.  Yet, there also is the
> problem that here your system also thinks that (u_short) 255 + 1 =
> 2336.  So, I'm not sure if we're looking at a problem with fnum,
> frameNumber, or both.
> 
> If your compiler does limit u_short to 8 bits (and that's not clearly
> evident because fnum was shown to contain a value larger than 255), then
> (your compiler, frankly, is broken) we'd have to scour the source code
> to make sure that no other shorts can get that big.  There may not be
> any other cases of it other those that deal with frame numbering.  But,
> I'm more inclined to let you pursue this with Apple, as it's very
> evident (255 + 1 = 2336) that something's wrong with the compiler.
> 
> Lee.
> 
> 
> Xavier Blanco wrote:
> 
>> Hi Lee,
>> 
>> I have done your suggested changes in source code, recompille and reinstall
>> and now I am able to send faxes without crashing faxsend :-)
>> 
>> But reading your words I understand that I can find more crashing code due
>> my compiler is not assigning the correct bit length to short type. Perhaps
>> some option at compile time is needed ?
>> 
>> Thank you
>> 
>> regards
>> 
>> xavier
>> 
>> 
>> 
>> 
>>> De: Lee Howard <faxguy@xxxxxxxxxxxxxxxx>
>>> Fecha: Tue, 15 Mar 2005 15:57:44 -0800
>>> Para: xavier@xxxxxxxxxxxxx
>>> CC: hylafax-users@xxxxxxxxxxx
>>> Asunto: Re: [hylafax-users] Send program terminated abnormally with exit
>>> status 0xa
>>> 
>>> Xavier Blanco wrote:
>>> 
>>> 
>>> 
>>>> Mar 15 17:59:16.86: [ 2014]: SEND send frame number 251
>>>> Mar 15 17:59:16.86: [ 2014]: SEND send frame number 252
>>>> Mar 15 17:59:16.86: [ 2014]: SEND send frame number 253
>>>> Mar 15 17:59:16.86: [ 2014]: SEND send frame number 254
>>>> Mar 15 17:59:16.86: [ 2014]: SEND send frame number 255
>>>> Mar 15 17:59:16.86: [ 2014]: SEND send frame number 2336
>>>> Mar 15 17:59:16.86: [ 2014]: SEND send frame number 2337
>>>> Mar 15 17:59:16.86: [ 2014]: SEND send frame number 2338
>>>> Mar 15 17:59:16.86: [ 2014]: SEND send frame number 2340
>>>> 
>>>> 
>>>> 
>>>> 
>>> This is a problem.  There can only be frames up to number 255.
>>> 
>>> The code responsible here is faxd/Class1Send.c++ at approximately line
>>> 955.  The number mentioned there in the logs ("fnum" in the code)is
>>> defined as type u_short.  It does this:
>>> 
>>> for (u_short fnum = 0; fnum < frameNumber; fnum++) {
>>> ... stuff ...
>>> }
>>> 
>>> Somehow it thinks that 255+1 = 2336
>>> 
>>> As you're using a platform (and probably a compiler) that is largely
>>> untested (OS X 10.3.8 is rather new), I'm guessing that the compiler
>>> doesn't like u_short.
>>> 
>>> According to the information I have, we're *supposed* to have 16 bits
>>> with a short type.  As 0-255 only consume 8 bits, I can only suppose
>>> that your compiler is only allocating 8 bytes to shorts.  If this is
>>> correct then this could be a problem throughout the code, as HylaFAX
>>> uses shorts quite frequently.
>>> 
>>> You could do a couple of tests, perhaps.  Change the code to read...
>>> 
>>> for (u_short fnum = 0; fnum < frameNumber && fnum < 256; fnum++) {
>>> ... stuff ...
>>> }
>>> 
>>> 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@xxxxxxxxx*
>> 
>> 
>> 
> 
> 


____________________ 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