[solved] SampleBrowser crashed at MacOS Sierra 10.12.2

Problems building or running the engine, queries about how to use features etc.
Post Reply
huoxd
Gnoblar
Posts: 2
Joined: Sat Jan 21, 2017 11:20 am

[solved] SampleBrowser crashed at MacOS Sierra 10.12.2

Post by huoxd »

Hi,All

The sampleBrowser(1.10.2) crashed at my laptop, below is the crash log

Could you tell me how to solve this problem? Thanks!

Process: SampleBrowser [644]
Path: /Users/USER/Downloads/*/SampleBrowser.app/Contents/MacOS/SampleBrowser
Identifier: org.ogre3d.SampleBrowser
Version: ???
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: SampleBrowser [644]
User ID: 501

Date/Time: 2017-01-21 18:32:14.191 +0800
OS Version: Mac OS X 10.12.2 (16C67)
Report Version: 12
Anonymous UUID: 9DBAD550-BB56-9FA1-700B-76E64CB2F588


Time Awake Since Boot: 1600 seconds

System Integrity Protection: enabled

Crashed Thread: 0 Dispatch queue: com.apple.main-thread

Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY

Termination Signal: Segmentation fault: 11
Termination Reason: Namespace SIGNAL, Code 0xb
Terminating Process: exc handler [0]

VM Regions Near 0:
-->
__TEXT 000000010cd71000-000000010cdad000 [ 240K] r-x/rwx SM=COW /Users/USER/Downloads/*/SampleBrowser.app/Contents/MacOS/SampleBrowser

Application Specific Information:
objc_msgSend() selector name: keyEnumerator


Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libobjc.A.dylib 0x00007fffc8e79b69 objc_msgSend + 41
1 Ogre 0x000000010d33415a -[OgreConfigWindowDelegate tableView:objectValueForTableColumn:row:] + 58 (OgreConfigDialog.mm:438)
2 com.apple.AppKit 0x00007fffb1fae795 -[NSTableView preparedCellAtColumn:row:] + 417
3 com.apple.AppKit 0x00007fffb1fae4a4 -[NSTableView _drawContentsAtRow:column:withCellFrame:] + 50
4 com.apple.AppKit 0x00007fffb1fae013 -[NSTableView drawRow:clipRect:] + 1736
5 com.apple.AppKit 0x00007fffb1fad76e -[NSTableView drawRowIndexes:clipRect:] + 513
6 com.apple.AppKit 0x00007fffb1ebceed -[NSTableView drawRect:] + 1501
7 com.apple.AppKit 0x00007fffb1e9d029 -[NSView _drawRect:clip:] + 2276
8 com.apple.AppKit 0x00007fffb1eecfd3 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 1753
9 com.apple.AppKit 0x00007fffb1eed43e -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 2884
10 com.apple.AppKit 0x00007fffb1eed43e -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 2884
11 com.apple.AppKit 0x00007fffb1eed43e -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 2884
12 com.apple.AppKit 0x00007fffb1eed43e -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 2884
13 com.apple.AppKit 0x00007fffb1eed43e -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 2884
14 com.apple.AppKit 0x00007fffb1eed43e -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 2884
15 com.apple.AppKit 0x00007fffb1e9ab62 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 837
16 com.apple.AppKit 0x00007fffb1e9a33f -[NSThemeFrame _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 334
17 com.apple.AppKit 0x00007fffb1e98768 -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] + 2452
18 com.apple.AppKit 0x00007fffb1e94055 -[NSView displayIfNeeded] + 1748
19 com.apple.AppKit 0x00007fffb1e93967 -[NSWindow displayIfNeeded] + 230
20 com.apple.AppKit 0x00007fffb25f23f3 ___NSWindowGetDisplayCycleObserver_block_invoke.6228 + 277
21 com.apple.AppKit 0x00007fffb1e93445 __37+[NSDisplayCycle currentDisplayCycle]_block_invoke + 454
22 com.apple.QuartzCore 0x00007fffb9f41a96 CA::Transaction::run_commit_handlers(CATransactionPhase) + 46
23 com.apple.QuartzCore 0x00007fffba049800 CA::Context::commit_transaction(CA::Transaction*) + 160
24 com.apple.QuartzCore 0x00007fffb9f40631 CA::Transaction::commit() + 475
25 com.apple.AppKit 0x00007fffb2176445 __37+[NSDisplayCycle currentDisplayCycle]_block_invoke.31 + 323
26 com.apple.CoreFoundation 0x00007fffb4232397 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
27 com.apple.CoreFoundation 0x00007fffb4232307 __CFRunLoopDoObservers + 391
28 com.apple.CoreFoundation 0x00007fffb4212f39 __CFRunLoopRun + 873
29 com.apple.CoreFoundation 0x00007fffb4212974 CFRunLoopRunSpecific + 420
30 com.apple.HIToolbox 0x00007fffb379eacc RunCurrentEventLoopInMode + 240
31 com.apple.HIToolbox 0x00007fffb379e809 ReceiveNextEventCommon + 184
32 com.apple.HIToolbox 0x00007fffb379e736 _BlockUntilNextEventMatchingListInModeWithFilter + 71
33 com.apple.AppKit 0x00007fffb1d44ae4 _DPSNextEvent + 1120
34 com.apple.AppKit 0x00007fffb24bf21f -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 2789
35 com.apple.AppKit 0x00007fffb1d39465 -[NSApplication run] + 926
36 com.apple.AppKit 0x00007fffb1d03d80 NSApplicationMain + 1237
37 org.ogre3d.SampleBrowser 0x000000010cd78fe6 main + 166 (SampleBrowser.cpp:93)
38 libdyld.dylib 0x00007fffc976b255 start + 1

