> Am 27.04.2016 um 22:39 schrieb Richard Heck <rgh...@lyx.org>: > > On 04/26/2016 05:15 PM, Stephan Witt wrote: >> Am 26.04.2016 um 17:51 schrieb Richard Heck <rgh...@lyx.org>: >>> On 04/26/2016 03:02 AM, Stephan Witt wrote: >>>> Am 26.04.2016 um 06:10 schrieb Richard Heck <rgh...@lyx.org>: >>>>> On 04/25/2016 11:56 PM, Stephan Witt wrote: >>>>>> Am 25.04.2016 um 18:54 schrieb Scott Kostyshak <skost...@lyx.org>: >>>>>>> On Mon, Apr 25, 2016 at 11:09:56AM -0500, disinteres...@gmail.com wrote: >>>>>>>> I did figure out a recipe: Open a blank document, then immediately open >>>>>>>> another blank document in a new *window*, open preferences, toggle >>>>>>>> cursor >>>>>>>> follows scrollbar, and hit apply. Reliable sigsev. As far as I can >>>>>>>> tell, it >>>>>>>> doesn't happen if you have open documents in tabs selected. >>>>>>> Thanks for the instructions. I cannot reproduce on Ubuntu. Stephan do >>>>>>> you see this on OS X? >>>>>> Ok, I didn’t got it right, sorry. After reading instructions again >>>>>> I’ve realized I have to open a new document not only a new window. >>>>>> >>>>>> Now I see the crash and this is the back trace: >>>>>> >>>>>> Thread 1Queue : com.apple.main-thread (serial) >>>>>> #0 0x00007fff8d1c3f06 in __pthread_kill () >>>>>> #1 0x00000001037f742d in pthread_kill () >>>>>> #2 0x00007fff87dec6e7 in abort () >>>>>> #3 0x000000010041619f in lyx::lyx_exit(int) at >>>>>> /Users/stephan/git/lyx/src/LyX.cpp:245 >>>>>> #4 0x00000001006524aa in boost::assertion_failed(char const*, char >>>>>> const*, char const*, long) at /Users/stephan/git/lyx/src/boost.cpp:47 >>>>>> #5 0x0000000100f82e4d in lyx::doAssertWithCallstack(bool) at >>>>>> /Users/stephan/git/lyx/src/support/lassert.cpp:44 >>>>>> #6 0x0000000100f83b42 in lyx::doAssert(char const*, char const*, >>>>>> long) at /Users/stephan/git/lyx/src/support/lassert.cpp:53 >>>>>> #7 0x0000000100443f1e in >>>>>> lyx::LyXAction::funcHasFlag(lyx::FuncCode, lyx::LyXAction::FuncAttribs) >>>>>> const at /Users/stephan/git/lyx/src/LyXAction.cpp:3826 >>>>>> #8 0x0000000100e161b7 in >>>>>> lyx::frontend::GuiView::getStatus(lyx::FuncRequest const&, >>>>>> lyx::FuncStatus&) at >>>>>> /Users/stephan/git/lyx/src/frontends/qt4/GuiView.cpp:1776 >>>>> This is very strange. It means we are are trying to look up the status of >>>>> a FuncCode that does not exist. >>>>> >>>>> bool LyXAction::funcHasFlag(FuncCode action, >>>>> LyXAction::FuncAttribs flag) const >>>>> { >>>>> InfoMap::const_iterator ici = lyx_info_map.find(action); >>>>> >>>>> if (ici == lyx_info_map.end()) { >>>>> LYXERR0("action: " << action << " is not known."); >>>>> LASSERT(false, return false); >>>>> } >>>>> >>>>> return ici->second.attrib & flag; >>>>> } >>>>> >>>>> There should be an error message in the terminal that says which >>>>> function that is. >>>> The FuncCode is not visible. It’s some random number. >>>> >>>> Console output is: >>>> LyXAction.cpp (3825): action: is not known. >>>> >>>> (lldb) print action >>>> (lyx::FuncCode) $0 = 335544320 >>>> (lldb) up >>>> (lldb) print cmd >>>> (const lyx::FuncRequest) $1 = (action_ = LFUN_CHAR_BACKWARD, argument_ = >>>> L" 翣\U0000fffd𧿣\U0000fffd\U0000fffdᒄ\x01$\0$\0“, >>>> origin_ = 32, x_ = 32, y_ = 32, button_ = 32) >>>> (lldb) print cmd.action() >>>> (lyx::FuncCode) $2 = LFUN_CHAR_BACKWARD >>>> >>>> Really weird. >>> Hmm. I wonder if it's an uninitalized variable somehow. >>> >>> The stuff for lyx::FuncRequest is garbage, too. All the 32s make no sense. >>> >>> Can you try the attached patch? It's just to provide some debugging >>> info. I'm curious which toolbar this is coming from, or if it's even a >>> real toolbar. >>> >>> Richard >>> >>> <t.txt> >> It’s more difficult to trigger the problem with the patch applied. >> >> Finally I succeeded - but the problematic FuncCode wasn’t UTF-8. >> >> I’ve attached the tail of the log messages plus the wrong func. > > This makes me even more confused. Many of the actions listed aren't on > toolbars. > > It obviously looks like some sort of memory corruption and is > reminiscent of issues we had a while ago with certain static methods. > Are we maybe trying to update both windows at once? > > Richard
Now I got a crash without any window open with „New from Template…“ I got it after not using LyX for about a day and couldn’t reproduce after restarting it. Not very useful but another sign of memory problems. Stephan * thread #1: tid = 0xada02f, 0x000000010336802b QtCore`QMetaObject::activate(QObject*, int, int, void**) + 59, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT) Thread 1Queue : com.apple.main-thread (serial) #0 0x000000010336802b in QMetaObject::activate(QObject*, int, int, void**) () #1 0x0000000100ae32aa in lyx::frontend::Action::triggered(QAction*) at /Users/stephan/git/lyx-build/cmake/2.3.0dev/src/frontends/qt4/moc_Action.cpp:136 #2 0x0000000100ae324c in lyx::frontend::Action::action() at /Users/stephan/git/lyx/src/frontends/qt4/Action.cpp:71 #3 0x0000000100ae3378 in lyx::frontend::Action::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) at /Users/stephan/git/lyx-build/cmake/2.3.0dev/src/frontends/qt4/moc_Action.cpp:80 #4 0x00000001033682dd in QMetaObject::activate(QObject*, int, int, void**) () #5 0x00000001024468df in QAction::activate(QAction::ActionEvent) () #6 0x00000001033682dd in QMetaObject::activate(QObject*, int, int, void**) () #7 0x00000001033613fc in QObject::event(QEvent*) () #8 0x000000010244fae6 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () #9 0x0000000102452430 in QApplication::notify(QObject*, QEvent*) () #10 0x0000000100b3b37e in lyx::frontend::GuiApplication::notify(QObject*, QEvent*) at /Users/stephan/git/lyx/src/frontends/qt4/GuiApplication.cpp:2629 #11 0x0000000103335114 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () #12 0x0000000103335d34 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () #13 0x0000000106a99bae in QCocoaEventDispatcherPrivate::processPostedEvents() () #14 0x0000000106a9a481 in QCocoaEventDispatcherPrivate::postedEventsSourceCallback(void*) () #15 0x00007fff87eca881 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ () #16 0x00007fff87ea9fbc in __CFRunLoopDoSources0 () #17 0x00007fff87ea94df in __CFRunLoopRun () #18 0x00007fff87ea8ed8 in CFRunLoopRunSpecific () #19 0x00007fff91913935 in RunCurrentEventLoopInMode () #20 0x00007fff91913677 in ReceiveNextEventCommon () #21 0x00007fff919135af in _BlockUntilNextEventMatchingListInModeWithFilter () #22 0x00007fff8a95cefa in _DPSNextEvent () #23 0x00007fff8a95c32a in -[NSApplication _nextEventMatchingEventMask:untilDate:inMode:dequeue:] () #24 0x00007fff8a950e84 in -[NSApplication run] () #25 0x0000000106a9937f in QCocoaEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () #26 0x00000001033314c1 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () #27 0x0000000103335785 in QCoreApplication::exec() () #28 0x0000000100b391a6 in lyx::frontend::GuiApplication::exec() at /Users/stephan/git/lyx/src/frontends/qt4/GuiApplication.cpp:2395 #29 0x0000000100417598 in lyx::LyX::exec(int&, char**) at /Users/stephan/git/lyx/src/LyX.cpp:359 #30 0x000000010069d846 in main at /Users/stephan/git/lyx/src/main.cpp:42 #31 0x00007fff99a575ad in start ()