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

Eliot Miranda eliot.miranda at gmail.com
Sun Jul 19 16:28:44 UTC 2015


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 <manaa.sabine at gmail.com>
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 <estebanlm at gmail.com> 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 <estebanlm at gmail.com> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20150719/95c6342e/attachment-0001.htm


More information about the Vm-dev mailing list