[squeak-dev] Fwd: VM crash when adding new instance variable to MethodDictionary

Fabio Niephaus lists at fniephaus.com
Mon May 13 16:00:38 UTC 2019


Adding vm-dev...

---------- Forwarded message ---------
From: bjoern.daase <bjoern.daase at gmail.com>
Date: Mon, May 13, 2019 at 4:18 PM
Subject: [squeak-dev] VM crash when adding new instance variable to
MethodDictionary
To: <squeak-dev at lists.squeakfoundation.org>


Hi everyone,

we got the following issue.

Problem:
I get a VM crash when adding a new instance variable to the MethodDictionary
class.
Happens on 5.2 as well as on trunk.

Expected behavior:
Any of the following
1. It works
2. You get an error, that you may not change the instance variables of
MethodDictionary (as done on Collection and add a hint in the class comment

Steps to reproduce:
1. Add an instance variable to the MethodDictionary class
2. Save the change

Stacktrace:
(is from 5.2 but happens on trunk as well)
attached


Bests,
Björn







--
Sent from: http://forum.world.st/Squeak-Dev-f45488.html
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20190513/72e7a849/attachment.html>
-------------- next part --------------

Recursive not understood error encountered

/home/bjoern/HPI/Bachelorprojekt/Squeak5.2-18221-64bit-201810071412-Linux/bin/squeak
Squeak VM version: 5.0-201810071412  Mon Oct  8 09:30:27 UTC 2018 gcc 4.8 [Production Spur 64-bit VM]
Built from: CoInterpreter VMMaker.oscog-eem.2437 uuid: 0e97c106-dd0b-437b-b1aa-e15257288c3f Oct  8 2018
With: StackToRegisterMappingCogit VMMaker.oscog-eem.2432 uuid: 7b14d114-0e04-4e46-b8a7-4b5e6d87f5fe Oct  8 2018
Revision: VM: 201810071412 https://github.com/OpenSmalltalk/opensmalltalk-vm.git
Date: Sun Oct 7 16:12:17 2018 CommitHash: c8f5070
Plugins: 201810071412 https://github.com/OpenSmalltalk/opensmalltalk-vm.git
Build host: Linux travis-job-9dffa938-ef7d-4d93-9600-69ed92da428b 4.4.0-101-generic #124~14.04.1-Ubuntu SMP Fri Nov 10 19:05:36 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
plugin path: /home/bjoern/HPI/Bachelorprojekt/Squeak5.2-18221-64bit-201810071412-Linux/bin/ [default: /home/bjoern/HPI/Bachelorprojekt/Squeak5.2-18221-64bit-201810071412-Linux/bin/]


C stack backtrace & registers:
*/home/bjoern/HPI/Bachelorprojekt/Squeak5.2-18221-64bit-201810071412-Linux/bin/squeak[0x41b8b5]
/home/bjoern/HPI/Bachelorprojekt/Squeak5.2-18221-64bit-201810071412-Linux/bin/squeak(error+0xf)[0x41cfff]
/home/bjoern/HPI/Bachelorprojekt/Squeak5.2-18221-64bit-201810071412-Linux/bin/squeak[0x45a98f]
/home/bjoern/HPI/Bachelorprojekt/Squeak5.2-18221-64bit-201810071412-Linux/bin/squeak(ceSendFromInLineCacheMiss+0x16f)[0x45c64f]
[0x1bfa6eb]
[0x0]


Smalltalk stack dump:
    0x7ffc3fdbc4e0 M MethodDictionary class(Class)>binding 0x1ccca78: a(n) MethodDictionary class
    0x7ffc3fdbc530 M [] in ClassBuilder>update:to: 0xe1aec08: a(n) ClassBuilder
    0x7ffc3fdbc570 M BlockClosure>ensure: 0x1ecb1a0: a(n) BlockClosure
    0x7ffc3fdbc5c0 M BlockClosure>valueUnpreemptively 0x1ecb1a0: a(n) BlockClosure
    0x7ffc3fdbc5f8 M ClassBuilder>update:to: 0xe1aec08: a(n) ClassBuilder
    0x7ffc3fdbc638 M ClassBuilder>mutate:to: 0xe1aec08: a(n) ClassBuilder
    0x7ffc3fdbc688 M [] in ClassBuilder>mutate:to: 0xe1aec08: a(n) ClassBuilder
    0x7ffc3fdbc6d0 M Array(SequenceableCollection)>do: 0x1cccb00: a(n) Array
    0x7ffc3fdbc708 M ClassBuilder>mutate:to: 0xe1aec08: a(n) ClassBuilder
    0x7ffc3fdbc758 M [] in ClassBuilder>mutate:to: 0xe1aec08: a(n) ClassBuilder
    0x7ffc3fdbc7a0 M Array(SequenceableCollection)>do: 0xe1b0e18: a(n) Array
    0x7ffc3fdbc7e8 I ClassBuilder>mutate:to: 0xe1aec08: a(n) ClassBuilder
    0x7ffc3fdbc838 M [] in ClassBuilder>recompile:from:to:mutate: 0xe1aec08: a(n) ClassBuilder
    0x7ffc3fdbc870 M BlockClosure>on:do: 0xe1b0ee8: a(n) BlockClosure
    0x7ffc3fdbc8c8 I CurrentReadOnlySourceFiles class>cacheDuring: 0x2973250: a(n) CurrentReadOnlySourceFiles class
    0x7ffc3fdbc910 M [] in ClassBuilder>recompile:from:to:mutate: 0xe1aec08: a(n) ClassBuilder
    0x7ffc3fdbc948 M [] in ClassBuilder>informUserDuring: 0xe1aec08: a(n) ClassBuilder
    0x7ffc3fdbc998 M [] in MorphicUIManager>displayProgress:at:from:to:during: 0x6eb9778: a(n) MorphicUIManager
    0x7ffc3fdbc9d0 M BlockClosure>on:do: 0xe1b11d0: a(n) BlockClosure
    0x7ffc3fdbca28 M [] in MorphicUIManager>displayProgress:at:from:to:during: 0x6eb9778: a(n) MorphicUIManager
    0x7ffc3fdbca68 M BlockClosure>ensure: 0xe1b12e8: a(n) BlockClosure
    0x7ffc3fdbcac0 I MorphicUIManager>displayProgress:at:from:to:during: 0x6eb9778: a(n) MorphicUIManager
    0x7ffc3fdbcb28 I ProgressInitiationException>defaultResumeValue 0xe1aea18: a(n) ProgressInitiationException
    0x7ffc3fdbcb70 I ProgressInitiationException(Exception)>resume 0xe1aea18: a(n) ProgressInitiationException
    0x7ffc3fdbcba0 M ProgressInitiationException>defaultAction 0xe1aea18: a(n) ProgressInitiationException
    0x7ffc3fdbcbd8 M UndefinedObject>handleSignal: 0x24e78e0: a(n) UndefinedObject
    0x7ffc3fd8e648 M Context>handleSignal: 0xe1ae8a8: a(n) Context
    0x7ffc3fd8e680 M ProgressInitiationException(Exception)>signal 0xe1aea18: a(n) ProgressInitiationException
    0x7ffc3fd8e6c0 I ProgressInitiationException>display:at:from:to:during: 0xe1aea18: a(n) ProgressInitiationException
    0x7ffc3fd8e728 I ProgressInitiationException class>display:at:from:to:during: 0x297b0d0: a(n) ProgressInitiationException class
    0x7ffc3fd8e790 I SystemProgressMorph class>informUserAt:during: 0x2b88028: a(n) SystemProgressMorph class
    0x7ffc3fd8e7e0 I MorphicUIManager>informUserDuring: 0x6eb9778: a(n) MorphicUIManager
    0x7ffc3fd8e828 I ClassBuilder>informUserDuring: 0xe1aec08: a(n) ClassBuilder
    0x7ffc3fd8e870 I ClassBuilder>recompile:from:to:mutate: 0xe1aec08: a(n) ClassBuilder
    0x7ffc3fd8e958 I [] in ClassBuilder>name:inEnvironment:subclassOf:type:instanceVariableNames:classVariableNames:poolDictionaries:category:unsafe: 0xe1aec08: a(n) ClassBuilder
    0x7ffc3fd8e998 M BlockClosure>ensure: 0xe1aee30: a(n) BlockClosure
    0x7ffc3fd8ea08 I ClassBuilder>name:inEnvironment:subclassOf:type:instanceVariableNames:classVariableNames:poolDictionaries:category:unsafe: 0xe1aec08: a(n) ClassBuilder
    0x7ffc3fd8ea90 I ClassBuilder>name:inEnvironment:subclassOf:type:instanceVariableNames:classVariableNames:poolDictionaries:category: 0xe1aec08: a(n) ClassBuilder
    0x7ffc3fd8eb18 I ClassBuilder>superclass:subclass:instanceVariableNames:classVariableNames:poolDictionaries:category: 0xe1aec08: a(n) ClassBuilder
    0x7ffc3fd8eb88 I Collection class(Class)>subclass:instanceVariableNames:classVariableNames:poolDictionaries:category: 0x2892c08: a(n) Collection class
    0x7ffc3fd8ebe0 M 
Segmentation fault Mon May 13 15:57:56 2019


/home/bjoern/HPI/Bachelorprojekt/Squeak5.2-18221-64bit-201810071412-Linux/bin/squeak
Squeak VM version: 5.0-201810071412  Mon Oct  8 09:30:27 UTC 2018 gcc 4.8 [Production Spur 64-bit VM]
Built from: CoInterpreter VMMaker.oscog-eem.2437 uuid: 0e97c106-dd0b-437b-b1aa-e15257288c3f Oct  8 2018
With: StackToRegisterMappingCogit VMMaker.oscog-eem.2432 uuid: 7b14d114-0e04-4e46-b8a7-4b5e6d87f5fe Oct  8 2018
Revision: VM: 201810071412 https://github.com/OpenSmalltalk/opensmalltalk-vm.git
Date: Sun Oct 7 16:12:17 2018 CommitHash: c8f5070
Plugins: 201810071412 https://github.com/OpenSmalltalk/opensmalltalk-vm.git
Build host: Linux travis-job-9dffa938-ef7d-4d93-9600-69ed92da428b 4.4.0-101-generic #124~14.04.1-Ubuntu SMP Fri Nov 10 19:05:36 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
plugin path: /home/bjoern/HPI/Bachelorprojekt/Squeak5.2-18221-64bit-201810071412-Linux/bin/ [default: /home/bjoern/HPI/Bachelorprojekt/Squeak5.2-18221-64bit-201810071412-Linux/bin/]


C stack backtrace & registers:
	rax 0x3fd82b00 rbx 0x3fd82990 rcx 0x3fd82bb8 rdx 0x3fd82a48
	rdi 0x3fd82768 rsi 0x3fd82768 rbp 0x3fd828d8 rsp 0x3fd82c70
	r8  0x3fd821a8 r9  0x3fd82260 r10 0x3fd82318 r11 0x3fd823d0
	r12 0x3fd82488 r13 0x3fd82540 r14 0x3fd825f8 r15 0x3fd826b0
	rip 0x3fd82d28
*[0x7ffc3fd82d28]
/home/bjoern/HPI/Bachelorprojekt/Squeak5.2-18221-64bit-201810071412-Linux/bin/squeak[0x41b767]
/home/bjoern/HPI/Bachelorprojekt/Squeak5.2-18221-64bit-201810071412-Linux/bin/squeak[0x41d1ee]
/usr/lib/libpthread.so.0(+0x124d0)[0x7f5818d724d0]
/home/bjoern/HPI/Bachelorprojekt/Squeak5.2-18221-64bit-201810071412-Linux/bin/squeak[0x433e41]
/home/bjoern/HPI/Bachelorprojekt/Squeak5.2-18221-64bit-201810071412-Linux/bin/squeak[0x434a8b]
/home/bjoern/HPI/Bachelorprojekt/Squeak5.2-18221-64bit-201810071412-Linux/bin/squeak[0x46c2db]
/home/bjoern/HPI/Bachelorprojekt/Squeak5.2-18221-64bit-201810071412-Linux/bin/squeak[0x46c3d3]
/home/bjoern/HPI/Bachelorprojekt/Squeak5.2-18221-64bit-201810071412-Linux/bin/squeak[0x46c49d]
/home/bjoern/HPI/Bachelorprojekt/Squeak5.2-18221-64bit-201810071412-Linux/bin/squeak[0x41b860]
/home/bjoern/HPI/Bachelorprojekt/Squeak5.2-18221-64bit-201810071412-Linux/bin/squeak(error+0xf)[0x41cfff]
/home/bjoern/HPI/Bachelorprojekt/Squeak5.2-18221-64bit-201810071412-Linux/bin/squeak[0x45a98f]
/home/bjoern/HPI/Bachelorprojekt/Squeak5.2-18221-64bit-201810071412-Linux/bin/squeak(ceSendFromInLineCacheMiss+0x16f)[0x45c64f]
[0x1bfa6eb]
[0x0]

Most recent primitives
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
basicNew:
instVarAt:
instVarAt:put:
instVarAt:
instVarAt:put:
elementsForwardIdentityTo:
elementsForwardIdentityTo:

stack page bytes 8192 available headroom 5576 minimum unused headroom 6008

	(Segmentation fault)
zsh: abort (core dumped)   


More information about the Squeak-dev mailing list