[Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Segfault when opening an image saved in full-screen mode (#290)

Fabio Niephaus notifications at github.com
Fri Oct 5 09:50:49 UTC 2018


Steps to reproduce:
1. Download recent Squeak image from http://files.squeak.org/trunk/
2. Enter full-screen mode and press `save and quit`
3. Re-open app bundle

Not sure if this also happens on Linux or Windows.

Crash log:
```
Segmentation fault Fri Oct  5 11:47:53 2018


VM: 201807260206 https://github.com/OpenSmalltalk/opensmalltalk-vm.git
Date: Wed Jul 25 19:06:07 2018 CommitHash: d1f3fb1
Plugins: 201807260206 https://github.com/OpenSmalltalk/opensmalltalk-vm.git

C stack backtrace & registers:
	eax 0x084f5786 ebx 0x01841800 ecx 0x00000000 edx 0x084f4a7c
	edi 0x00000000 esi 0x00000000 ebp 0xbff38348 esp 0xbff381b0
	eip 0x084f5786
0   GLEngine                            0x084f5786 gleRunVertexSubmitImmediate + 3382
1   Squeak                              0x00110f6b reportStackState + 770
2   Squeak                              0x0011130b sigsegv + 183
3   libsystem_platform.dylib            0xa7cc2b6e _sigtramp + 46
4   ???                                 0xffffffff 0x0 + 4294967295
5   GLEngine                            0x084f45bc gleLLVMArrayFunc + 44
6   GLEngine                            0x083d715f glDrawArrays_Exec + 535
7   libGL.dylib                         0x993f34f9 glDrawArrays + 29
8   Squeak                              0x0010c4e0 -[sqSqueakOSXOpenGLView drawScreenQuad] + 72
9   Squeak                              0x0010c562 -[sqSqueakOSXOpenGLView drawDisplayTexture] + 125
10  Squeak                              0x0010cb47 -[sqSqueakOSXOpenGLView drawScreenRect:] + 149
11  Squeak                              0x0010eb0f -[sqSqueakOSXOpenGLView clearScreen] + 172
12  Squeak                              0x0010caaa -[sqSqueakOSXOpenGLView drawRect:flush:] + 373
13  Squeak                              0x0010c930 -[sqSqueakOSXOpenGLView drawRect:] + 50
14  AppKit                              0x915f8a34 _NSViewDrawRect + 86
15  AppKit                              0x915e4234 -[NSView _drawRect:clip:] + 1933
16  AppKit                              0x915e3238 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 1619
17  AppKit                              0x915e3568 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 2435
18  AppKit                              0x915e1551 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 828
19  AppKit                              0x915dee8d -[NSView _oldDisplayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] + 2719
20  AppKit                              0x915de3c0 -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] + 119
21  AppKit                              0x915db2b0 -[NSView displayIfNeeded] + 1281
22  AppKit                              0x915d8128 -[NSWindow displayIfNeeded] + 385
23  AppKit                              0x915d7f44 __NSWindowGetDisplayCycleObserverForDisplay_block_invoke + 729
24  AppKit                              0x915d3092 NSDisplayCycleObserverInvoke + 155
25  AppKit                              0x915d2d10 NSDisplayCycleFlush + 861
26  QuartzCore                          0x9aaef913 _ZN2CA11Transaction19run_commit_handlersE18CATransactionPhase + 45
27  QuartzCore                          0x9aaef53a _ZN2CA11Transaction6commitEv + 188
28  AppKit                              0x915d273d __65+[CATransaction(NSCATransaction) NS_setFlushesWithDisplayRefresh]_block_invoke + 452
29  CoreFoundation                      0x9394eb26 _runLoopObserverWithBlockContext + 22
30  CoreFoundation                      0x9394108f __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 22
31  CoreFoundation                      0x93940fb8 __CFRunLoopDoObservers + 459
32  CoreFoundation                      0x938e7395 __CFRunLoopRun + 2611
33  CoreFoundation                      0x938e6665 CFRunLoopRunSpecific + 584
34  CoreFoundation                      0x938ff65f CFRunLoopRunInMode + 82
35  HIToolbox                           0x92ed50ef RunCurrentEventLoopInMode + 325
36  HIToolbox                           0x92ed4cbe ReceiveNextEventCommon + 452
37  HIToolbox                           0x92ed4add _BlockUntilNextEventMatchingListInModeWithFilter + 71
38  AppKit                              0x914d9892 _DPSNextEvent + 1190
39  AppKit                              0x914d8461 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 958
40  AppKit                              0x914d809b -[NSApplication(NSEvent) nextEventMatchingMask:untilDate:inMode:dequeue:] + 107
41  Squeak                              0x0010558e -[sqSqueakOSXApplication(events) pumpRunLoopEventSendAndSignal:] + 54
42  Squeak                              0x0010f9ec vmIOProcessEvents + 190
43  Squeak                              0x0010fa53 ioProcessEvents + 57
44  Squeak                              0x000a3195 checkForEventsMayContextSwitch + 866
45  Squeak                              0x00097fd3 interpret + 17423
46  Squeak                              0x000a036c enterSmalltalkExecutiveImplementation + 135
47  Squeak                              0x00093ead interpret + 745
48  Squeak                              0x001123f5 -[sqSqueakMainApplication runSqueak] + 439
49  Foundation                          0x9539e348 __NSFirePerformWithOrder + 415
50  CoreFoundation                      0x9394108f __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 22
51  CoreFoundation                      0x93940fb8 __CFRunLoopDoObservers + 459
52  CoreFoundation                      0x938e7395 __CFRunLoopRun + 2611
53  CoreFoundation                      0x938e6665 CFRunLoopRunSpecific + 584
54  CoreFoundation                      0x938ff65f CFRunLoopRunInMode + 82
55  HIToolbox                           0x92ed50ef RunCurrentEventLoopInMode + 325
56  HIToolbox                           0x92ed4cbe ReceiveNextEventCommon + 452
57  HIToolbox                           0x92ed4add _BlockUntilNextEventMatchingListInModeWithFilter + 71
58  AppKit                              0x914d9892 _DPSNextEvent + 1190
59  AppKit                              0x914d8461 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 958
60  AppKit                              0x914d809b -[NSApplication(NSEvent) nextEventMatchingMask:untilDate:inMode:dequeue:] + 107
61  AppKit                              0x914d25f3 -[NSApplication run] + 751
62  AppKit                              0x914c2690 NSApplicationMain + 1140
63  libdyld.dylib                       0xa7ad6ac9 start + 1


Smalltalk stack dump:
0xbff3c7bc I DisplayScreen(Form)>boundingBox 0x406f470: a(n) DisplayScreen
0xbff3c7dc I DisplayScreen>setExtent:depth: 0x406f470: a(n) DisplayScreen
0xbff3c804 I DisplayScreen class>startUp 0x434d250: a(n) DisplayScreen class
0xbff3c81c M DisplayScreen class(Behavior)>startUp: 0x434d250: a(n) DisplayScreen class
0xbff3c848 M [] in SmalltalkImage>send:toClassesNamedIn:with: 0x4379aa8: a(n) SmalltalkImage
0xbff3c870 I OrderedCollection>do: 0x44d2768: a(n) OrderedCollection
0xbff3c898 I SmalltalkImage>send:toClassesNamedIn:with: 0x4379aa8: a(n) SmalltalkImage
0xbff3c8c4 I SmalltalkImage>processStartUpList: 0x4379aa8: a(n) SmalltalkImage
0xbff3c8f0 I SmalltalkImage>snapshot:andQuit:withExitCode:embedded: 0x4379aa8: a(n) SmalltalkImage
 0x6223a90 s SmalltalkImage>snapshot:andQuit:embedded:
 0x62243a0 s SmalltalkImage>snapshot:andQuit:
 0x6225560 s TheWorldMenu>saveAndQuit
 0x62261a8 s TheWorldMenu>doMenuItem:with:
 0x6226e00 s [] in MenuItemMorph>invokeWithEvent:
 0x6226f50 s BlockClosure>ensure:
 0x6227128 s CursorWithMask(Cursor)>showWhile:
 0x62271a0 s MenuItemMorph>invokeWithEvent:
 0x6227290 s MenuItemMorph>mouseUp:
 0x62273f0 s MenuItemMorph>handleMouseUp:
 0x6227450 s MouseButtonEvent>sentTo:
 0x62274b0 s MenuItemMorph(Morph)>handleEvent:
 0x6227510 s MorphicEventDispatcher>dispatchEvent:withHandler:withMorph:
 0x6227570 s MorphicEventDispatcher>dispatchDefault:with:
 0x62275e0 s MorphicEventDispatcher>dispatchEvent:with:
 0x6227640 s MenuItemMorph(Morph)>processEvent:using:
 0x62276a0 s [] in MorphicEventDispatcher>dispatchEvent:toSubmorphsOf:
 0x6227700 s Array(SequenceableCollection)>do:
 0x62277c0 s MenuMorph(Morph)>submorphsDo:
 0x6227820 s MorphicEventDispatcher>dispatchEvent:toSubmorphsOf:
 0x6227880 s MorphicEventDispatcher>dispatchEvent:withHandler:withMorph:
 0x62278e0 s MorphicEventDispatcher>dispatchDefault:with:
 0x6227940 s MorphicEventDispatcher>dispatchEvent:with:
 0x62279a0 s MenuMorph(Morph)>processEvent:using:
 0x6227a00 s MorphicEventDispatcher>doProcessingForFocusEvent:with:
 0x6227a60 s MorphicEventDispatcher>dispatchFocusEventFully:with:
 0x6227ac0 s MenuMorph>processFocusEvent:using:
 0x6227b20 s MenuMorph(Morph)>processFocusEvent:
 0x6227b80 s [] in HandMorph>sendFocusEvent:to:clear:
 0x6227be0 s BlockClosure>ensure:
 0x6227c70 s MouseButtonEvent(MorphicEvent)>becomeActiveDuring:
 0x6227ce8 s [] in HandMorph>sendFocusEvent:to:clear:
 0x6227d48 s BlockClosure>ensure:
 0x6227dc8 s HandMorph>becomeActiveDuring:
 0x6227e40 s [] in HandMorph>sendFocusEvent:to:clear:
 0x6227ea0 s BlockClosure>ensure:
 0x6227f20 s PasteUpMorph>becomeActiveDuring:
 0x6227f98 s HandMorph>sendFocusEvent:to:clear:
 0x6227ff8 s HandMorph>sendEvent:focus:clear:
 0x6228070 s HandMorph>sendMouseEvent:
 0x62280e0 s HandMorph>handleEvent:
 0x6228140 s HandMorph>processEvents
 0x62281a0 s [] in WorldState>doOneCycleNowFor:
 0x6228200 s Array(SequenceableCollection)>do:
 0x6228288 s WorldState>handsDo:
 0x62282e8 s WorldState>doOneCycleNowFor:
 0x6228348 s WorldState>doOneCycleFor:
 0x62283a8 s PasteUpMorph>doOneCycle
 0x4558ab8 s [] in MorphicProject>spawnNewProcess
 0x43273f0 s [] in BlockClosure>newProcess

Most recent primitives
basicNew
size
at:
basicNew:
decompress:fromByteArray:at:
beCursorWithMask:
vmParameterAt:
fractionPart
truncated
vmParameterAt:put:
wait
valueNoContextSwitch
specialObjectsArray
new:
at:put:
basicNew
new:
basicNew
new:
specialObjectsArray
at:
initialize:
signal
new
new
at:
identityHash
at:
at:
perform:with:
+
+
<
digitAdd:
normalize
at:
at:
*
size
\\
\\
\\
=
=
perform:with:
utcMicrosecondClock
signal
at:
at:
at:
at:
perform:with:
utcMicrosecondClock
localMicrosecondClockPrimitive
-
//
at:
at:
*
**PrimitiveFailure**
negative
digitMultiply:neg:
+
digitCompare:
\\
//
basicNew
//
\\
at:
at:
perform:with:
actualScreenSize
species
species
getSystemAttribute:
compare:with:collated:
new:

stack page bytes 4096 available headroom 2788 minimum unused headroom 3632

	(Segmentation fault)
```

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


More information about the Vm-dev mailing list