[Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Crash in interpret (?) (#402)

Eliot Miranda notifications at github.com
Wed Jun 12 16:11:32 UTC 2019


Hi Andrei,

> On Jun 11, 2019, at 9:40 AM, Andrei ChiČ™ <notifications at github.com> wrote:
> 
> I got a crash of the vm executing normal application code that I see for the first time.
> 
> MacOS Mojave 10.14.5
> Pharo-7.0.3+build.159.sha.87d28366ab24e00f43dbd5d91f1c0b01ec519e6f (64 Bit)
> Stable Pharo 7 VM (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)
> 
> 
> 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 0x0000000105cfcd48 rbx 0x0500000001005120 rcx 0x00000000000000c6 rdx 0x00000000000000c6
> 	rdi 0x0000000105ce70b0 rsi 0x0000000105ce70b0 rbp 0x00007ffee9fc5260 rsp 0x00007ffee9fc51d0
> 	r8  0x00000000000000c6 r9  0x00007ffee9fcc060 r10 0x00007ffee9fcc020 r11 0x000000026dd14925
> 	r12 0x00007ffee9fcc020 r13 0x00000000000000c6 r14 0x0000000000000000 r15 0x00000000000000c6
> 	rip 0x0000000105c0ffd7
> 0   Pharo                               0x0000000105c0ffd7 interpret + 32785
> 1   Pharo                               0x0000000105c90642 reportStackState + 952
> 2   Pharo                               0x0000000105c90987 sigsegv + 174
> 3   libsystem_platform.dylib            0x00007fff76003b5d _sigtramp + 29
> 4   ???                                 0x0000000000000000 0x0 + 0
> 5   Pharo                               0x0000000105c15ebb enterSmalltalkExecutiveImplementation + 149
> 6   Pharo                               0x0000000105c0823a interpret + 628
> 7   Pharo                               0x0000000105c91dca -[sqSqueakMainApplication runSqueak] + 393
> 8   Foundation                          0x00007fff4c255c4a __NSFirePerformWithOrder + 362
> 9   CoreFoundation                      0x00007fff49f47928 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
> 10  CoreFoundation                      0x00007fff49f4785d __CFRunLoopDoObservers + 451
> 11  CoreFoundation                      0x00007fff49ee9f80 __CFRunLoopRun + 1136
> 12  CoreFoundation                      0x00007fff49ee98be CFRunLoopRunSpecific + 455
> 13  HIToolbox                           0x00007fff491d596b RunCurrentEventLoopInMode + 292
> 14  HIToolbox                           0x00007fff491d55ad ReceiveNextEventCommon + 355
> 15  HIToolbox                           0x00007fff491d5436 _BlockUntilNextEventMatchingListInModeWithFilter + 64
> 16  AppKit                              0x00007fff4756f987 _DPSNextEvent + 965
> 17  AppKit                              0x00007fff4756e71f -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1361
> 18  AppKit                              0x00007fff4756883c -[NSApplication run] + 699
> 19  AppKit                              0x00007fff47557d7c NSApplicationMain + 777
> 20  libdyld.dylib                       0x00007fff75e183d5 start + 1
> The smalltalk stack trace. The top is just the application code.
> 
>     0x7ffee9fcc060 I AppBrowser>allParentScreensDo: 0x26d8fda78: a(n) AppBrowser
>     0x7ffee9fcc0b0 I AppBrowser>allParentScreens 0x26d8fda78: a(n) AppBrowser
>     0x7ffee9fcc0f0 I AppBrowser>withAllParentScreens 0x26d8fda78: a(n) AppBrowser
>     0x7ffee9fcc138 I AppBrowserElement>buildWidget 0x10b0f8130: a(n) AppBrowserElement
>     0x7ffee9fcc178 I AppBrowserElement>updateWidget 0x10b0f8130: a(n) AppBrowserElement
>     0x7ffee9fcc1b8 I AppBrowserElement>appModel: 0x10b0f8130: a(n) AppBrowserElement
>     0x7ffee9fcc218 I AppElement>buildContentPane 0x10b0e92e0: a(n) AppElement
>     0x7ffee9fcc260 I AppElement>updateWidget 0x10b0e92e0: a(n) AppElement
>     0x7ffee9fd4dc0 I AppElement>appModel: 0x10b0e92e0: a(n) AppElement
>     0x7ffee9fd4e10 I [] in AppModel>gtViewAppLiveFor: 0x146c365b8: a(n) AppModel
>     0x7ffee9fd4e50 I BlockClosure>glamourValueWithArgs: 0x26eb102f8: a(n) BlockClosure
>     0x7ffee9fd4e98 I BrStencilValuableExecutor>execute 0x26eb0b410: a(n) BrStencilValuableExecutor
>     0x7ffee9fd4ee0 I BrStencilBuilder>build 0x26eb08000: a(n) BrStencilBuilder
>     0x7ffee9fd4f10 M BrStencilBuilder>asElement 0x26eb08000: a(n) BrStencilBuilder
>     0x7ffee9fd4f40 M [] in GtPhlowExplicitView>asElementDo: 0x26eb03348: a(n) GtPhlowExplicitView
>     0x7ffee9fd4f70 M BlockClosure>on:do: 0x10b0e92a0: a(n) BlockClosure
>     0x7ffee9fd4fc8 I GtPhlowExplicitView>asElementDo: 0x26eb03348: a(n) GtPhlowExplicitView
>     0x7ffee9fd5018 I GtPhlowTaskItView>originalElementDo: 0x10af2ba88: a(n) GtPhlowTaskItView
>     0x7ffee9fd5068 I [] in GtPhlowTaskItView>taskElement: 0x10af2ba88: a(n) GtPhlowTaskItView
>     0x7ffee9fd50a8 I BlValuableCommand>execute 0x10af28038: a(n) BlValuableCommand
>     0x7ffee9fd50f0 I BlValuableCommand(BlCommand)>value 0x10af28038: a(n) BlValuableCommand
>     0x7ffee9fd5120 M [] in BlCancellableTaskItAction(BlNotificableTaskItAction)>futureAction 0x10af26ac8: a(n) BlCancellableTaskItAction
>     0x7ffee9fd5150 M BlockClosure>on:do: 0x10b0e8670: a(n) BlockClosure
>     0x7ffee9fd51a0 M [] in BlTaskNotifications>execute: 0x10af280b0: a(n) BlTaskNotifications
>     0x7ffee9fd51d0 M BlockClosure>on:do: 0x10b0e8bd0: a(n) BlockClosure
>     0x7ffee9fd5220 M [] in BlTaskNotifications>execute: 0x10af280b0: a(n) BlTaskNotifications
>     0x7ffee9fd5250 M BlockClosure>on:do: 0x10b0e8e28: a(n) BlockClosure
>     0x7ffee9fcfb78 M [] in BlTaskNotifications>execute: 0x10af280b0: a(n) BlTaskNotifications
>     0x7ffee9fcfbc0 I BlTaskNotifications>execute: 0x10af280b0: a(n) BlTaskNotifications
>     0x7ffee9fcfc00 M [] in BlTaskNotifications>maybeNotifyDuring: 0x10af280b0: a(n) BlTaskNotifications
>     0x7ffee9fcfc48 M [] in BlSignalProgress(DynamicVariable)>value:during: 0x14225cc00: a(n) BlSignalProgress
>     0x7ffee9fcfc88 M BlockClosure>ensure: 0x10b0e8828: a(n) BlockClosure
>     0x7ffee9fcfcd0 M BlSignalProgress(DynamicVariable)>value:during: 0x14225cc00: a(n) BlSignalProgress
>     0x7ffee9fcfd10 M BlSignalProgress class(DynamicVariable class)>value:during: 0x1251b7af0: a(n) BlSignalProgress class
>     0x7ffee9fcfd60 I BlTaskNotifications>maybeNotifyDuring: 0x10af280b0: a(n) BlTaskNotifications
>     0x7ffee9fcfd98 M [] in BlCancellableTaskItAction(BlNotificableTaskItAction)>futureAction 0x10af26ac8: a(n) BlCancellableTaskItAction
>     0x7ffee9fcfdc8 M TKTGenericTask>value 0x10af1f0a8: a(n) TKTGenericTask
>     0x7ffee9fcfdf8 M TKTFutureExecution(TKTTaskExecution)>doExecuteTask 0x10af19358: a(n) TKTFutureExecution
>     0x7ffee9fcfe30 M [] in TKTFutureExecution>doExecuteTask 0x10af19358: a(n) TKTFutureExecution
>     0x7ffee9fcfe60 M BlockClosure>on:do: 0x10b0e8578: a(n) BlockClosure
>     0x7ffee9fcfea0 M TKTFutureExecution>doExecuteTask 0x10af19358: a(n) TKTFutureExecution
>     0x7ffee9fcfed0 M TKTReadyTaskState>performTaskExecution: 0x10af1f0b8: a(n) TKTReadyTaskState
>     0x7ffee9fcff08 M TKTFutureExecution(TKTTaskExecution)>executeTask 0x10af19358: a(n) TKTFutureExecution
>     0x7ffee9fcff38 M [] in TKTFutureExecution(TKTTaskExecution)>value 0x10af19358: a(n) TKTFutureExecution
>     0x7ffee9fcff80 M [] in TKTConfiguration(DynamicVariable)>value:during: 0x1251fbbd8: a(n) TKTConfiguration
>     0x7ffee9fcffc0 M BlockClosure>ensure: 0x10b0e8448: a(n) BlockClosure
>     0x7ffee9fd0008 M TKTConfiguration(DynamicVariable)>value:during: 0x1251fbbd8: a(n) TKTConfiguration
>     0x7ffee9fd0048 M TKTConfiguration class(DynamicVariable class)>value:during: 0x1145b5478: a(n) TKTConfiguration class
>     0x7ffee9fd0090 M TKTConfiguration class>optionAt:value:during: 0x1145b5478: a(n) TKTConfiguration class
>     0x7ffee9fd00d8 M TKTConfiguration class>runner:during: 0x1145b5478: a(n) TKTConfiguration class
>     0x7ffee9fd0118 M TKTFutureExecution(TKTTaskExecution)>value 0x10af19358: a(n) TKTFutureExecution
>     0x7ffee9fd0150 M [] in TKTWorkerProcess(TKTAbstractExecutor)>executeTask: 0x146bd49d0: a(n) TKTWorkerProcess
>     0x7ffee9fd0180 M BlockClosure>on:do: 0x10b0e8040: a(n) BlockClosure
>     0x7ffee9fd01c0 M TKTWorkerProcess(TKTAbstractExecutor)>executeTask: 0x146bd49d0: a(n) TKTWorkerProcess
>     0x7ffee9fd01f8 M TKTWorkerProcess>executeTask: 0x146bd49d0: a(n) TKTWorkerProcess
>     0x7ffee9fd0230 M [] in TKTWorkerProcess>workerLoop 0x146bd49d0: a(n) TKTWorkerProcess
>     0x7ffee9fd0260 M BlockClosure>repeat 0x146bd4ac0: a(n) BlockClosure
>        0x146bd4ae0 s TKTWorkerProcess>workerLoop
>        0x146bd8500 s MessageSend>value
>        0x146bd8670 s MessageSend>value
>        0x146bd8728 s TKTProcess>privateExecution
>        0x146bd4b98 s TKTProcess>privateExecuteAndFinalizeProcess
> The too method allParentScreensDo: is quite simple:
> 
> allParentScreensDo: aBlock
> 	self parentScreen ifNotNil: [ :aScreen |
> 		aBlock value: aScreen.
> 		aScreen allParentScreensDo: aBlock ]
> The Apple crash report:
> 
> Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
> 0   libsystem_kernel.dylib        	0x00007fff75f532c6 __pthread_kill + 10
> 1   libsystem_pthread.dylib       	0x00007fff7600ebf1 pthread_kill + 284
> 2   libsystem_c.dylib             	0x00007fff75ebd6a6 abort + 127
> 3   org.pharo.Pharo               	0x0000000105c909aa sigsegv + 209
> 4   libsystem_platform.dylib      	0x00007fff76003b5d _sigtramp + 29
> 5   ???                           	000000000000000000 0 + 0
> 6   org.pharo.Pharo               	0x0000000105c15ebb enterSmalltalkExecutiveImplementation + 149
> 7   org.pharo.Pharo               	0x0000000105c0823a interpret + 628
> 8   org.pharo.Pharo               	0x0000000105c91dca -[sqSqueakMainApplication runSqueak] + 393
> 9   com.apple.Foundation          	0x00007fff4c255c4a __NSFirePerformWithOrder + 362
> 10  com.apple.CoreFoundation      	0x00007fff49f47928 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
> 11  com.apple.CoreFoundation      	0x00007fff49f4785d __CFRunLoopDoObservers + 451
> 12  com.apple.CoreFoundation      	0x00007fff49ee9f80 __CFRunLoopRun + 1136
> 13  com.apple.CoreFoundation      	0x00007fff49ee98be CFRunLoopRunSpecific + 455
> 14  com.apple.HIToolbox           	0x00007fff491d596b RunCurrentEventLoopInMode + 292
> 15  com.apple.HIToolbox           	0x00007fff491d55ad ReceiveNextEventCommon + 355
> 16  com.apple.HIToolbox           	0x00007fff491d5436 _BlockUntilNextEventMatchingListInModeWithFilter + 64
> 17  com.apple.AppKit              	0x00007fff4756f987 _DPSNextEvent + 965
> 18  com.apple.AppKit              	0x00007fff4756e71f -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1361
> 19  com.apple.AppKit              	0x00007fff4756883c -[NSApplication run] + 699
> 20  com.apple.AppKit              	0x00007fff47557d7c NSApplicationMain + 777
> 21  libdyld.dylib                 	0x00007fff75e183d5 start + 1

I too am seeing crashes.  Yesterday updating a Squeak image failed.  I suspect display changes (because the e ruction engine code has been quite stable for many months) but without a reproducible case we cannot be sure.  So I shall be trying to create a reproducible case for my crash.  I shall:

- take copies of image and changes so that each time the test is run the changes and image files are at the same point
- drive the test via the command line so that the ui does not introduce variability

Alas since my case involves network interaction I cannot control how long it takes to fetch remote package files nor the exact set of packages updated, but the update stream uses update maps which should hopefully provide some consistency between runs 

-- 
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/402#issuecomment-501344923
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20190612/67058ede/attachment-0001.html>


More information about the Vm-dev mailing list