Hi Orson, if you talk about the “onrightclick.cpp” fix in 5648, then I think this one only would address the other problem reported by Andy (if at all, that was just a guess of mine): <<< NSInvalidArgumentException, reason: ‘Unlocking Focus on wrong view (<wxNSView:0x60800366fc0>), expected <wxNSButton: 0x608000563180>’ abort() called terminating with uncaught exception of type NSException >>>
The still open >>> *** Terminating app due to uncaught exception >>> 'NSInternalInconsistencyException', reason: 'Menu to be set as submenu is >>> already a submenu of some menu.' >>> abort() called >>> terminating with uncaught exception of type NSException >> is in my opinion a race condition resp. synchronisation problem of the COROUTINE stuff… at least in the “click second time before context menu had opened” case. Regards, Bernhard > On 12 May 2015, at 09:24, Maciej Sumiński <[email protected]> wrote: > > Hi Andy, > > Have you upgraded source code recently (revision >=5648)? Jean-Pierre > has committed a potential fix for the problem. > > Regards, > Orson > > On 05/12/2015 08:37 AM, Andy Peters wrote: >> >>> On May 6, 2015, at 12:55 PM, Andy Peters <[email protected]> wrote: >>> >>> Using Adam’s nightly OS X builds, most recently BZR 5645, pcbnew is >>> repeatedly crashing. It happens on both my 10.9 machine and my 10.10 >>> machine. In OpenGL mode, it seems to get confused about menus, or >>> something. It happens if I right-click to do something. I am not exactly >>> sure what conditions cause it. Attached is the relevant part of the bug >>> report: >>> >>> >>> Crashed Thread: 0 Dispatch queue: com.apple.main-thread >>> >>> Exception Type: EXC_CRASH (SIGABRT) >>> Exception Codes: 0x0000000000000000, 0x0000000000000000 >>> >>> Application Specific Information: >>> *** Terminating app due to uncaught exception >>> 'NSInternalInconsistencyException', reason: 'Menu to be set as submenu is >>> already a submenu of some menu.' >>> abort() called >>> terminating with uncaught exception of type NSException >> >> OK, I have come up with a sequence that will kill pcbnew dead every time. It >> happens with my builds, it happens with the nightlies. >> >> In the openGL canvas, select a footprint. Either left-click on it so it is >> highlighted, or right-click on it to bring up the context menu. Either >> select something from the context menu, or click the canvas to clear the >> selection, doesn’t matter. Then right-click on any footprint or element in >> the design. >> >> Bang — pcbnew will crash with the “Menu to be set as submenu is already a >> submenu of some menu.” >> >> The dispatch queue for the thread that crashes is here: >> >> Thread 0 Crashed:: Dispatch queue: com.apple.main-thread >> 0 libsystem_kernel.dylib 0x00007fff918e5866 __pthread_kill + 10 >> 1 libsystem_pthread.dylib 0x00007fff8baca35c pthread_kill + 92 >> 2 libsystem_c.dylib 0x00007fff88eb6b1a abort + 125 >> 3 libc++abi.dylib 0x00007fff92228f31 abort_message + 257 >> 4 libc++abi.dylib 0x00007fff9224e952 >> default_terminate_handler() + 264 >> 5 libobjc.A.dylib 0x00007fff9200c30d _objc_terminate() + 103 >> 6 libc++abi.dylib 0x00007fff9224c1d1 std::__terminate(void >> (*)()) + 8 >> 7 libc++abi.dylib 0x00007fff9224bc5b __cxa_throw + 124 >> 8 libobjc.A.dylib 0x00007fff9200bfa1 objc_exception_throw + >> 343 >> 9 com.apple.CoreFoundation 0x00007fff8f6b7038 +[NSException >> raise:format:arguments:] + 104 >> 10 com.apple.Foundation 0x00007fff8ef25361 -[NSAssertionHandler >> handleFailureInMethod:object:file:lineNumber:description:] + 189 >> 11 com.apple.AppKit 0x00007fff95f17912 -[NSMenuItem >> setSubmenu:] + 203 >> 12 libwx_osx_cocoau_core-3.0.0.dylib 0x000000010d608d5a >> wxMenuCocoaImpl::InsertOrAppend(wxMenuItem*, unsigned long) + 202 >> 13 libwx_osx_cocoau_core-3.0.0.dylib 0x000000010d560f6a >> wxMenu::DoInsertOrAppend(wxMenuItem*, unsigned long) + 122 >> 14 libwx_osx_cocoau_core-3.0.0.dylib 0x000000010d5615c9 >> wxMenu::DoAppend(wxMenuItem*) + 41 >> 15 _pcbnew.kiface 0x00000001137a8f17 >> CONTEXT_MENU::Add(CONTEXT_MENU*, wxString const&, bool) + 423 >> 16 _pcbnew.kiface 0x00000001131f48b4 >> CONDITIONAL_MENU::Generate(SELECTION&) + 212 >> 17 _pcbnew.kiface 0x00000001131ea6db >> SELECTION_TOOL::Main(TOOL_EVENT const&) + 571 >> 18 _pcbnew.kiface 0x000000011379ec46 COROUTINE<int, >> TOOL_EVENT const&>::callerStub(long) + 38 >> 19 _pcbnew.kiface 0x00000001138da537 make_fcontext + 55 >> >> so basically what I think is happening is that the previous context menu >> hasn’t been “released.” This is where my application-programming fu is very >> thin. >> >> -a >> _______________________________________________ >> Mailing list: https://launchpad.net/~kicad-developers >> Post to : [email protected] >> Unsubscribe : https://launchpad.net/~kicad-developers >> More help : https://help.launchpad.net/ListHelp >> > > > _______________________________________________ > Mailing list: https://launchpad.net/~kicad-developers > Post to : [email protected] > Unsubscribe : https://launchpad.net/~kicad-developers > More help : https://help.launchpad.net/ListHelp _______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp

