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


Reply via email to