[Vm-dev] Reproducible VM crash with excessive garbage collection
maxleske at gmail.com
Sun Nov 16 16:46:22 UTC 2014
I may have discovered a bug in the PharoVM (stable and latest), which may have been around for at least two years (I had a very similiar situation about two years ago with Fuel).
I have a test that fails when a particular method contains “3 timesRepeat: [ Smalltalk garbageCollect ]”. In order to be sure that it’ not the #timesRepeat message that’s causing the crash, I replaced that with multiple “Smalltalk garbageCollect” sends.
The test I’m talking about ObsoleteTest>>testFixObsoleteSharedPools. To make the test crash the VM, simply add a couple of garbageCollects at the end of SmalltalkImage>>fixObsoleteSharedPools. I tried to come up with a little script to demonstrate the issue but I can only reproduce the problem with Nautilus (which makes me suspect that the problem is related to Nautilus).
Steps to reproduce:
1. get a fresh image and the latest vm:
curl get.pharo.org/40+vmLastest <http://get.pharo.org/40+vmLastest> | bash && ./pharo-ui Pharo.image
2. open the class browser and navigate to SmalltalkImage>>fixObsoleteSharedPools
3. Append ten “self garbageCollect” statements to the method.
4. navigate to ObsoleteTest>>testFixObsoleteSharedPools and click on the test runner icon to the left of the method name.
I can reproduce this with the Mac VM (OS X 10.10) as well as with the linux VM (Ubuntu 12.04.1).
I’ve opened an issue for this: https://pharo.fogbugz.com/f/cases/14478/Reproducible-VM-crash-with-excessive-garbage-collection <https://pharo.fogbugz.com/f/cases/14478/Reproducible-VM-crash-with-excessive-garbage-collection>
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Vm-dev