Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GC crash on (corrupted?) image resume #391

Open
zecke opened this issue Apr 16, 2019 · 1 comment

Comments

Projects
None yet
2 participants
@zecke
Copy link
Contributor

commented Apr 16, 2019

This happens with 1d9c8bc on MacOS 64bit. The Assert VM doesn't see to trigger on any asserts. The GC seems to follow an object ending in a NULL OOP? The image includes non opensource code but it is crashing reliable on start-up.

Smalltalk backtrace

Smalltalk stack dump:
    0x7ffee269dbb8 I SmalltalkImage>garbageCollect 0x11bcef9a8: a(n) SmalltalkImage
    0x7ffee269dc00 I ByteArray class(Behavior)>handleFailingBasicNew: 0x11bce0d78: a(n) ByteArray class
    0x7ffee269dc40 M ByteArray class(Behavior)>basicNew: 0x11bce0d78: a(n) ByteArray class
    0x7ffee269dc78 M ByteArray class(Behavior)>new: 0x11bce0d78: a(n) ByteArray class
    0x7ffee269dcb0 M ByteArray class(SequenceableCollection class)>ofSize: 0x11bce0d78: a(n) ByteArray class
    0x7ffee269dcf8 M ByteArray(SequenceableCollection)>grownBy: 0x13b3027d8: a(n) ByteArray
    0x7ffee269dd40 M WriteStream>growTo: 0x11b543e60: a(n) WriteStream
    0x7ffee269dd80 M WriteStream>nextPutAll: 0x11b543e60: a(n) WriteStream
    0x7ffee269ddb8 M WriteStream(Stream)>next:putAll:startingAt: 0x11b543e60: a(n) WriteStream
    0x7ffee269de10 M WriteStream>next:putAll:startingAt: 0x11b543e60: a(n) WriteStream
    0x7ffee269de58 M [] in ZnBufferedReadStream>upToEnd 0x11b553e98: a(n) ZnBufferedReadStream
    0x7ffee269de98 M ByteArray class(SequenceableCollection class)>new:streamContents: 0x11bce0d78: a(n) ByteArray class
    0x7ffee269ded8 M ByteArray class(SequenceableCollection class)>streamContents: 0x11bce0d78: a(n) ByteArray class
    0x7ffee269df20 I ZnBufferedReadStream>upToEnd 0x11b553e98: a(n) ZnBufferedReadStream
    0x7ffee269df60 I ZnBufferedReadStream>contents 0x11b553e98: a(n) ZnBufferedReadStream
    0x7ffee269df90 M [] in LucidaGrandeRegular class>fontContents 0x11c4246f8: a(n) LucidaGrandeRegular class
    0x7ffee269dfd8 M [] in FileReference(AbstractFileReference)>binaryReadStreamDo: 0x11b553fb8: a(n) FileReference
    0x7ffee269e018 M BlockClosure>ensure: 0x11b553fd0: a(n) BlockClosure
    0x7ffee269e068 I FileReference(AbstractFileReference)>binaryReadStreamDo: 0x11b553fb8: a(n) FileReference
    0x7ffee269e0b0 I LucidaGrandeRegular class>fontContents 0x11c4246f8: a(n) LucidaGrandeRegular class
    0x7ffee269e0f8 I LucidaGrandeRegular class(EmbeddedFreeTypeFontFontDescription class)>installFontsIn: 0x11c4246f8: a(n) LucidaGrandeRegular class
    0x7ffee269e138 M [] in EmbeddedFreeTypeFontFontDescription class>installAllFontsIn: 0x11c422d60: a(n) EmbeddedFreeTypeFontFontDescription class
    0x7ffee269aca0 M OrderedCollection>do: 0x11b543700: a(n) OrderedCollection
    0x7ffee269ace8 I EmbeddedFreeTypeFontFontDescription class>installAllFontsIn: 0x11c422d60: a(n) EmbeddedFreeTypeFontFontDescription class
    0x7ffee269ad30 I EmbeddedFreeTypeFontInstaller>installAllFontsIn: 0x11ca636f0: a(n) EmbeddedFreeTypeFontInstaller
    0x7ffee269ad68 M [] in FreeTypeFontProvider>updateEmbeddedFreeTypeFonts 0x11ca63590: a(n) FreeTypeFontProvider
    0x7ffee269adb0 M OrderedCollection>do: 0x11cae4688: a(n) OrderedCollection
    0x7ffee269adf8 I FreeTypeFontProvider>updateEmbeddedFreeTypeFonts 0x11ca63590: a(n) FreeTypeFontProvider
    0x7ffee269ae38 I FreeTypeSettings class>updateFreeType 0x11c41bf60: a(n) FreeTypeSettings class
    0x7ffee269ae78 I FreeTypeSettings class>startUp: 0x11c41bf60: a(n) FreeTypeSettings class
    0x7ffee269aeb0 M ClassSessionHandler>startup: 0x11ca66cc8: a(n) ClassSessionHandler
    0x7ffee269aef0 M [] in WorkingSession>runStartup: 0x11b543000: a(n) WorkingSession
    0x7ffee269af38 M [] in WorkingSession>runList:do: 0x11b543000: a(n) WorkingSession
    0x7ffee269af68 M BlockClosure>on:do: 0x11b5439b8: a(n) BlockClosure
    0x7ffee269afb0 M [] in WorkingSession>runList:do: 0x11b543000: a(n) WorkingSession
    0x7ffee269aff8 M Array(SequenceableCollection)>do: 0x11b543ae8: a(n) Array
    0x7ffee269b040 I WorkingSession>runList:do: 0x11b543000: a(n) WorkingSession
    0x7ffee269b090 I WorkingSession>runStartup: 0x11b543000: a(n) WorkingSession
    0x7ffee269b0d8 I WorkingSession>start: 0x11b543000: a(n) WorkingSession
    0x7ffee269b130 I SessionManager>launchSnapshot:andQuit: 0x11bd57848: a(n) SessionManager
       0x13611ef38 s [] in SessionManager>snapshot:andQuit:
       0x136135618 s [] in BlockClosure>newProcess

