[Vm-dev] Frequent SegFaults in PharoVM with Pharo 3.0
Max Leske
maxleske at gmail.com
Sun Nov 10 19:10:09 UTC 2013
On 07.11.2013, at 08:20, Max Leske <maxleske at gmail.com> wrote:
> On 07.11.2013, at 00:27, vm-dev-request at lists.squeakfoundation.org wrote:
>
>> Date: Wed, 6 Nov 2013 19:23:47 -0200
>> From: Mariano Martinez Peck <marianopeck at gmail.com>
>> Subject: Re: [Vm-dev] Frequent SegFaults in PharoVM with Pharo 3.0
>> To: Squeak Virtual Machine Development Discussion
>> <vm-dev at lists.squeakfoundation.org>
>> Message-ID:
>> <CAA+-=mWDtHGQWSHx-m4u37Kj0UAMx=UG=qUCz+wMvgDT8BaQZQ at mail.gmail.com>
>> Content-Type: text/plain; charset="windows-1252"
>>
>> Max, did you try with Eliot VMs besides the pharo ones?
>
> No, I haven’t. I can try (though only on my machine), but if I can’t reproduce the SegFault that doesn’t mean much unfortunately. It took me 10 to 20 tries with the PharoVM too…
>
> I’ll try anyway and let you know what I find.
>
> Max
I just gave CogVM and NBCog a shot. Unfortunately I can’t use the images because they’ve been built with PharoVM and hang after load. At least on the Pharo CI there are no jobs that create Cog / NBCog images.
So no luck with different VMs.
Max
>
>>
>> Thanks
>>
>>
>> On Wed, Nov 6, 2013 at 6:04 PM, Max Leske <maxleske at gmail.com> wrote:
>>
>>>
>>> Hi
>>>
>>> We’ve been encountering frequent SegFaults when running the Fuel tests on
>>> the Pharo CI (https://ci.inria.fr/pharo-contribution/job/Fuel/). Since
>>> today I’ve also been able to reproduce the SegFaults on my MacBook Pro (OS
>>> X 10.9) too. We have not been able to determine the cause of the SegFault
>>> but we can produce SegFaults often, although not reliable (more reliable on
>>> the CI).
>>>
>>> The CI uses the stable VM:
>>> http://files.pharo.org/vm/pharo/linux/stable.zip
>>> I use a newer version from October on my machine:
>>> http://files.pharo.org/vm/pharo/mac/273.zip
>>>
>>> I’ve attached all the dumps of the crashes I was able to produce on my
>>> machine, together with Apple’s crash logs.
>>>
>>> I’ve been able to deduce the following:
>>> - garbage collection seems to be a trigger for the SegFault. When one of
>>> the methods FLMethodContextSerialization>>testFuelShouldIgnoreFuel and
>>> FLMethodContextSerialization>>testMethodContextWithNilPc contain the line
>>> “3 timesRepeat: [Smalltalk garbageCollect]” the SegFault appears nearly
>>> always (on CI). When I remove the line the builds run through.
>>> - Not all methods with the garbage collect line trigger a SegFault (I
>>> could only identify those two)
>>> - the garbage collect line itself suffices as a trigger in the mentioned
>>> methods.
>>> - The number of tests (amount of used memory?) seems to influence the
>>> appearence of the SegFault (e.g. loading "DevelopmentGroup" seems to
>>> trigger it more often than loading “Benchmarks”)
>>> - the SegFault always appears after the tests with the garbage collect
>>> line have been run, never before
>>> - the VM can’t write the crash.dmp every time
>>>
>>> Since the SegFaults are so random I cannot give you an image to reproduce
>>> the problem. I’ve had the best results using a fresh 3.0 image (
>>> http://files.pharo.org/image/30/30549.zip) and then evaluating the
>>> following in a workspace:
>>>
>>> Gofer it
>>> smalltalkhubUser: 'Pharo' project: 'Fuel';
>>> package: 'ConfigurationOfFuel';
>>> load.
>>>
>>> ((Smalltalk at: #ConfigurationOfFuel) project version: #bleedingEdge)
>>> load: 'DevelopmentGroup'.
>>>
>>> HDTestReport
>>> runClasses: (TestCase allSubclasses select: [ :class | class name
>>> beginsWith: 'FL'])
>>> named: ‘foo'
>>>
>>> If it doesn’t work, try using the TestRunner manually. Select the default
>>> Fuel tests (alphabetically at F) and the additional Fuel tests (at the
>>> bottom of the list) and run them.
>>>
>>> If anybody has any clue about what could be going on I’d really appreciate
>>> any input. I’ll happily provide more information if I can.
>>>
>>> Thanks for reading :)
>>> Max
>>>
>>>
>>>
>>
>>
>> --
>> Mariano
>> http://marianopeck.wordpress.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20131110/fbee5df0/attachment-0001.htm
More information about the Vm-dev
mailing list