Crashing the vm in a reproducible way
Hi We already experienced this with Pavel in December. Once I loaded UnReloader from SystemConfigurations from STHUB/Pharo and I run unload I crash systematically the latest vm obtain with wget -O - http://get.pharo.org/30+vmLatest | bash the method crashing the system is checkState "self new checkState" | difference | difference := SystemNavigation default allUnimplementedCalls copyWithoutAll: unimplementedCalls. difference ifNotEmpty: [ self log nextPutAll: 'new unimplemented calls: '; cr; nextPutAll: difference asString; cr.]. difference := (SystemNavigation default obsoleteClasses collect: #name) asSet copyWithoutAll: obsoleteClasses. difference ifNotEmpty: [ self log nextPutAll: 'new obsoleteClasses:'; cr; nextPutAll: difference asString; cr]. difference := (Undeclared collect: #name) asSet copyWithoutAll: undeclared. difference ifNotEmpty: [ self log nextPutAll: 'new undeclared: '; cr; nextPutAll: difference asString; cr]. unimplementedCalls := SystemNavigation default allUnimplementedCalls. obsoleteClasses := (SystemNavigation default obsoleteClasses collect: #name) asSet. undeclared := (Undeclared collect: #name) asSet. Now executing the expressions one by one once the tools have been removed does not crash. Stef
Esteban here is the script to systematically reproduce it.
wget -O - http://get.pharo.org/30+vmLatest | bash
Close all the nautilus windows. Gofer new smalltalkhubUser: 'Pharo' project: 'SystemConfigurations'; version: 'UnReloader-StephaneDucasse.25'; load. UnReloader new unload On 09 Mar 2014, at 22:10, Pharo4Stef <pharo4Stef@free.fr> wrote:
Hi
We already experienced this with Pavel in December.
Once I loaded UnReloader from SystemConfigurations from STHUB/Pharo and I run unload I crash systematically the latest vm obtain with
wget -O - http://get.pharo.org/30+vmLatest | bash
the method crashing the system is
checkState "self new checkState" | difference |
difference := SystemNavigation default allUnimplementedCalls copyWithoutAll: unimplementedCalls. difference ifNotEmpty: [ self log nextPutAll: 'new unimplemented calls: '; cr; nextPutAll: difference asString; cr.].
difference := (SystemNavigation default obsoleteClasses collect: #name) asSet copyWithoutAll: obsoleteClasses. difference ifNotEmpty: [ self log nextPutAll: 'new obsoleteClasses:'; cr; nextPutAll: difference asString; cr].
difference := (Undeclared collect: #name) asSet copyWithoutAll: undeclared. difference ifNotEmpty: [ self log nextPutAll: 'new undeclared: '; cr; nextPutAll: difference asString; cr].
unimplementedCalls := SystemNavigation default allUnimplementedCalls. obsoleteClasses := (SystemNavigation default obsoleteClasses collect: #name) asSet. undeclared := (Undeclared collect: #name) asSet.
Now executing the expressions one by one once the tools have been removed does not crash.
Stef
participants (1)
-
Pharo4Stef