VM backtrace by itself

VM: 201904111858-AssertVM ich@macbookair.local:source/smalltalk/pharo/opensmalltalk-vm
Date: Thu Apr 11 11:58:46 2019 CommitHash: 1d9c8bcfd
Plugins: 201904111858-AssertVM ich@macbookair.local:source/smalltalk/pharo/opensmalltalk-vm

C stack backtrace & registers:
	rax 0x0000000000000000 rbx 0x0000000000000000 rcx 0x0400000000000000 rdx 0x000000012d2d1140
	rdi 0x0000000000000000 rsi 0x0000000000000000 rbp 0x00007ffee2698f50 rsp 0x00007ffee2698f50
	r8  0x0001471835afb3bc r9  0x0000000003ecc22d r10 0x000000011b345558 r11 0x000000011c067ce8
	r12 0x000000013a6e7188 r13 0x0000000000000004 r14 0x000000013a6e7188 r15 0x0000000000000002
	rip 0x000000010d545a04
0   Pharo                               0x000000010d545a04 longAtPointer + 4
1   Pharo                               0x000000010d5eaf8e reportStackState + 174
2   Pharo                               0x000000010d5eb2f3 sigsegv + 195
3   libsystem_platform.dylib            0x00007fff5e938f5a _sigtramp + 26
4   AppKit                              0x00007fff349238eb .str.41.llvm.C4DC25C8 + 241198
5   Pharo                               0x000000010d545d5c fixFollowedFieldofObjectwithInitialValue + 76
6   Pharo                               0x000000010d56cae7 markAndTrace + 2439
7   Pharo                               0x000000010d569156 markObjects + 966
8   Pharo                               0x000000010d568805 fullGC + 149
9   Pharo                               0x000000010d584cc5 primitiveFullGC + 277
10  Pharo                               0x000000010d53aae4 interpret + 26756
11  Pharo                               0x000000010d545776 enterSmalltalkExecutiveImplementation + 310
12  Pharo                               0x000000010d534407 interpret + 423
13  Pharo                               0x000000010d5ecb59 -[sqSqueakMainApplication runSqueak] + 393
14  Foundation                          0x00007fff388a07b8 __NSFirePerformWithOrder + 360
15  CoreFoundation                      0x00007fff36717747 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
16  CoreFoundation                      0x00007fff3671766f __CFRunLoopDoObservers + 527
17  CoreFoundation                      0x00007fff366f9be8 __CFRunLoopRun + 1240
18  CoreFoundation                      0x00007fff366f9483 CFRunLoopRunSpecific + 483
19  HIToolbox                           0x00007fff359e3d96 RunCurrentEventLoopInMode + 286
20  HIToolbox                           0x00007fff359e3a0f ReceiveNextEventCommon + 366
21  HIToolbox                           0x00007fff359e3884 _BlockUntilNextEventMatchingListInModeWithFilter + 64
22  AppKit                              0x00007fff33c93a73 _DPSNextEvent + 2085
23  AppKit                              0x00007fff34429e34 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 3044
24  AppKit                              0x00007fff33c88885 -[NSApplication run] + 764
25  AppKit                              0x00007fff33c57a72 NSApplicationMain + 804
26  libdyld.dylib                       0x00007fff5e62a015 start + 1

