Hi,

We have been hit in DrGeo by another regression in Pharo8 (it is not
present in DrGeo versions based on previous Pharo).

When loading a Sketch with accentuated Latin characters (same occurs
with Chinese but I have so far not enough information to assert it is
the same error) there is a ZnInvalidUTF8 error.

Attached Pharo8

See details https://bugs.launchpad.net/drgeo/+bug/1837745

For the record the stream passed to the XML parser (an old version but I
don't think it is the problem) is from readStream message send to
FileReference.

Do you want a bug ticket?

Hilaire

-- 
Dr. Geo
http://drgeo.eu

THERE_BE_DRAGONS_HERE
ZnInvalidUTF8: Illegal continuation byte for utf-8 encoding
24 July 2019 4:39:08.555248 pm

VM: unix - i686 - linux-gnu - CoInterpreter VMMaker.oscog-eem.2504 uuid: a00b0fad-c04c-47a6-8a11-5dbff110ac11 Jan  5 2019
StackToRegisterMappingCogit VMMaker.oscog-eem.2504 uuid: a00b0fad-c04c-47a6-8a11-5dbff110ac11 Jan  5 2019
VM: 201901051900 https://github.com/OpenSmalltalk/opensmalltalk-vm.git Date: Sat Jan 5 20:00:11 2019 CommitHash: 7a3c6b64 Plugins: 201901051900 https://github.com/OpenSmalltalk/opensmalltalk-vm.git

Image: Pharo7.0.2 [Build information: Pharo-7.0.2+build.152.sha.890f474a81f116ead0e68c8de77790aef4e9a752 (32 Bit)]

ZnUTF8Encoder>>error:
	Receiver: a ZnUTF8Encoder
	Arguments and temporary variables: 
		message: 	'Illegal continuation byte for utf-8 encoding'
	Receiver's instance variables: 
a ZnUTF8Encoder

ZnUTF8Encoder>>errorIllegalContinuationByte
	Receiver: a ZnUTF8Encoder
	Arguments and temporary variables: 

	Receiver's instance variables: 
a ZnUTF8Encoder

[ ((next := stream next ifNil: [ ^ self errorIncomplete ])
	bitAnd: 2r11000000) == 2r10000000
	ifTrue: [ code := (code bitShift: 6) + (next bitAnd: 2r00111111) ]
	ifFalse: [ ^ self errorIllegalContinuationByte ] ] in ZnUTF8Encoder>>nextCodePointFromStream:
	Receiver: a ZnUTF8Encoder
	Arguments and temporary variables: 
<<error during printing>
	Receiver's instance variables: 
a ZnUTF8Encoder

SmallInteger(Integer)>>timesRepeat:
	Receiver: 2
	Arguments and temporary variables: 
		aBlock: 	[ ((next := stream next ifNil: [ ^ self errorIncomplete ])
	bitAnd: 2r1...etc...
		count: 	1
	Receiver's instance variables: 
2

ZnUTF8Encoder>>nextCodePointFromStream:
	Receiver: a ZnUTF8Encoder
	Arguments and temporary variables: 
		stream: 	a ZnBufferedReadStream
		byte: 	233
		next: 	116
		code: 	9
	Receiver's instance variables: 
a ZnUTF8Encoder

ZnUTF8Encoder(ZnCharacterEncoder)>>nextFromStream:
	Receiver: a ZnUTF8Encoder
	Arguments and temporary variables: 

Reply via email to