[Vm-dev] [OpenSmalltalk/opensmalltalk-vm] GC crash on (corrupted?) image resume (#391)

Juraj Kubelka notifications at github.com
Fri Nov 8 14:17:11 UTC 2019


Hi, I have similar issue. It happens regularly while loading and manipulating large data.

```
Segmentation fault Fri Nov  8 11:06:13 2019


VM: 201901051900 https://github.com/OpenSmalltalk/opensmalltalk-vm.git
Date: Sat Jan 5 20:00:11 2019 CommitHash: 7a3c6b6
Plugins: 201901051900 https://github.com/OpenSmalltalk/opensmalltalk-vm.git

C stack backtrace & registers:
	rax 0x00000001199726a8 rbx 0x00000000000002f9 rcx 0x0000000000000e79 rdx 0x0000000000000e7a
	rdi 0x00000001199726a8 rsi 0x00000001199726a8 rbp 0x00007ffee1e2bfb0 rsp 0x00007ffee1e2bf70
	r8  0x00007ffee1e2c181 r9  0x00007ffee1e5e188 r10 0x0000000147f14070 r11 0x00007ffee1e4c160
	r12 0x00000000002e4b20 r13 0x00000001375dc2e8 r14 0x000000000000005f r15 0x0000000000000060
	rip 0x000000010ddc9022
0   Pharo                               0x000000010ddc9022 markAndTrace + 612
1   Pharo                               0x000000010de29642 reportStackState + 952
2   Pharo                               0x000000010de29987 sigsegv + 174
3   libsystem_platform.dylib            0x00007fff65d76b1d _sigtramp + 29
4   AppKit                              0x00007fff2c521bf2 .str.38.llvm.12197241172547621084 + 544365
5   Pharo                               0x000000010ddc5ca6 markObjects + 463
6   Pharo                               0x000000010ddc547e fullGC + 72
7   Pharo                               0x000000010dddc8ff primitiveFullGC + 38
8   Pharo                               0x000000010dda55e1 interpret + 17947
9   Pharo                               0x000000010ddaeebb enterSmalltalkExecutiveImplementation + 149
10  Pharo                               0x000000010dda123a interpret + 628
11  Pharo                               0x000000010de2adca -[sqSqueakMainApplication runSqueak] + 393
12  Foundation                          0x00007fff30e431cb __NSFirePerformWithOrder + 360
13  CoreFoundation                      0x00007fff2e6f866e __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
14  CoreFoundation                      0x00007fff2e6f8594 __CFRunLoopDoObservers + 457
15  CoreFoundation                      0x00007fff2e69b72b __CFRunLoopRun + 1219
16  CoreFoundation                      0x00007fff2e69afe3 CFRunLoopRunSpecific + 499
17  HIToolbox                           0x00007fff2d22267d RunCurrentEventLoopInMode + 292
18  HIToolbox                           0x00007fff2d2222c9 ReceiveNextEventCommon + 356
19  HIToolbox                           0x00007fff2d222147 _BlockUntilNextEventMatchingListInModeWithFilter + 64
20  AppKit                              0x00007fff2b8a7864 _DPSNextEvent + 990
21  AppKit                              0x00007fff2b8a65d4 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1352
22  AppKit                              0x00007fff2b8a0d76 -[NSApplication run] + 658
23  AppKit                              0x00007fff2b89295d NSApplicationMain + 777
24  libdyld.dylib                       0x00007fff65b752e5 start + 1


Smalltalk stack dump:
    0x7ffee1e44e58 I SmalltalkImage>garbageCollect 0x1162c79e8: a(n) SmalltalkImage
    0x7ffee1e44ea0 I Array class(Behavior)>handleFailingBasicNew: 0x1162b8ea0: a(n) Array class
    0x7ffee1e44ee0 M Array class(Behavior)>basicNew: 0x1162b8ea0: a(n) Array class
    0x7ffee1e44f18 M Array class>new: 0x1162b8ea0: a(n) Array class
    0x7ffee1e44f58 M Dictionary(HashedCollection)>grow 0x139b1f728: a(n) Dictionary
    0x7ffee1e44f88 M Dictionary(HashedCollection)>fullCheck 0x139b1f728: a(n) Dictionary
    0x7ffee1e44fb8 M Dictionary(HashedCollection)>atNewIndex:put: 0x139b1f728: a(n) Dictionary
    0x7ffee1e45008 M Dictionary>at:put: 0x139b1f728: a(n) Dictionary
    0x7ffee1e45050 M [] in NeoJSONReader>parseMap 0x139b1f430: a(n) NeoJSONReader
    0x7ffee1e45098 M [] in NeoJSONReader>parseMapKeysAndValuesDo: 0x139b1f430: a(n) NeoJSONReader
    0x7ffee1e450e0 M [] in NeoJSONReader>parseMapKeysDo: 0x139b1f430: a(n) NeoJSONReader
    0x7ffee1e45110 M NeoJSONReader>parseMapDo: 0x139b1f430: a(n) NeoJSONReader
    0x7ffee1e45158 I NeoJSONReader>parseMapKeysDo: 0x139b1f430: a(n) NeoJSONReader
    0x7ffee1e59ac8 I NeoJSONReader>parseMapKeysAndValuesDo: 0x139b1f430: a(n) NeoJSONReader
    0x7ffee1e59b18 I NeoJSONReader>parseMap 0x139b1f430: a(n) NeoJSONReader
    0x7ffee1e59b60 I NeoJSONReader>parseValue 0x139b1f430: a(n) NeoJSONReader
    0x7ffee1e59ba0 I NeoJSONReader>next 0x139b1f430: a(n) NeoJSONReader
    0x7ffee1e59bd0 M [] in UndefinedObject>DoIt 0x1162a48e0: a(n) UndefinedObject
    0x7ffee1e59c18 M [] in FileLocator(AbstractFileReference)>readStreamEncoded:do: 0x11dff5850: a(n) FileLocator
    0x7ffee1e59c58 M BlockClosure>ensure: 0x139b1f838: a(n) BlockClosure
    0x7ffee1e59ca8 I FileLocator(AbstractFileReference)>readStreamEncoded:do: 0x11dff5850: a(n) FileLocator
    0x7ffee1e59ce8 M [] in UndefinedObject>DoIt 0x1162a48e0: a(n) UndefinedObject
    0x7ffee1e59d30 I Time class>microsecondsToRun: 0x1162b9ff0: a(n) Time class
    0x7ffee1e59d78 I Time class>millisecondsToRun: 0x1162b9ff0: a(n) Time class
    0x7ffee1e59dc8 I BlockClosure>timeToRun 0x139b1fa00: a(n) BlockClosure
    0x7ffee1e59df8 M UndefinedObject>DoIt 0x1162a48e0: a(n) UndefinedObject
    0x7ffee1e59e40 I OpalCompiler>evaluate 0x139b1fad8: a(n) OpalCompiler
    0x7ffee1e59e98 I RubSmalltalkEditor>evaluate:andDo: 0x119bba808: a(n) RubSmalltalkEditor
    0x7ffee1e59ee8 I RubSmalltalkEditor>highlightEvaluateAndDo: 0x119bba808: a(n) RubSmalltalkEditor
    0x7ffee1e59f28 M [] in GLMMorphicPharoScriptRenderer(GLMMorphicPharoCodeRenderer)>actOnHighlightAndEvaluate: 0x119be9110: a(n) GLMMorphicPharoScriptRenderer
    0x7ffee1e59f68 I RubEditingArea(RubAbstractTextArea)>handleEdit: 0x119bf27c0: a(n) RubEditingArea
    0x7ffee1e59fa8 M [] in GLMMorphicPharoScriptRenderer(GLMMorphicPharoCodeRenderer)>actOnHighlightAndEvaluate: 0x119be9110: a(n) GLMMorphicPharoScriptRenderer
    0x7ffee1e59fe8 M WorldState>runStepMethodsIn: 0x1169b6a80: a(n) WorldState
    0x7ffee1e5a020 M WorldMorph>runStepMethods 0x1169b0ac8: a(n) WorldMorph
    0x7ffee1e5a050 M WorldState>doOneCycleNowFor: 0x1169b6a80: a(n) WorldState
    0x7ffee1e5a088 M WorldState>doOneCycleFor: 0x1169b6a80: a(n) WorldState
    0x7ffee1e5a0c0 M WorldMorph>doOneCycle 0x1169b0ac8: a(n) WorldMorph
    0x7ffee1e5a0f0 M WorldMorph class>doOneCycle 0x1169ad958: a(n) WorldMorph class
    0x7ffee1e5a120 M [] in MorphicUIManager>spawnNewProcess 0x12df61fe0: a(n) MorphicUIManager
    0x7ffee1e5a160 I [] in BlockClosure>newProcess 0x139a2f3c8: a(n) BlockClosure

Most recent primitives
stringHash:initialHash:
compare:with:collated:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
compare:with:collated:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
compare:with:collated:
compare:with:collated:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
compare:with:collated:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
compare:with:collated:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
compare:with:collated:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
compare:with:collated:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
compare:with:collated:
compare:with:collated:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
compare:with:collated:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
compare:with:collated:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
compare:with:collated:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
compare:with:collated:
compare:with:collated:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
compare:with:collated:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
replaceFrom:to:with:startingAt:
stringHash:initialHash:
grow
grow
sizes
sizes
repeat
repeat
repeat
repeat
repeat
repeat
repeat
repeat
basicNew:
handleFailingBasicNew:
byteSizeOfInstanceOfSize:
finalizeValues
finalizeValues
primitiveGarbageCollect
**FullGC**

stack page bytes 4096 available headroom 1480 minimum unused headroom 1728

	(Segmentation fault)
```

It happened in a Pharo 8 image:

```
Image
-----
Pharo8.0.0
Build information: Pharo-8.0.0+build.954.sha.c2062e358bfae78d8161071f255bb60de20c8e9d (64 Bit)
Unnamed

Virtual Machine
---------------
/Users/..../Pharo/vms/80-x64/Pharo.app/Contents/MacOS/Pharo
CoInterpreter VMMaker.oscog-eem.2504 uuid: a00b0fad-c04c-47a6-8a11-5dbff110ac11 Jan  5 2019
StackToRegisterMappingCogit VMMaker.oscog-eem.2504 uuid: a00b0fad-c04c-47a6-8a11-5dbff110ac11 Jan  5 2019
VM: 201901051900 https://github.com/OpenSmalltalk/opensmalltalk-vm.git Date: Sat Jan 5 20:00:11 2019 CommitHash: 7a3c6b6 Plugins: 201901051900 https://github.com/OpenSmalltalk/opensmalltalk-vm.git

Mac OS X built on Jan  5 2019 19:11:02 UTC Compiler: 4.2.1 Compatible Apple LLVM 7.3.0 (clang-703.0.31)
VMMaker versionString VM: 201901051900 https://github.com/OpenSmalltalk/opensmalltalk-vm.git Date: Sat Jan 5 20:00:11 2019 CommitHash: 7a3c6b6 Plugins: 201901051900 https://github.com/OpenSmalltalk/opensmalltalk-vm.git
CoInterpreter VMMaker.oscog-eem.2504 uuid: a00b0fad-c04c-47a6-8a11-5dbff110ac11 Jan  5 2019
StackToRegisterMappingCogit VMMaker.oscog-eem.2504 uuid: a00b0fad-c04c-47a6-8a11-5dbff110ac11 Jan  5 2019
```


-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/391#issuecomment-551844165
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20191108/8c94258e/attachment-0001.html>


More information about the Vm-dev mailing list