ImageSegmentTest crashes (was: Re: Jenkins/Trunk/Spur (was: Re: [squeak-dev] The Trunk: SMLoader-ul.83.mcz))

Levente Uzonyi leves at elte.hu
Thu Aug 20 23:53:47 UTC 2015


Hi All,

Today I learned that ImageSegmentTest unloads and reloads the "non-active" 
UIManagers from the image. Since ImageSegments are broken in Spur, the 
reload will (may?) be partial. In my image this results in "half-loaded" 
methods: the methods don't get reinstalled into the MethodDictionary, but 
their selectors are loaded. It usually happens to MVCUIManager >> 
#dialogStringFromQuery:withTitle:, and sometimes happens to 
DummyUIManager's methods as well.

The result is a broken MethodDictionary, which can easily be the cause of 
the VM crashes, and a broken Symbol table, because the selector's name is 
a non-interned Symbol.

I think we should disable ImageSegmentTest >> 
#testImageSegmentsShouldBeWritableToaFile until ImageSegments get fixed 
in Spur, and/or modify the test to unload/reload transient classes 
instead of ones which may be used in the future.

Levente

On Sat, 15 Aug 2015, Tobias Pape wrote:

> Hi Levente,
>
> On 15.08.2015, at 11:16, Levente Uzonyi <leves at elte.hu> wrote:
>
>> Hi Tobias,
>>
>> Thanks for pointing it out. I thought Bert made some changes which ensure that such dependencies don't require a separate update map. I tested the update process on my machine, and it worked for me.
>> Anyway, I've modified the last update map to load Collections-ul.641 before other packages related to this change.
>> Btw, am I right that Jenkins is still using a non-Spur image to run the tests?
>
> The traditional Job is non-Spur:
>
> 	http://build.squeak.org/job/SqueakTrunk/
>
> The 'old' Spur job
>
> 	~~http://build.squeak.org/job/SqueakTrunkOnSpur/~~
>
> is gone (it didn't work most of the time).
>
> There's a new Trunk job that is Spur-based:
>
> 	http://build.squeak.org/job/Trunk/
>
> But it still crashes the VM in some image segment code. See
> related messages with Eliot.
>
> Best regards
> 	-Tobias
>
>>
>> On Sat, 15 Aug 2015, Tobias Pape wrote:
>>
>>>
>>> On 14.08.2015, at 20:33, commits at source.squeak.org wrote:
>>>
>>>> Levente Uzonyi uploaded a new version of SMLoader to project The Trunk:
>>>> http://source.squeak.org/trunk/SMLoader-ul.83.mcz
>>>>
>>>> ==================== Summary ====================
>>>>
>>>> Name: SMLoader-ul.83
>>>> Author: ul
>>>> Time: 14 August 2015, 7:02:58.782 pm
>>>> UUID: 4898c13c-15f3-4ed8-867a-df8d79905124
>>>> Ancestors: SMLoader-mt.82
>>>>
>>>> #includesSubString: -> #includesSubstring:
>>>>
>>>> =============== Diff against SMLoader-mt.82 ===============
>>>>
>>>> Item was changed:
>>>
>>> Hi. The Trunk says:
>>>
>>> http://build.squeak.org/job/Trunk/default/10/
>>>
>>> 2015-08-14T22:46:37.575+01:00: Installing Tools-ul.630
>>> 2015-08-14T22:46:37.645+01:00: Installing Protocols-ul.49
>>> 2015-08-14T22:46:37.71+01:00: Installing SMLoader-ul.83
>>> vvvvvvvvvvvvvvvvvv MessageNotUnderstood: ByteString>>includesSubstring: vvvvvvvvvvvvvvvvvv
>>> The time is 2015-08-14T22:46:37.743+01:00
>>> ByteString(Object)>>doesNotUnderstand: #includesSubstring:
>>> [] in [] in SMLoaderPlus class>>initialize
>>> OrderedCollection>>select:
>>>
>>>
>>> That's Strange…
>>>
>>>
>>> Best regards
>>> 	-Tobias
>
>
>
>


More information about the Squeak-dev mailing list