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 ()
> 
> 

Attachment: signature.asc
Description: PGP signature

Reply via email to