[ENH] PNGReadWriter writing support & alpha fixes (v3)

John M McIntosh johnmci at smalltalkconsulting.com
Fri Feb 13 02:01:37 UTC 2004


The failure is in
deflateBlockchainLengthgoodMatch

(gdb) x/8i deflateBlockchainLengthgoodMatch+0x268
0x57d2c <deflateBlockchainLengthgoodMatch+616>: lwzx    r29,r19,r3
0x57d30 <deflateBlockchainLengthgoodMatch+620>: addi    r10,r29,1
0x57d34 <deflateBlockchainLengthgoodMatch+624>: stwx    r10,r19,r3
0x57d38 <deflateBlockchainLengthgoodMatch+628>: lwz     r8,0(r4)
0x57d3c <deflateBlockchainLengthgoodMatch+632>: lwz     r7,0(r12)
0x57d40 <deflateBlockchainLengthgoodMatch+636>: lwz     r6,0(r17)

  r3: 0x05d765b4
r19: 0xcccccccc

Yes that would cause a fault...

L20:
	.stabd	68,0,289
	lwz r22,76(r1)
	slwi r19,r2,2
	.stabd	68,0,290
	addis r11,r31,ha16(_zipLiteralCount-"L00000000038$pb")
	la r4,lo16(_zipLiteralCount-"L00000000038$pb")(r11)
	.stabd	68,0,292
	addis r2,r31,ha16(_zipLiteralSize-"L00000000038$pb")
	li r25,0
	la r12,lo16(_zipLiteralSize-"L00000000038$pb")(r2)
	.stabd	68,0,289
	lwz r3,0(r22)
	lwzx r29,r19,r3    <======= CRASH =============  I think it's the  
((zipDistanceFreq[distance]) + 1);
	addi r10,r29,1
	stwx r10,r19,r3
	.stabd	68,0,290
	lwz r8,0(r4)
	.stabd	68,0,292
	lwz r7,0(r12)
	.stabd	68,0,291
	lwz r6,0(r17)
	.stabd	68,0,290
	addi r9,r8,1
	.stabd	68,0,292
	cmpw cr6,r9,r7
	.stabd	68,0,290
	stw r9,0(r4)
	.stabd	68,0,291
	addi r5,r6,1
	stw r5,0(r17)
	.stabd	68,0,292

Line 289
			zipDistanceFreq[distance] = ((zipDistanceFreq[distance]) + 1);
			zipLiteralCount += 1;
			zipMatchCount += 1;
			flushNeeded = (zipLiteralCount == zipLiteralSize) ||  
(((zipLiteralCount & 4095) == 0) && (shouldFlush()));

On Feb 12, 2004, at 5:35 PM, Bert Freudenberg wrote:

>
> Am 12.02.2004 um 23:03 schrieb Andreas Raab:
>
>> This is now v3 which fixes a bad, bad CRC issue, adds CRC validation  
>> and
>> hopefully fixes the byte-sex problems.
>>
>> Avi - if you give this a try and the tests fail, can you send me the
>> generated test images (they will be written out automatically).  
>> Off-list
>> please ;-)
>
> Oh, it's worse than before - it crashes the MacVM (log attached for  
> John)! After commenting out test8BitDisplay the tests run with this  
> result: 24 run, 23 passed, 0 failed, 1 error. The error is in  
> test4BitDisplay (error out of bounds in ZipEncoder. But the tests seem  
> to be wrong too, as none of the generated test images can be loaded by  
> another application (Preview in my case). I'll send the images  
> off-line.
>
> - Bert -
>
> <Squeak VM Opt.crash.log.gz>
>
--
======================================================================== 
===
John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
======================================================================== 
===




More information about the Squeak-dev mailing list