lldb backtrace

Pharo was compiled with optimization - stepping may behave oddly; variables may not be available.
Process 49107 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
    frame #0: 0x0000000100013a04 Pharo`longAtPointer(ptr=0x0000000000000000) at sqMemoryAccess.h:141 [opt]
   138 	  static inline sqInt shortAtPointerput(char *ptr, int val)	{ return (sqInt)(*((short *)ptr)= (short)val); }
   139 	  static inline sqInt intAtPointer(char *ptr)			{ return (sqInt)(*((int *)ptr)); }
   140 	  static inline sqInt intAtPointerput(char *ptr, int val)	{ return (sqInt)(*((int *)ptr)= val); }
-> 141 	  static inline sqInt longAtPointer(char *ptr)			{ return *(sqInt *)ptr; }
   142 	  static inline sqInt longAtPointerput(char *ptr, sqInt val)	{ return *(sqInt *)ptr= val; }
   143 	  static inline sqLong long64AtPointer(char *ptr)			{ return *(sqLong *)ptr; }
   144 	  static inline sqLong long64AtPointerput(char *ptr, sqLong val)	{ return *(sqLong *)ptr= val; }
Target 0: (Pharo) stopped.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
  * frame #0: 0x0000000100013a04 Pharo`longAtPointer(ptr=0x0000000000000000) at sqMemoryAccess.h:141 [opt]
    frame #1: 0x0000000100013d5c Pharo`fixFollowedFieldofObjectwithInitialValue(fieldIndex=2, anObject=4944834952, initialValue=<unavailable>) at gcc3x-cointerp.c:48964 [opt]
    frame #2: 0x000000010003aae7 Pharo`markAndTrace(objOop=4430957424) at gcc3x-cointerp.c:53153 [opt]
    frame #3: 0x0000000100037156 Pharo`markObjects(objectsShouldBeUnmarkedAndUnmarkedClassesShouldBeExpunged=1) at gcc3x-cointerp.c:53409 [opt]
    frame #4: 0x0000000100036805 Pharo`fullGC at gcc3x-cointerp.c:49325 [opt]
    frame #5: 0x0000000100052cc5 Pharo`primitiveFullGC at gcc3x-cointerp.c:77294 [opt]
    frame #6: 0x0000000100008ae4 Pharo`interpret at gcc3x-cointerp.c:6186 [opt]
    frame #7: 0x0000000100013776 Pharo`enterSmalltalkExecutiveImplementation at gcc3x-cointerp.c:17314 [opt]
    frame #8: 0x0000000100002407 Pharo`interpret at gcc3x-cointerp.c:2755 [opt]
    frame #9: 0x00000001000bab59 Pharo`-[sqSqueakMainApplication runSqueak](self=0x00000001004310d0, _cmd=<unavailable>) at sqSqueakMainApplication.m:201 [opt]
    frame #10: 0x00007fff388a07b8 Foundation`__NSFirePerformWithOrder + 360
    frame #11: 0x00007fff36717747 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
    frame #12: 0x00007fff3671766f CoreFoundation`__CFRunLoopDoObservers + 527
    frame #13: 0x00007fff366f9be8 CoreFoundation`__CFRunLoopRun + 1240
    frame #14: 0x00007fff366f9483 CoreFoundation`CFRunLoopRunSpecific + 483
    frame #15: 0x00007fff359e3d96 HIToolbox`RunCurrentEventLoopInMode + 286
    frame #16: 0x00007fff359e3a0f HIToolbox`ReceiveNextEventCommon + 366
    frame #17: 0x00007fff359e3884 HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 64
    frame #18: 0x00007fff33c93a73 AppKit`_DPSNextEvent + 2085
    frame #19: 0x00007fff34429e34 AppKit`-[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 3044
    frame #20: 0x00007fff33c88885 AppKit`-[NSApplication run] + 764
    frame #21: 0x00007fff33c57a72 AppKit`NSApplicationMain + 804
    frame #22: 0x00007fff5e62a015 libdyld.dylib`start + 1
    frame #23: 0x00007fff5e62a015 libdyld.dylib`start + 1
