[Vm-dev] Re: pharo 4.0 Crashed in the VM thread again

Eliot Miranda eliot.miranda at gmail.com
Mon Jul 20 20:55:28 UTC 2015


Hi Sabine,

On Sun, Jul 19, 2015 at 11:13 PM, Sabine Manaa <manaa.sabine at gmail.com>
wrote:

>
> Hi Eliot,
>
> I use MongoDB and the Problem occurs when the user clicks within its web
> browser.
> I don't use Native Boost etc. Only lots of Pharo features like Artifact,
> Zinc etc.
> Yes, sure, I can try with other vms.
> I can try to force the bug with a smalltalk script instead of clicking
> within the application but the need of mongo db remains.
> I will think about how to create a straight forward reproducible case to
> you.
> You can send the vm to me I will test it.
>

So the first step is simply to test with an up-to-date Cog VM and see if it
still crashes.   You can download them here:

http://www.mirandabanda.org/files/Cog/VM/VM.r3410

Are you on Mac OS X or Linux?

Regards
> Sabine
>
>
>
> 2015-07-19 18:28 GMT+02:00 Eliot Miranda-2 [via Smalltalk] <[hidden email]
> <http:///user/SendEmail.jtp?type=node&node=4838285&i=0>>:
>
>>
>> Hi Sabine,
>>
>>     you have a reproducible case.  Does the image require any surrounding
>> infrastructure to reproduce the problem or is it self-contained?  Do you
>> use any special Pharo facilities such as Native Boost?  If the problem is
>> self-contained would you be willing to try one of my recent VMs and see if
>> it crashes there-on?  If it does, I'd like either you to run the system
>> using an assert-enabled VM and/or you to send me the image and changes and
>> let me take a look at the crash.  An assert-enabled VM is one full of
>> run-time consistency checks and it tends to move the point of detection in
>> a bug earlier, before things are so messed up that the VM actually
>> crashes.  It is significantly slower than the production VM, which is why
>> its only used to debug/verify.
>>
>> Ideally a reproducible case crashes from start-up without user
>> intervention.  This makes it more straight-forward to debug. If you can
>> package the crash as a doit that starts with a snapshot that's ideal.
>> Something like
>>
>>     Smalltalk image snapshot: true andQuit: true.
>>     self doSomethingThatCrashes
>>
>> This can be run from inside an inspector on a live instance if necessary,
>> avoiding needing to initialize the application, etc.
>>
>> HTH
>>
>> On Sun, Jul 19, 2015 at 5:59 AM, Sabine Manaa <[hidden email]
>> <http:///user/SendEmail.jtp?type=node&node=4838214&i=0>> wrote:
>>
>>>
>>> Hi Esteban,
>>>
>>> I downloaded the Pharo vm with file date 16.7.2015 and startet it with a
>>> pharo 4 image
>>> (curl get.pharo.org/vmLatest50 | bash).
>>> The problem remains - also with the newer vm.
>>> I reproduced it twice, please see the stack dump below.
>>> Can you see in the dump below that I used the right vm?
>>> Is this helpful?
>>>
>>> Now I try to create a reproducible case.
>>>
>>> regards
>>> Sabine
>>> ----------------------------------
>>>
>>> Segmentation fault Sun Jul 19 14:45:32 2015
>>>
>>>
>>> https://github.com/pharo-project/pharo-vm.git Commit:
>>> b292ce7c18d004482a2534c09000aa270583141f Date: 2015-06-15 16:45:13 +0200
>>> By:
>>> Esteban Lorenzano <[hidden email]
>>> <http:///user/SendEmail.jtp?type=node&node=4838214&i=1>> Jenkins build
>>> #14979
>>>
>>>
>>> C stack backtrace:
>>> 0   Pharo                               0x0004cb0f reportStackState + 159
>>>
>>>
>>> Smalltalk stack dump:
>>> 0xbffc4b54 M Dictionary>at:ifAbsent: 0x23f5c340: a(n) Dictionary
>>> 0xbffc4b74 M RKACurrency class>currencyFor: 0x235ec820: a(n) RKACurrency
>>> class
>>> 0xbffc4b98 M RKAMoney class>amount:currencyCode: 0x235ea04c: a(n)
>>> RKAMoney
>>> class
>>> 0xbffc4bb8 M SmallInteger(Number)>eur 0x1=0
>>> 0xbffc4c28 M [] in INVALID RECEIVER>monthReportTripsTableData 0x2974394c:
>>> a(n) bad class
>>> 0xbffc4c54 I INVALID RECEIVER>do:with:when: 0x2974b558: a(n) bad class
>>> 0x2974b5c0 is not a context
>>>
>>> Most recent primitives
>>> new:
>>> basicNew
>>> new:
>>> basicNew
>>> at:put:
>>> at:put:
>>> basicNew
>>> stringHash:initialHash:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> basicNew
>>> perform:with:
>>> basicNew
>>> stringHash:initialHash:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> basicNew
>>> basicNew
>>> basicNew
>>> basicNew
>>> basicNew
>>> perform:with:
>>> basicNew
>>> perform:with:
>>> basicNew
>>> basicNew
>>> basicNew
>>> stringHash:initialHash:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> basicNew
>>> basicNew
>>> basicNew
>>> basicNew
>>> basicNew
>>> perform:with:
>>> basicNew
>>> perform:with:
>>> basicNew
>>> basicNew
>>> basicNew
>>> stringHash:initialHash:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> basicNew
>>> basicNew
>>> basicNew
>>> basicNew
>>> basicNew
>>> perform:with:
>>> basicNew
>>> perform:with:
>>> basicNew
>>> basicNew
>>> basicNew
>>> basicNew
>>> basicNew
>>> basicNew
>>> perform:with:
>>> basicNew
>>> perform:with:
>>> basicNew
>>> basicNew
>>> basicNew
>>> new:
>>> basicNew:
>>> basicNew
>>> basicNew:
>>> replaceFrom:to:with:startingAt:
>>> basicNew
>>> new:
>>> basicNew
>>> new:
>>> basicNew:
>>> basicNew
>>> basicNew:
>>> replaceFrom:to:with:startingAt:
>>> basicNew
>>> new:
>>> basicNew
>>> new:
>>> basicNew:
>>> basicNew
>>> basicNew:
>>> replaceFrom:to:with:startingAt:
>>> basicNew
>>> new:
>>> basicNew:
>>> basicNew
>>> basicNew:
>>> replaceFrom:to:with:startingAt:
>>> basicNew
>>> basicNew:
>>> replaceFrom:to:with:startingAt:
>>> replaceFrom:to:with:startingAt:
>>> basicNew:
>>> replaceFrom:to:with:startingAt:
>>> replaceFrom:to:with:startingAt:
>>> basicNew:
>>> basicNew
>>> basicNew
>>> indexOfAscii:inString:startingAt:
>>> basicNew:
>>> replaceFrom:to:with:startingAt:
>>> basicNew
>>> basicNew
>>> replaceFrom:to:with:startingAt:
>>> at:put:
>>> indexOfAscii:inString:startingAt:
>>> basicNew:
>>> replaceFrom:to:with:startingAt:
>>> basicNew
>>> basicNew
>>> replaceFrom:to:with:startingAt:
>>> basicNew:
>>> replaceFrom:to:with:startingAt:
>>> stringHash:initialHash:
>>> basicNew
>>> at:put:
>>> stringHash:initialHash:
>>> basicNew
>>> at:put:
>>> stringHash:initialHash:
>>> basicNew
>>> at:put:
>>> stringHash:initialHash:
>>> basicNew
>>> at:put:
>>> stringHash:initialHash:
>>> basicNew
>>> at:put:
>>> new:
>>> stringHash:initialHash:
>>> at:put:
>>> stringHash:initialHash:
>>> at:put:
>>> stringHash:initialHash:
>>> at:put:
>>> stringHash:initialHash:
>>> at:put:
>>> stringHash:initialHash:
>>> at:put:
>>> stringHash:initialHash:
>>> basicNew
>>> at:put:
>>> stringHash:initialHash:
>>> basicNew
>>> at:put:
>>> stringHash:initialHash:
>>> basicNew
>>> at:put:
>>> stringHash:initialHash:
>>> basicNew
>>> at:put:
>>> stringHash:initialHash:
>>> basicNew
>>> at:put:
>>> new:
>>> stringHash:initialHash:
>>> at:put:
>>> stringHash:initialHash:
>>> at:put:
>>> stringHash:initialHash:
>>> at:put:
>>> stringHash:initialHash:
>>> at:put:
>>> stringHash:initialHash:
>>> at:put:
>>> stringHash:initialHash:
>>> at:put:
>>> stringHash:initialHash:
>>> at:put:
>>> stringHash:initialHash:
>>> at:put:
>>> stringHash:initialHash:
>>> at:put:
>>> stringHash:initialHash:
>>> at:put:
>>> stringHash:initialHash:
>>> basicNew
>>> at:put:
>>> new:
>>> at:put:
>>> at:put:
>>> at:put:
>>> basicNew
>>> basicNew
>>> basicNew
>>> new:
>>> basicNew
>>> new:
>>> basicNew
>>> new:
>>> basicNew
>>> new:
>>> basicNew
>>> at:put:
>>> at:put:
>>> basicNew
>>> **IncrementalGC**
>>>
>>>         (Segmentation fault)
>>>
>>> Segmentation fault Sun Jul 19 14:50:23 2015
>>>
>>>
>>> https://github.com/pharo-project/pharo-vm.git Commit:
>>> b292ce7c18d004482a2534c09000aa270583141f Date: 2015-06-15 16:45:13 +0200
>>> By:
>>> Esteban Lorenzano <[hidden email]
>>> <http:///user/SendEmail.jtp?type=node&node=4838214&i=2>> Jenkins build
>>> #14979
>>>
>>>
>>> C stack backtrace:
>>> 0   Pharo                               0x0004cb0f reportStackState + 159
>>>
>>>
>>> Smalltalk stack dump:
>>> 0xbffc6b10 M Array(OrderedCollection)>do: 0x24d390a0: a(n) Array
>>> 0xbffc6b30 M Array(Collection)>inject:into: 0x24d390a0: a(n) Array
>>> 0xbffc6ba4 M [] in INVALID RECEIVER>monthReportTripsTableData 0x24d30acc:
>>> a(n) bad class
>>> 0xbffc6bd0 I INVALID RECEIVER>do:with:when: 0x24d38790: a(n) bad class
>>> 0xbffc6bfc I INVALID RECEIVER>do:with: 0x24d38790: a(n) bad class
>>> 0xbffc6c24 I INVALID RECEIVER>datesDo: 0x24d38790: a(n) bad class
>>> 0xbffc6c60 I INVALID RECEIVER>monthReportTripsTableData 0x24d30acc: a(n)
>>> bad
>>> class
>>> 0x24d3864c is not a context
>>>
>>> Most recent primitives
>>> basicNew
>>> new:
>>> basicNew
>>> new:
>>> basicNew
>>> at:put:
>>> at:put:
>>> basicNew
>>> stringHash:initialHash:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> basicNew
>>> perform:with:
>>> basicNew
>>> stringHash:initialHash:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> basicNew
>>> basicNew
>>> basicNew
>>> basicNew
>>> basicNew
>>> perform:with:
>>> basicNew
>>> perform:with:
>>> basicNew
>>> basicNew
>>> basicNew
>>> stringHash:initialHash:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> basicNew
>>> basicNew
>>> basicNew
>>> basicNew
>>> basicNew
>>> perform:with:
>>> basicNew
>>> perform:with:
>>> basicNew
>>> basicNew
>>> basicNew
>>> stringHash:initialHash:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> compare:with:collated:
>>> basicNew
>>> basicNew
>>> basicNew
>>> basicNew
>>> basicNew
>>> perform:with:
>>> basicNew
>>> perform:with:
>>> basicNew
>>> basicNew
>>> basicNew
>>> basicNew
>>> basicNew
>>> basicNew
>>> perform:with:
>>> basicNew
>>> perform:with:
>>> basicNew
>>> basicNew
>>> basicNew
>>> new:
>>> basicNew:
>>> basicNew
>>> basicNew:
>>> replaceFrom:to:with:startingAt:
>>> basicNew
>>> new:
>>> basicNew
>>> new:
>>> basicNew:
>>> basicNew
>>> basicNew:
>>> replaceFrom:to:with:startingAt:
>>> basicNew
>>> new:
>>> basicNew
>>> new:
>>> basicNew:
>>> basicNew
>>> basicNew:
>>> replaceFrom:to:with:startingAt:
>>> basicNew
>>> new:
>>> basicNew:
>>> basicNew
>>> basicNew:
>>> replaceFrom:to:with:startingAt:
>>> basicNew
>>> basicNew:
>>> replaceFrom:to:with:startingAt:
>>> replaceFrom:to:with:startingAt:
>>> basicNew:
>>> replaceFrom:to:with:startingAt:
>>> replaceFrom:to:with:startingAt:
>>> basicNew:
>>> basicNew
>>> basicNew
>>> indexOfAscii:inString:startingAt:
>>> basicNew:
>>> replaceFrom:to:with:startingAt:
>>> basicNew
>>> basicNew
>>> replaceFrom:to:with:startingAt:
>>> at:put:
>>> indexOfAscii:inString:startingAt:
>>> basicNew:
>>> replaceFrom:to:with:startingAt:
>>> basicNew
>>> basicNew
>>> replaceFrom:to:with:startingAt:
>>> basicNew:
>>> replaceFrom:to:with:startingAt:
>>> stringHash:initialHash:
>>> basicNew
>>> at:put:
>>> stringHash:initialHash:
>>> basicNew
>>> at:put:
>>> stringHash:initialHash:
>>> basicNew
>>> at:put:
>>> stringHash:initialHash:
>>> basicNew
>>> at:put:
>>> stringHash:initialHash:
>>> basicNew
>>> at:put:
>>> new:
>>> stringHash:initialHash:
>>> at:put:
>>> stringHash:initialHash:
>>> at:put:
>>> stringHash:initialHash:
>>> at:put:
>>> stringHash:initialHash:
>>> at:put:
>>> stringHash:initialHash:
>>> at:put:
>>> stringHash:initialHash:
>>> basicNew
>>> at:put:
>>> stringHash:initialHash:
>>> basicNew
>>> at:put:
>>> stringHash:initialHash:
>>> basicNew
>>> at:put:
>>> stringHash:initialHash:
>>> basicNew
>>> at:put:
>>> stringHash:initialHash:
>>> basicNew
>>> at:put:
>>> new:
>>> stringHash:initialHash:
>>> at:put:
>>> stringHash:initialHash:
>>> at:put:
>>> stringHash:initialHash:
>>> at:put:
>>> stringHash:initialHash:
>>> at:put:
>>> stringHash:initialHash:
>>> at:put:
>>> stringHash:initialHash:
>>> at:put:
>>> stringHash:initialHash:
>>> at:put:
>>> stringHash:initialHash:
>>> at:put:
>>> stringHash:initialHash:
>>> at:put:
>>> stringHash:initialHash:
>>> at:put:
>>> stringHash:initialHash:
>>> basicNew
>>> at:put:
>>> new:
>>> at:put:
>>> at:put:
>>> at:put:
>>> basicNew
>>> basicNew
>>> basicNew
>>> new:
>>> basicNew
>>> new:
>>> basicNew
>>> new:
>>> basicNew
>>> new:
>>> basicNew
>>> at:put:
>>> at:put:
>>> **IncrementalGC**
>>>
>>>         (Segmentation fault)
>>>
>>>
>>>
>>>
>>> --
>>> View this message in context:
>>> http://forum.world.st/pharo-4-0-Crashed-in-the-VM-thread-again-tp4836826p4838173.html
>>> Sent from the Squeak VM mailing list archive at Nabble.com.
>>>
>>
>>
>>
>> --
>> _,,,^..^,,,_
>> best, Eliot
>>
>>
>> ------------------------------
>>  If you reply to this email, your message will be added to the
>> discussion below:
>>
>> http://forum.world.st/pharo-4-0-Crashed-in-the-VM-thread-again-tp4836826p4838214.html
>>  To unsubscribe from pharo 4.0 Crashed in the VM thread again, click here
>> .
>> NAML
>> <http://forum.world.st/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>>
>
>
> ------------------------------
> View this message in context: Re: pharo 4.0 Crashed in the VM thread again
> <http://forum.world.st/pharo-4-0-Crashed-in-the-VM-thread-again-tp4836826p4838285.html>
> Sent from the Squeak VM mailing list archive
> <http://forum.world.st/Squeak-VM-f104410.html> at Nabble.com.
>
>


-- 
_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20150720/a3d8ecd7/attachment-0001.htm


More information about the Vm-dev mailing list