Skip Menu |

This queue is for tickets about the Imager CPAN distribution.

Report information
The Basics
Id: 75258
Status: resolved
Priority: 30/
Queue: Imager

People
Owner: TONYC [...] cpan.org
Requestors: TONYC [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: (no value)
Fixed in: (no value)



Subject: floating point rounding failure on Solaris
Date: Fri, 24 Feb 2012 15:06:16 +1100
To: bug-Imager [...] rt.cpan.org
From: tonyc [...] cpan.org
http://www.cpantesters.org/cpan/report/7b4134ea-5dc5-11e1-baa1-b8202a34c07f From local run: # psampf ok 181 - add colors needed for testing ok 182 - i_psampf def channels, 3 samples ok 183 - check color written ok 184 - i_psampf def channels, 3 samples, masked ok 185 - check color written ok 186 - i_psampf channels listed, 3 samples, masked ok 187 - check color written ok 188 - i_psampf channels [0, 1], 4 samples not ok 189 - check first color written # Failed test 'check first color written' # at t/t023palette.t line 537. Color mismatch: Red: 255 vs 255 Green: 127 vs 127 Blue: 0 vs 255 ok 190 - check second color written ok 191 - write a full row ok 192 - check full row ok 193 - i_psampf channels [0, 1, 2], 9 samples, but room for 6 ok 194 - i_psampf channels [0, 1, 3], 3 samples (invalid channel number) ok 195 - check error message ok 196 - i_psampf channels [0, 1, -1], 3 samples (invalid channel number) ok 197 - check error message ok 198 - negative y ok 199 - check message ok 200 - y overflow ok 201 - check message ok 202 - negative x ok 203 - check message ok 204 - x overflow ok 205 - check message not ok 206 - still paletted # Failed test 'still paletted' # at t/t023palette.t line 572. # end psampf tests Seems like an overflow wrapping to zero.
On Thu Feb 23 23:06:29 2012, TONYC wrote: Show quoted text
> Seems like an overflow wrapping to zero.
Turned out to be completely different. i_gpixf() for paletted images is implemented as a wrapper around the underlying i_gpix() implementation and was handling the return value from i_gpix() incorrectly. It treat failure as success and success as failure and not return the correct sample values. Why this only broken on Solaris I have no clue.
Fixed in Imager 0.89.