On Thu, Apr 28, 2016 at 03:59:06PM +0200, Stephan Witt wrote: > > > 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.
Does this seem like a good situation for Valgrind? Valrind works with "Mac OS X 10.10, with initial support for 10.11" [1] Scott [1] http://valgrind.org/ > 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 () > >
signature.asc
Description: PGP signature