[squeak-dev] seg fault on squeak6/spur while attempting to add some collections to ~700, 000 objects

gettimothy gettimothy at zoho.com
Sun Nov 14 19:00:43 UTC 2021


Good afternoon.





I have ~700,000 objects in a SortedCollection and I am attempting to modify them.

WikitextSAXTemplates templates do:[:t | t resetParameterDictionaries].





"t" in this case invokes this:





resetParameterDictionaries



parameters := SortedCollection sortBlock:[:a :b | a key < b key].

nestedparameters :=  SortedCollection sortBlock:[:a :b | a key < b key].

nestedparamaterizedtemplates := SortedCollection sortBlock:[:a :b | a key < b key].

nestedsimpletemplates :=  SortedCollection sortBlock:[:a :b | a key < b key].







I get a segfault:



stack page bytes 8192 available headroom 5576 minimum unused headroom 6032



Segmentation fault Sun Nov 14 13:53:18 2021





/usr/local/lib/squeak/5.0-202110010850-64bit/squeak

Squeak VM version: 5.0-202110010850  Fri Oct  1 13:13:17 EDT 2021 clang [Production Spur 64-bit VM]

Built from: CoInterpreter VMMaker.oscog-eem.3077 uuid: 8ad52133-62f2-4e1e-bf92-9b29ba104d62 Oct  1 2021

With: StackToRegisterMappingCogit VMMaker.oscog-eem.3077 uuid: 8ad52133-62f2-4e1e-bf92-9b29ba104d62 Oct  1 2021

Revision: VM: 202110010850 wm at tinker:usr/src/smalltalk/tmp/oscogvm

Date: Fri Oct 1 10:50:05 2021 CommitHash: 7ede113ff

Plugins: 202110010850 wm at tinker:usr/src/smalltalk/tmp/oscogvm

Build host: Linux tinker 4.4.14 #2 SMP Fri Jun 24 13:38:27 CDT 2016 x86_64 AMD Ryzen 7 2700 Eight-Core Processor AuthenticAMD GNU/Linux

plugin path: /usr/local/bin/../lib/squeak/5.0-202110010850-64bit [default: /usr/local/lib/squeak/5.0-202110010850-64bit/]





C stack backtrace & registers:

    rax     0x21889b20 rbx      0x1000010 rcx            0x1 rdx       0xffffe0

    rdi            0x1 rsi 0xffffffffffffff rbp      0x1000000 rsp 0x7ffd144dd5c0

    r8      0x49751cf0 r9           (nil) r10          (nil) r11          (nil)

    r12          (nil) r13 0xffffffffffffff r14     0xd6700008 r15     0xa5662d20

    rip       0x42b1e1

*/usr/local/bin/../lib/squeak/5.0-202110010850-64bit/squeak(remember+0x1b1)[0x42b1e1]

/usr/local/bin/../lib/squeak/5.0-202110010850-64bit/squeak[0x41a703]

/usr/local/bin/../lib/squeak/5.0-202110010850-64bit/squeak[0x41cbbe]

/lib64/libpthread.so.0(+0x113b0)[0x7f8a33d223b0]

/usr/local/bin/../lib/squeak/5.0-202110010850-64bit/squeak(remember+0x1b1)[0x42b1e1]

/usr/local/bin/../lib/squeak/5.0-202110010850-64bit/squeak[0x47863b]

/usr/local/bin/../lib/squeak/5.0-202110010850-64bit/squeak[0x4549af]

/usr/local/bin/../lib/squeak/5.0-202110010850-64bit/squeak[0x4780aa]

/usr/local/bin/../lib/squeak/5.0-202110010850-64bit/squeak[0x44b54c]

/usr/local/bin/../lib/squeak/5.0-202110010850-64bit/squeak[0x454560]

/usr/local/bin/../lib/squeak/5.0-202110010850-64bit/squeak[0x42ea3b]

/usr/local/bin/../lib/squeak/5.0-202110010850-64bit/squeak(ceStackOverflow+0xaf)[0x43464f]

[0x155c52c]

[0x0]





Smalltalk stack dump:

0x7ffd144fb410 M SortedCollection class>sortBlock: 0x21c1b850: a(n) SortedCollection

0x7ffd144fb448 M WikitextSAXTemplate>resetParameterDictionaries 0x733597e0: a(n) WikitextSAXTemplate

