[Glass] Again, Corrup Error preventing debugging real seaside exception

Mariano Martinez Peck via Glass glass at lists.gemtalksystems.com
Thu Feb 2 05:15:08 PST 2017


OK, Opened issue: https://github.com/SeasideSt/Grease/issues/22

Cheers,

On Wed, Feb 1, 2017 at 7:49 PM, Dale Henrichs <
dale.henrichs at gemtalksystems.com> wrote:

>
>
> On 2/1/17 12:57 PM, Mariano Martinez Peck wrote:
>
>
>
> On Wed, Feb 1, 2017 at 5:50 PM, Dale Henrichs <
> dale.henrichs at gemtalksystems.com> wrote:
>
>> Mariano,
>>
>> This second error is not related to the earlier error we were tracking
>> ... I don't see an actual error message in your email, so I'm not exactly
>> sure what is breaking here ...
>>
>
> The error message is the one of the screenshot rendered in the browser
> (attachment named "Screen Shot 2017-02-01 at 5.13.31 PM.png").
>
> That error message was "CorruptObj" and the error message I was looking
> for was the error message from the #changeClassTo: ... The stack that you
> supplied us with was different from the #changeClassTo: stack, as I didn't
> see selfValue on the stack ... doesn't matter though
>
>
>
>> Nonetheless, #changeClassTo: was a nasty little performance hack that is
>> no longer needed.
>>
>> In GRUtf8CodecStream>>nextPutAll: the following should be done:
>>
>>   binary
>>     ifTrue: [ stream nextPutAll: aString asString ]
>>     ifFalse: [ stream nextPutAll: aString _encodeAsUTF8intoString ]
>>
>> and in Utf8>>asString the following should be done:
>>
>>     ^ self decodeToUnicode
>>
>> It is odd that this "trick" is failing now (especially without an error
>> message), but I think the right answer is to eliminate the use of
>> #changeClassTo:
>>
>
> Thanks!! Those changes DID fix it!!!  Wow...it was hard one this one... I
> am glad we find it. Do you need anything more from me to open issue or
> whatever? I will live with overrides for the moment.
>
> Please open an issue against Grease ... up on SeasideST so that we can get
> the fix in ... the #changeTo: hack looks like it went in around 3.2.2, so
> I'm not exactly sure when _encodeAsUTF8intoString was added to the system
> (it was added to replace the #changeTo: hack)...
>
>
> BTW, are you sure about performance? Because I remember that changeClass:
> hack did improve performance significantly. I wouldn't want to loos that
> performance boost!
>
> Well, the issue that changeClassTo: was trying to solve was the conversion
> of the Utf8 instance (ByteArray) into a String (required by Seaside).
> #'_encodeAsUTF8intoString' encodes utf8 directly into a String instance
> .... so the performance should be no worse than #changeClassTo:
>
> Dale
>



-- 
Mariano
http://marianopeck.wordpress.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/private/glass/attachments/20170202/85285c07/attachment-0001.html>


More information about the Glass mailing list