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

Andrei ChiČ™ notifications at github.com
Tue Jun 11 16:40:52 UTC 2019


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)

```Segmentation fault Tue Jun 11 18:10:44 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 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.

```Smalltalk stack dump:
    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
```

-- 
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20190611/52298525/attachment-0001.html>


More information about the Vm-dev mailing list