Hi,
We have a weird issue that seems to have been around since 4.x. If we run the game in the editor, load a couple of scenes using both async and normal methods, hitting stop will crash the editor. Has anyone experienced anything similar?
More detailed example:
- Run game starting in menu (scene A)
- load a game level using async (scene B)
- quit the level and load the menu (normal load, not async) (scene A)
- hit stop in the editor => crash
Also, replacing 4 with 2 above will also crash the editor (without hitting stop). In other words, loading the level the second time will crash the editor.
It seems to be working fine on iOS, so this editor behavior is strange. Many thanks in advance for any help!
In both these cases on the desktop, this is what appears in the Console log:
*** Launching bug reporter due to crashbug.
Obtained 0 stack frames.
2013-07-01 17:37:07.003 Unity Bug Reporter[4228:1203] Address book access is denied for executable at path: /Applications/Unity/Unity Bug Reporter.app/Contents/MacOS/Unity Bug Reporter
(
0 AddressBook 0x967cb2da __ABIsAccessGranted_block_invoke_0 + 39
1 libdispatch.dylib 0x936a1c82 _dispatch_client_callout + 46
2 libdispatch.dylib 0x936a1bf1 dispatch_once_f + 57
3 libdispatch.dylib 0x936a2831 dispatch_once + 31
4 AddressBook 0x967cb222 ABIsAccessGranted + 50
5 AddressBook 0x967cb116 +[ABAddressBook sharedAddressBook] + 35
6 Unity Bug Reporter 0x00004c89 -[BugReporter finishLaunching] + 341
7 AppKit 0x915da3a9 -[NSApplication run] + 196
8 AppKit 0x9157d666 NSApplicationMain + 1053
9 Unity Bug Reporter 0x000031cc main + 482
10 Unity Bug Reporter 0x00002972 _start + 216
11 Unity Bug Reporter 0x00002899 start + 41
)
When running on the device, this is the stack trace when the level is loaded the second time:
- thread #1: tid = 0x2503, 0x016ba582 ourapp1
ActorPair::getContactNotifyFlags() const + 22, stop reason = EXC_BAD_ACCESS (code=1, address=0xdfa40014) frame #0: 0x016ba582 ourapp1
ActorPair::getContactNotifyFlags() const + 22
frame #1: 0x01633032 ourapp1NPhaseCore::callContactCallbacks(NxUserContactReport*, IceCore::Container) + 158 frame #2: 0x016429ac ourapp1
Scene::runSubstep() + 668
frame #3: 0x01642556 ourapp1Scene::simulate(unsigned int, unsigned int) + 182 frame #4: 0x016ab044 ourapp1
NpScene::executeScene() + 152
frame #5: 0x016aafa4 ourapp1NpScene::simulate(float) + 204 frame #6: 0x012bde98 ourapp1
PhysicsManager::PhysicsFixedUpdate(this=0x03baa630) + 268 at PhysicsManager.cpp:744
frame #7: 0x013c3670 ourapp1PlayerLoop(batchMode=false, performRendering=true, pHookEvt=0x00000000) + 800 at Player.cpp:1666 frame #8: 0x0118ad18 ourapp1
UnityPlayerLoop() + 36 at LibEntryPoint.mm:376
frame #9: 0x000045f0 ourapp1-[AppController Repaint](self=0x03559f40, _cmd=0x018a8f4d) + 144 at AppController.mm:342 frame #10: 0x00004550 ourapp1
-[AppController RepaintDisplayLink](self=0x03559f40, _cmd=0x018a8f81) + 384 at AppController.mm:323
frame #11: 0x03360b3a libglInterpose.dylib-[DYDisplayLinkInterposer forwardDisplayLinkCallback:] + 306 frame #12: 0x348b5098 QuartzCore
CA:
isplay:
isplayLink::dispatch(unsigned long long, unsigned long long) + 160
frame #13: 0x348b4ff0 QuartzCoreCA::smile:isplay::IOMFBDisplayLink::callback(__IOMobileFramebuffer*, unsigned long long, unsigned long long, unsigned long long, void*) + 64 frame #14: 0x36b0efd6 IOMobileFramebuffer
IOMobileFramebufferVsyncNotifyFunc + 154
frame #15: 0x338af448 IOKitIODispatchCalloutFromCFMessage + 192 frame #16: 0x32c925da CoreFoundation
__CFMachPortPerform + 118
frame #17: 0x32c9d172 CoreFoundation__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 34 frame #18: 0x32c9d116 CoreFoundation
__CFRunLoopDoSource1 + 138
frame #19: 0x32c9bf98 CoreFoundation__CFRunLoopRun + 1384 frame #20: 0x32c0eebc CoreFoundation
CFRunLoopRunSpecific + 356
frame #21: 0x32c0ed48 CoreFoundationCFRunLoopRunInMode + 104 frame #22: 0x367c32ea GraphicsServices
GSEventRunModal + 74
frame #23: 0x34b24300 UIKitUIApplicationMain + 1120 frame #24: 0x000052a8 ourapp1
main(argc=1, argv=0x2fdffc74) + 212 at main.mm:25
We are up to date with both Unity and Xcode.
Either we are doing something that isn’t 100% legal but not documented, or this is due to a bug in the player. Any info would be much appreciated!