(lldb) frame select 1
frame #1: 0x0000000100013d5c Pharo`fixFollowedFieldofObjectwithInitialValue(fieldIndex=2, anObject=4944834952, initialValue=<unavailable>) at gcc3x-cointerp.c:48964 [opt]
   48961			/* begin fetchPointer:ofMaybeForwardedObject: */
   48962			objOop = longAt((objOop + BaseHeaderSize) + (0U << (shiftForWord())));
   48963		} while(((objOop & (tagMask())) == 0)
-> 48964			 && (((longAt(objOop)) & ((classIndexMask()) - (isForwardedObjectClassIndexPun()))) == 0));
   48965		/* begin storePointer:ofObject:withValue: */
   48966		assert(!(isForwarded(anObject)));
   48967		if ((assert(isNonImmediate(anObject)),
(lldb) p objOop
(sqInt) $0 = 0
(lldb) q
@chisandrei

This comment has been minimized.

Copy link

commented Apr 30, 2019

I think I got today a similar error on MacOS 10.14.3, with Pharo 7 and latest stable vm. The crash happens when opening a saved image.

VM: 201903251926 https://github.com/OpenSmalltalk/opensmalltalk-vm.git
Date: Mon Mar 25 12:26:43 2019 CommitHash: 4e1be2c
Plugins: 201903251926 https://github.com/OpenSmalltalk/opensmalltalk-vm.git

C stack backtrace & registers:
	rax 0x00adc08500000c01 rbx 0x0000000119bbbff8 rcx 0x0080000000000000 rdx 0x0000000000001170
	rdi 0x0000000119bbbff0 rsi 0x0000000119bbbff0 rbp 0x00007ffee9199000 rsp 0x00007ffee9198fc0
	r8  0x00007ffee91991d1 r9  0x00007ffee91cb1d8 r10 0x000000010de65248 r11 0x00007ffee919b1a0
	r12 0x00ffffffffffffff r13 0x72656469678d6588 r14 0x0000000119bbbff0 r15 0x0000000000000002
	rip 0x0000000106a5b74a
0   Pharo                               0x0000000106a5b74a markAndTrace + 843
1   Pharo                               0x0000000106abf531 reportStackState + 952
2   Pharo                               0x0000000106abf88b sigsegv + 195
3   libsystem_platform.dylib            0x00007fff7069fb3d _sigtramp + 29
4   ???                                 0x0000000000000000 0x0 + 0
5   Pharo                               0x0000000106a582d2 markObjects + 463
6   Pharo                               0x0000000106a57aaa fullGC + 72
7   Pharo                               0x0000000106a6e324 primitiveFullGC + 38
8   Pharo                               0x0000000106a37c8d interpret + 17947
9   Pharo                               0x0000000106a4151f enterSmalltalkExecutiveImplementation + 149
10  Pharo                               0x0000000106a338e6 interpret + 628
11  Pharo                               0x0000000106ac0cb9 -[sqSqueakMainApplication runSqueak] + 393
12  Foundation                          0x00007fff456d3d63 __NSFirePerformWithOrder + 381
13  CoreFoundation                      0x00007fff432c08ed __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
14  CoreFoundation                      0x00007fff432c0822 __CFRunLoopDoObservers + 452
15  CoreFoundation                      0x00007fff43262345 __CFRunLoopRun + 1166
16  CoreFoundation                      0x00007fff43261c64 CFRunLoopRunSpecific + 463
17  HIToolbox                           0x00007fff424f8ab5 RunCurrentEventLoopInMode + 293
18  HIToolbox                           0x00007fff424f86f4 ReceiveNextEventCommon + 371
19  HIToolbox                           0x00007fff424f8568 _BlockUntilNextEventMatchingListInModeWithFilter + 64
20  AppKit                              0x00007fff407b3363 _DPSNextEvent + 997
21  AppKit                              0x00007fff407b2102 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1362
22  AppKit                              0x00007fff407ac165 -[NSApplication run] + 699
23  AppKit                              0x00007fff4079b8a3 NSApplicationMain + 780
24  libdyld.dylib                       0x00007fff704b4ed9 start + 1
Smalltalk stack dump:
    0x7ffee919dc68 I SmalltalkImage>garbageCollect 0x10e3259a8: a(n) SmalltalkImage
    0x7ffee919dcb0 I ByteArray class(Behavior)>handleFailingBasicNew: 0x10e316d78: a(n) ByteArray class
    0x7ffee919dcf0 M ByteArray class(Behavior)>basicNew: 0x10e316d78: a(n) ByteArray class
    0x7ffee919dd28 M ByteArray class(Behavior)>new: 0x10e316d78: a(n) ByteArray class
    0x7ffee919dd60 M ByteArray class(SequenceableCollection class)>ofSize: 0x10e316d78: a(n) ByteArray class
    0x7ffee919dda8 M ByteArray(SequenceableCollection)>grownBy: 0x11be91738: a(n) ByteArray
    0x7ffee919ddf0 M WriteStream>growTo: 0x10df1bbe8: a(n) WriteStream
    0x7ffee919de30 M WriteStream>nextPutAll: 0x10df1bbe8: a(n) WriteStream
    0x7ffee919de68 M WriteStream(Stream)>next:putAll:startingAt: 0x10df1bbe8: a(n) WriteStream
    0x7ffee919dec0 M WriteStream>next:putAll:startingAt: 0x10df1bbe8: a(n) WriteStream
    0x7ffee919df08 M [] in ZnBufferedReadStream>upToEnd 0x10df0b958: a(n) ZnBufferedReadStream
    0x7ffee919df48 M ByteArray class(SequenceableCollection class)>new:streamContents: 0x10e316d78: a(n) ByteArray class
    0x7ffee919df88 M ByteArray class(SequenceableCollection class)>streamContents: 0x10e316d78: a(n) ByteArray class
    0x7ffee919dfd0 I ZnBufferedReadStream>upToEnd 0x10df0b958: a(n) ZnBufferedReadStream
    0x7ffee919e010 I ZnBufferedReadStream>contents 0x10df0b958: a(n) ZnBufferedReadStream
    0x7ffee919e040 M [] in LucidaGrandeRegular class>fontContents 0x10eaeeb08: a(n) LucidaGrandeRegular class
    0x7ffee919e088 M [] in FileReference(AbstractFileReference)>binaryReadStreamDo: 0x10df0aa90: a(n) FileReference
    0x7ffee919e0c8 M BlockClosure>ensure: 0x10df1ba48: a(n) BlockClosure
    0x7ffee919e118 I FileReference(AbstractFileReference)>binaryReadStreamDo: 0x10df0aa90: a(n) FileReference
    0x7ffee919e160 I LucidaGrandeRegular class>fontContents 0x10eaeeb08: a(n) LucidaGrandeRegular class
    0x7ffee919e1a8 I LucidaGrandeRegular class(EmbeddedFreeTypeFontFontDescription class)>installFontsIn: 0x10eaeeb08: a(n) LucidaGrandeRegular class
    0x7ffee919acc8 M [] in EmbeddedFreeTypeFontFontDescription class>installAllFontsIn: 0x10eae39f8: a(n) EmbeddedFreeTypeFontFontDescription class
    0x7ffee919ad10 M OrderedCollection>do: 0x10df01e60: a(n) OrderedCollection
    0x7ffee919ad58 I EmbeddedFreeTypeFontFontDescription class>installAllFontsIn: 0x10eae39f8: a(n) EmbeddedFreeTypeFontFontDescription class
    0x7ffee919ada0 I EmbeddedFreeTypeFontInstaller>installAllFontsIn: 0x10f00a4b0: a(n) EmbeddedFreeTypeFontInstaller
    0x7ffee919add8 M [] in FreeTypeFontProvider>updateEmbeddedFreeTypeFonts 0x10f00a350: a(n) FreeTypeFontProvider
    0x7ffee919ae20 M OrderedCollection>do: 0x10f04a1a8: a(n) OrderedCollection
    0x7ffee919ae68 I FreeTypeFontProvider>updateEmbeddedFreeTypeFonts 0x10f00a350: a(n) FreeTypeFontProvider
    0x7ffee919aea8 I FreeTypeSettings class>updateFreeType 0x10eb54ac8: a(n) FreeTypeSettings class
    0x7ffee919aee8 I FreeTypeSettings class>startUp: 0x10eb54ac8: a(n) FreeTypeSettings class
    0x7ffee919af20 M ClassSessionHandler>startup: 0x10f0159f0: a(n) ClassSessionHandler
    0x7ffee919af60 M [] in WorkingSession>runStartup: 0x10dc79000: a(n) WorkingSession
    0x7ffee919afa8 M [] in WorkingSession>runList:do: 0x10dc79000: a(n) WorkingSession
    0x7ffee919afd8 M BlockClosure>on:do: 0x10df01c38: a(n) BlockClosure
    0x7ffee919b020 M [] in WorkingSession>runList:do: 0x10dc79000: a(n) WorkingSession
    0x7ffee919b068 M Array(SequenceableCollection)>do: 0x10dc7e970: a(n) Array
    0x7ffee919b0b0 I WorkingSession>runList:do: 0x10dc79000: a(n) WorkingSession
    0x7ffee919b100 I WorkingSession>runStartup: 0x10dc79000: a(n) WorkingSession
    0x7ffee919b148 I WorkingSession>start: 0x10dc79000: a(n) WorkingSession
    0x7ffee919b1a0 I SessionManager>launchSnapshot:andQuit: 0x10e38d000: a(n) SessionManager
       0x11b1bb1d8 s [] in SessionManager>snapshot:andQuit:
       0x11b1c5878 s [] in BlockClosure>newProcess
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.