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.

> It's coming from the toolbars. It's possible,
> therefore, that this requires certain toolbars to be visible. But it is
> very odd that we are trying to find the status of a non-existent LFUN.
> 
> Note that this is an assertion. We won't crash in release mode but will
> just return "not enabled“.

I tried to catch it by enabling the malloc debugger. The crash is gone
(perhaps because of the multiples of 16 boundaries). Instead of I get
another one later when exploring the menus items.

Stephan

Thread 1Queue : com.apple.main-thread (serial)
#0      0x000000010d017b94 in QCocoaMenuItem::clearMenu(QCocoaMenu*) ()
#1      0x000000010d0158e6 in QCocoaMenu::~QCocoaMenu() ()
#2      0x000000010d015a3e in QCocoaMenu::~QCocoaMenu() ()
#3      0x00000001025d7ed1 in QMenuPrivate::~QMenuPrivate() ()
#4      0x00000001025d73ce in QMenuPrivate::~QMenuPrivate() ()
#5      0x000000010336ba91 in QObject::~QObject() ()
#6      0x0000000102489c20 in QWidget::~QWidget() ()
#7      0x00000001025d094e in QMenu::~QMenu() ()
#8      0x0000000100e856ac in lyx::frontend::Menu::clear() at 
/Users/stephan/git/lyx/src/frontends/qt4/Menus.cpp:1836
#9      0x0000000100e84da7 in 
lyx::frontend::Menus::updateMenu(lyx::frontend::Menu*) at 
/Users/stephan/git/lyx/src/frontends/qt4/Menus.cpp:2311
#10     0x0000000100e84cbf in lyx::frontend::Menu::updateView() at 
/Users/stephan/git/lyx/src/frontends/qt4/Menus.cpp:1827
#11     0x0000000100e8bb18 in lyx::frontend::Menu::qt_static_metacall(QObject*, 
QMetaObject::Call, int, void**) at 
/Users/stephan/git/lyx-build/cmake/2.3.0dev/src/frontends/qt4/moc_Menus.cpp:70
#12     0x00000001033732dd in QMetaObject::activate(QObject*, int, int, void**) 
()
#13     0x00000001025d0062 in QMenuPrivate::_q_platformMenuAboutToShow() ()
#14     0x00000001033732dd in QMetaObject::activate(QObject*, int, int, void**) 
()
#15     0x00007fff8af509b9 in -[NSMenu _sendMenuOpeningNotification:] ()
#16     0x00007fff8ad1804b in -[NSCarbonMenuImpl 
_carbonOpenEvent:handlerCallRef:] ()
#17     0x00007fff8aafd0dd in NSSLMMenuEventHandler ()
#18     0x00007fff918eb7be in DispatchEventToHandlers(EventTargetRec*, 
OpaqueEventRef*, HandlerCallRec*) ()
#19     0x00007fff918eac48 in SendEventToEventTargetInternal(OpaqueEventRef*, 
OpaqueEventTargetRef*, HandlerCallRec*) ()
#20     0x00007fff918eaaab in SendEventToEventTargetWithOptions ()
#21     0x00007fff9195c770 in SendMenuOpening(MenuSelectData*, MenuData*, 
double, unsigned int, unsigned int, __CFDictionary*, unsigned char, unsigned 
char*) ()
#22     0x00007fff91976d24 in DrawTheMenu(MenuSelectData*, __CFArray**, 
unsigned char, unsigned char*) ()
#23     0x00007fff91976a21 in MenuChanged(MenuSelectData*, unsigned char, 
unsigned char) ()
#24     0x00007fff91a91207 in TrackMenuCommon(MenuSelectData&, unsigned char*, 
SelectionData*, MenuResult*, MenuResult*) ()
#25     0x00007fff919764fa in MenuSelectCore(MenuData*, Point, double, unsigned 
int, OpaqueMenuRef**, unsigned short*) ()
#26     0x00007fff91976230 in _HandleMenuSelection2 ()
#27     0x00007fff8aae81fe in _NSHandleCarbonMenuEvent ()
#28     0x00007fff8a95d241 in _DPSNextEvent ()
#29     0x00007fff8a95c32a in -[NSApplication 
_nextEventMatchingEventMask:untilDate:inMode:dequeue:] ()
#30     0x00007fff8a950e84 in -[NSApplication run] ()
#31     0x000000010d01137f in 
QCocoaEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
#32     0x000000010333c4c1 in 
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
#33     0x0000000103340785 in QCoreApplication::exec() ()
#34     0x0000000100b391e6 in lyx::frontend::GuiApplication::exec() at 
/Users/stephan/git/lyx/src/frontends/qt4/GuiApplication.cpp:2395
#35     0x0000000100417618 in lyx::LyX::exec(int&, char**) at 
/Users/stephan/git/lyx/src/LyX.cpp:359
#36     0x000000010069d8c6 in main at /Users/stephan/git/lyx/src/main.cpp:42
#37     0x00007fff99a575ad in start ()
#38     0x00007fff99a575ad in start ()

Reply via email to