0x7ffd144fb478 M [] in UndefinedObject>resetParameterDictionaries 0x218898e0: a(n) UndefinedObject

0x7ffd144fb4b8 M SortedCollection(OrderedCollection)>do: 0x2b4de230: a(n) SortedCollection

0x7ffd144fb4f0 M UndefinedObject>DoIt 0x218898e0: a(n) UndefinedObject

0x7ffd144fb548 I Compiler>evaluateCue:ifFail: 0x5a00b18: a(n) Compiler

0x7ffd144fb5a0 I Compiler>evaluateCue:ifFail:logged: 0x5a00b18: a(n) Compiler

0x7ffd144fb5f8 I Compiler>evaluate:in:to:environment:notifying:ifFail:logged: 0x5a00b18: a(n) Compiler

0x7ffd144fb670 M [] in SmalltalkEditor>evaluateSelectionAndDo: 0x80f9d5e8: a(n) SmalltalkEditor

0x7ffd144fb6b0 M FullBlockClosure(BlockClosure)>on:do: 0x5a00e28: a(n) FullBlockClosure

0x7ffd144fb718 I SmalltalkEditor(TextEditor)>evaluateSelectionAndDo: 0x80f9d5e8: a(n) SmalltalkEditor

0x7ffd144f91e8 I SmalltalkEditor(TextEditor)>evaluateSelection 0x80f9d5e8: a(n) SmalltalkEditor

0x7ffd144f9228 I SmalltalkEditor(TextEditor)>doIt 0x80f9d5e8: a(n) SmalltalkEditor

0x7ffd144f9268 I SmalltalkEditor(TextEditor)>doIt: 0x80f9d5e8: a(n) SmalltalkEditor

0x7ffd144f92c0 I SmalltalkEditor(TextEditor)>dispatchOnKeyboardEvent: 0x80f9d5e8: a(n) SmalltalkEditor

0x7ffd144f9308 I SmalltalkEditor(TextEditor)>keyStroke: 0x80f9d5e8: a(n) SmalltalkEditor

0x7ffd144f9348 M [] in TextMorphForEditView>keyStroke: 0x2b3f9640: a(n) TextMorphForEditView

0x7ffd144f9398 M TextMorphForEditView(TextMorph)>handleInteraction:fromEvent: 0x2b3f9640: a(n) TextMorphForEditView

0x7ffd144f93d8 M TextMorphForEditView>handleInteraction:fromEvent: 0x2b3f9640: a(n) TextMorphForEditView

0x7ffd144f9438 I [] in TextMorphForEditView>keyStroke: 0x2b3f9640: a(n) TextMorphForEditView

0x7ffd144f9478 I StandardToolSet class>codeCompletionAround:textMorph:keyStroke: 0x21c2f3c8: a(n) StandardToolSet

0x7ffd144f94d0 I ToolSet class>codeCompletionAround:textMorph:keyStroke: 0x21c282d0: a(n) ToolSet

0x7ffd144f9528 I TextMorphForEditView(TextMorph)>keyStroke: 0x2b3f9640: a(n) TextMorphForEditView

0x7ffd144f9578 I TextMorphForEditView>keyStroke: 0x2b3f9640: a(n) TextMorphForEditView

0x7ffd144f95c8 I TextMorphForEditView(Morph)>handleKeystroke: 0x2b3f9640: a(n) TextMorphForEditView

0x7ffd144f9618 I TextMorphForEditView(TextMorph)>handleKeystroke: 0x2b3f9640: a(n) TextMorphForEditView

0x7ffd144f9650 M KeyboardEvent>sentTo: 0x5a00598: a(n) KeyboardEvent

0x7ffd144f9690 M TextMorphForEditView(Morph)>handleEvent: 0x2b3f9640: a(n) TextMorphForEditView

0x7ffd144f96c8 M TextMorphForEditView(Morph)>handleFocusEvent: 0x2b3f9640: a(n) TextMorphForEditView

0x7ffd144f9710 M MorphicEventDispatcher>doHandlingForFocusEvent:with: 0x59ffd40: a(n) MorphicEventDispatcher

0x7ffd144f71e0 M MorphicEventDispatcher>dispatchFocusEvent:with: 0x59ffd40: a(n) MorphicEventDispatcher

0x7ffd144f7220 M TextMorphForEditView(Morph)>processFocusEvent:using: 0x2b3f9640: a(n) TextMorphForEditView

