[Vm-dev] 'Run object as method' is flawed in VM

Igor Stasenko siguctua at gmail.com
Wed Dec 9 05:39:03 UTC 2009


I tried to play with this feature and found that if i install a
smallinteger into method dictionary as a method
and then try to invoke that method, my VM is crashing.

testCrashWithSmallInt
	self class methodDict at: #answer10 put: 10.
	self should: [self answer10] raise: MessageNotUnderstood.
	self class basicRemoveSelector: #answer10.


Wed Dec 09 07:32:43 2009

Exception code: C0000005
Exception addr: 0040C08F
Access violation (read access) at 00000015
EAX:02ECD658	EBX:00000022	ECX:027FBAA8	EDX:00000015
ESI:02ECD570	EDI:00000000	EBP:01250004	ESP:0006FA48
EIP:0040C08F	EFL:00010246
FP Control: FFFF027F
FP Status:  FFFF0120
FP Tag:     FFFFFFFF


VM Version: Squeak 3.11.2 (alpha) from Mar 27 2009
Compiler: gcc 2.95.2 19991024 (release)

Current byte code: 209
Primitive index: 199

Loaded plugins:
	SocketPlugin 27 March 2009 (i)
	SoundPlugin 6 March 2009 (i)
	LargeIntegers v1.5 6 March 2009 (i)
	Matrix2x3Plugin 6 March 2009 (i)
	FloatArrayPlugin 6 March 2009 (i)
	B2DPlugin 6 March 2009 (i)
	BitBltPlugin 6 March 2009 (i)
	SecurityPlugin 6 March 2009 (i)
	FilePlugin 6 March 2009 (i)
	MiscPrimitivePlugin 6 March 2009 (i)


Stack dump:

49085392 TestObjectsAsMethods>testCrashWithSmallInt
49085300 TestCase>executeShould:inScopeOf:

-- 
Best regards,
Igor Stasenko AKA sig.


More information about the Vm-dev mailing list