Thread 1:
0 libsystem_kernel.dylib 0x00007fffc989a4e2 __workq_kernreturn + 10
1 libsystem_pthread.dylib 0x00007fffc9982791 _pthread_wqthread + 1426
2 libsystem_pthread.dylib 0x00007fffc99821ed start_wqthread + 13


Binary Images:
0x10cd71000 - 0x10cdacff7 +org.ogre3d.SampleBrowser (???) <1F4CC232-8C41-3968-B0B2-3EC788CA5ABC> /Users/USER/Downloads/*/SampleBrowser.app/Contents/MacOS/SampleBrowser
0x10cddb000 - 0x10ce87ff3 +libSDL2-2.0.0.dylib (0) <F069C30C-BE78-31EE-B1A9-85087BC336F2> /usr/local/opt/sdl2/lib/libSDL2-2.0.0.dylib
0x10cec1000 - 0x10cf25fff +OgreBites (???) <861338AE-CDAF-30FB-9551-C13464268046> /Users/USER/Downloads/*/OgreBites.framework/Versions/1.10.2/OgreBites
0x10cf70000 - 0x10d135fff +OgreRTShaderSystem (???) <291335EF-A427-3700-A20B-DB5B5D56DB83> /Users/USER/Downloads/*/OgreRTShaderSystem.framework/Versions/1.10.2/OgreRTShaderSystem
0x10d231000 - 0x10d2b2ff7 +OgreOverlay (???) <2722403C-8345-3BA2-99B3-26389911C1C6> /Users/USER/Downloads/*/OgreOverlay.framework/Versions/1.10.2/OgreOverlay
Last edited by huoxd on Tue Jan 24, 2017 8:11 am, edited 1 time in total.
User avatar
Eugene
OGRE Team Member
OGRE Team Member
Posts: 185
Joined: Mon Mar 24, 2008 4:54 pm
Location: Kraków, Poland
x 41

Re: SampleBrowser crashed at MacOS Sierra 10.12.2

Post by Eugene »

Add mOptions = nil; at OgreConfigWindowDelegate::dealloc

Seems that ui animation keeps config window alive when mOptions points to already destructed NSDictionary
huoxd
Gnoblar
Posts: 2
Joined: Sat Jan 21, 2017 11:20 am

Re: SampleBrowser crashed at MacOS Sierra 10.12.2

Post by huoxd »

Hi,

I review the code and make a change:

https://github.com/OGRECave/ogre/blob/m ... gDialog.mm line 98

old

Code: Select all

static void initialise(OgreConfigWindowDelegate *mWindowDelegate)
new

Code: Select all

static void initialise(OgreConfigWindowDelegate* &mWindowDelegate)
And it seems work. At line 221, the below code tried changing the mWindowDelegate value which is a pointer, so it should make sense to pass a pointer's reference

Code: Select all

initialise(mImpl->mWindowDelegate);
Does it make sense?
Post Reply