0x7ffd144f7260 M TextMorphForEditView(Morph)>processFocusEvent: 0x2b3f9640: a(n) TextMorphForEditView

0x7ffd144f72b0 M [] in HandMorph>sendFocusEvent:to:clear: 0x22679bd8: a(n) HandMorph

0x7ffd144f72f8 M [] in ActiveEventVariable class>value:during: 0x22492740: a(n) ActiveEventVariable

0x7ffd144f7338 M FullBlockClosure(BlockClosure)>ensure: 0x59ffe50: a(n) FullBlockClosure

0x7ffd144f7388 M ActiveEventVariable class(DynamicVariable class)>value:during: 0x22492740: a(n) ActiveEventVariable

0x7ffd144f73d8 M [] in ActiveEventVariable class>value:during: 0x22492740: a(n) ActiveEventVariable

0x7ffd144f7418 M FullBlockClosure(BlockClosure)>ensure: 0x59fff98: a(n) FullBlockClosure

0x7ffd144f7458 M ActiveEventVariable class>value:during: 0x22492740: a(n) ActiveEventVariable

0x7ffd144f7498 M KeyboardEvent(MorphicEvent)>becomeActiveDuring: 0x17abd10: a(n) KeyboardEvent

0x7ffd144f74e8 M [] in HandMorph>sendFocusEvent:to:clear: 0x22679bd8: a(n) HandMorph

0x7ffd144f7530 M [] in ActiveHandVariable class>value:during: 0x224927e0: a(n) ActiveHandVariable

0x7ffd144f7570 M FullBlockClosure(BlockClosure)>ensure: 0x5a001b8: a(n) FullBlockClosure

0x7ffd144f75c0 M ActiveHandVariable class(DynamicVariable class)>value:during: 0x224927e0: a(n) ActiveHandVariable

0x7ffd144f7610 M [] in ActiveHandVariable class>value:during: 0x224927e0: a(n) ActiveHandVariable

0x7ffd144f7650 M FullBlockClosure(BlockClosure)>ensure: 0x5a00300: a(n) FullBlockClosure

0x7ffd144f7690 M ActiveHandVariable class>value:during: 0x224927e0: a(n) ActiveHandVariable

0x7ffd144f76d0 M HandMorph>becomeActiveDuring: 0x22679bd8: a(n) HandMorph

0x7ffd144f7720 M [] in HandMorph>sendFocusEvent:to:clear: 0x22679bd8: a(n) HandMorph

0x7ffd144ed040 M [] in ActiveWorldVariable class>value:during: 0x22492848: a(n) ActiveWorldVariable

0x7ffd144ed080 M FullBlockClosure(BlockClosure)>ensure: 0x59fecf0: a(n) FullBlockClosure

0x7ffd144ed0d0 M ActiveWorldVariable class(DynamicVariable class)>value:during: 0x22492848: a(n) ActiveWorldVariable

0x7ffd144ed120 M [] in ActiveWorldVariable class>value:during: 0x22492848: a(n) ActiveWorldVariable

0x7ffd144ed160 M FullBlockClosure(BlockClosure)>ensure: 0x59fee38: a(n) FullBlockClosure

0x7ffd144ed1a0 M ActiveWorldVariable class>value:during: 0x22492848: a(n) ActiveWorldVariable

0x7ffd144ed1e0 M PasteUpMorph>becomeActiveDuring: 0x224eece0: a(n) PasteUpMorph

0x7ffd144ed228 M HandMorph>sendFocusEvent:to:clear: 0x22679bd8: a(n) HandMorph

0x7ffd144ed280 M HandMorph>sendEvent:focus:clear: 0x22679bd8: a(n) HandMorph

0x7ffd144ed2c8 M HandMorph>sendKeyboardEvent: 0x22679bd8: a(n) HandMorph

0x7ffd144ed308 M HandMorph>handleEvent: 0x22679bd8: a(n) HandMorph

0x7ffd144ed358 M HandMorph>processEvents 0x22679bd8: a(n) HandMorph

0x7ffd144ed398 M [] in WorldState>doOneCycleNowFor: 0x224d3340: a(n) WorldState

0x7ffd144ed3e0 M [] in ActiveHandVariable class>value:during: 0x224927e0: a(n) ActiveHandVariable

0x7ffd144ed420 M FullBlockClosure(BlockClosure)>ensure: 0x59ff1a8: a(n) FullBlockClosure

