[Vm-dev] Reproducible VM crash with excessive garbage collection

Max Leske maxleske at gmail.com
Sun Nov 16 16:46:22 UTC 2014


Hi.

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>


Cheers,
Max
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20141116/8a33d313/attachment.htm


More information about the Vm-dev mailing list