0x7ffd144ed470 M ActiveHandVariable class(DynamicVariable class)>value:during: 0x224927e0: a(n) ActiveHandVariable

0x7ffd144ed4c0 M [] in ActiveHandVariable class>value:during: 0x224927e0: a(n) ActiveHandVariable

0x7ffd144ed500 M FullBlockClosure(BlockClosure)>ensure: 0x59ff2f0: a(n) FullBlockClosure

0x7ffd144ed540 M ActiveHandVariable class>value:during: 0x224927e0: a(n) ActiveHandVariable

0x7ffd144ed580 M HandMorph>becomeActiveDuring: 0x22679bd8: a(n) HandMorph

0x7ffd144ed5c0 M [] in WorldState>doOneCycleNowFor: 0x224d3340: a(n) WorldState

0x7ffd144ed608 M Array(SequenceableCollection)>do: 0x218ae380: a(n) Array

0x7ffd144ed640 M WorldState>handsDo: 0x224d3340: a(n) WorldState

0x7ffd144ed680 M WorldState>doOneCycleNowFor: 0x224d3340: a(n) WorldState

0x7ffd144ed6b8 M WorldState>doOneCycleFor: 0x224d3340: a(n) WorldState

0x7ffd144ed6f0 M PasteUpMorph>doOneCycle 0x224eece0: a(n) PasteUpMorph

0x7ffd144ed720 M [] in MorphicProject>spawnNewProcess 0x21fbf2a8: a(n) MorphicProject

        0x774013c0 s [] in FullBlockClosure(BlockClosure)>newProcess



Most recent primitives

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:put:

max:

max:

max:

max:

max:

max:

max:

max:

max:

max:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

bitLengthAt:

bitLengthAt:

bitLengthAt:

maxCode

maxCode

maxCode

maxCode

maxCode

maxCode

maxCode

maxCode

maxCode

maxCode

maxCode

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

value:value:

at:

at:

value:value:

value:value:

at:

value:value:

value:value:

value:value:

value:value:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

at:

bitPosition

bitPosition

bitPosition

basicNew

size

on:from:to:

on:from:to:

privateSendBlock:with:with:with:

**PrimitiveFailure**

**PrimitiveFailure**

at:

nextBits:put:

bitOr:

bitOr:

byteAt:put:

byteAt:put:

codeAt:

nextBits:put:

next:putAll:startingAt:

next:putAll:startingAt:

bitXor:

commit

commit

commit

commit

commit

size

size

size

size

size

perform:

createMethod:class:header:

at:put:

at:put:

at:put:

at:put:

at:put:

shallowCopy

at:

at:put:

at:

at:put:

at:

at:put:

at:

at:put:

at:

at:put:

at:

at:put:

at:

at:put:

basicNew

withArgs:executeMethod:

value:

utcMicrosecondClock

suspend

resume

primSignal:atUTCMicroseconds:

wait

value

wait

signal

utcMicrosecondClock

primSignal:atUTCMicroseconds:

wait

signal

primSocketConnectionStatus:

**PrimitiveFailure**

**PrimitiveFailure**

value

primSocketConnectionStatus:

**PrimitiveFailure**

value

primSocketConnectionStatus:

**PrimitiveFailure**

valueWithArguments:

value

primitiveEnterCriticalSection

valueNoContextSwitch

identityHash

at:

primitiveExitCriticalSection

isValid

**PrimitiveFailure**

isValid

primSocketConnectionStatus:

**PrimitiveFailure**

wait

valueNoContextSwitch

specialObjectsArray

value:

identityHash

instVarsInclude:

instVarsInclude:

instVarsInclude:

signal

wait

value

identityHash

fixCollisionsFrom:

\\

\\

scanFor:

signal

basicNew

wait

signal

utcMicrosecondClock

primSignal:atUTCMicroseconds:

wait

signal

wait

**IncrementalGC**



stack page bytes 8192 available headroom 5576 minimum unused headroom 6032



(Segmentation fault)




I checked the SortedCollection containing the objects for nil values with both:





|s|

s := Set new.

self collect:[:each | s add:(each class name)].

s inspect.


and:



self select:[:each | each isNil].




I only got one element in the Set and an empty collection in the isNil test.





I will be trying a different tac by fully initializing those objects as they are created and added to the SortedCollection that holds them.



cordially,



t
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20211114/7ea6a5d1/attachment.html>


More information about the Squeak-dev mailing list