Bug in Lyx 1.3.4 ?
Stephan Witt
st.witt at gmx.net
Thu Feb 6 07:15:45 UTC 2020
Am 06.02.2020 um 01:02 schrieb Richard Kimberly Heck <rikiheck at lyx.org>:
>
> I assume this is an old bug? Or is it a new one?
I can reproduce something similar with 2.4.0 too. But I cannot reproduce with 2.2.4.
So it’s rather new.
Stephan
>
> On 2/5/20 6:49 PM, Stephan Witt wrote:
>> Am 06.02.2020 um 00:18 schrieb Stephan Witt <st.witt at gmx.net>
>> :
>>
>>>> Am 05.02.2020 um 23:33 schrieb emile lunardon <emile.lunardon at gmail.com>
>>>> :
>>>>
>>>> I have installed LyX 2.3.4 on Windows10 and the same crash already seen on LyX for Linux occurs when trying to enter the two Math Symbols : $\textrm{Ø}\textrm{Å}$
>>>>
>>>> Le mer. 5 févr. 2020 à 08:32, emile lunardon
>>>> <emile.lunardon at gmail.com>
>>>> a écrit :
>>>> When I try to enter, under LyX 1.3.4 (Linux), one of the two Math symbols shown in the attached file (written with LyX 1.3.3), there is a crash of LyX 1.3.4 with the attached messages.
>>>>
>>>> Can someone confirm this strange phenomena ?
>>>>
>>> I can confirm your bug with Qt5 on macOS with LyX 2.3.4. I think this is the version you’re talking about all the time.
>>>
>>> One has to use the math toolbar and there choose the symbol Å from the miscellaneous pane.
>>>
>>> The backtrace is:
>>>
>>> (lldb) bt
>>> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x18)
>>> frame #0: 0x00000001000699dc LyX`lyx::Buffer::params(this=0x0000000000000000) at Buffer.cpp:719:9
>>> frame #1: 0x000000010079fa18 LyX`lyx::(anonymous namespace)::Parser::parse1(this=0x00007ffeefbf5b20, grid=0x00007ffeefbf23e0, flags=128, mode=TEXT_MODE, numbered=false) at MathParser.cpp:2080:20
>>> * frame #2: 0x0000000100790987 LyX`lyx::(anonymous namespace)::Parser::parse(this=0x00007ffeefbf5b20, array=0x0000000113353690, flags=64, mode=TEXT_MODE) at MathParser.cpp:782:2
>>> frame #3: 0x000000010079f18c LyX`lyx::(anonymous namespace)::Parser::parse1(this=0x00007ffeefbf5b20, grid=0x00007ffeefbf5a30, flags=0, mode=MATH_MODE, numbered=false) at MathParser.cpp:2013:6
>>> frame #4: 0x0000000100790987 LyX`lyx::(anonymous namespace)::Parser::parse(this=0x00007ffeefbf5b20, array=0x00007ffeefbf6530, flags=0, mode=MATH_MODE) at MathParser.cpp:782:2
>>> frame #5: 0x0000000100790874 LyX`lyx::mathed_parse_cell(ar=0x00007ffeefbf6530, str=L"\\textrm \\AA", f=NORMAL) at MathParser.cpp:2156:37
>>> frame #6: 0x00000001007c28d2 LyX`lyx::asArray(str=L"\\textrm \\AA", ar=0x00007ffeefbf6530, pf=NORMAL) at MathSupport.cpp:990:38
>>> frame #7: 0x00000001006deba4 LyX`lyx::InsetMathNest::doDispatch(this=0x00000001112cde10, cur=0x0000000106149098, cmd=0x00007ffeefbf9068) at InsetMathNest.cpp:1237:4
>>> frame #8: 0x000000010065baa2 LyX`lyx::InsetMathGrid::doDispatch(this=0x00000001112cde10, cur=0x0000000106149098, cmd=0x00007ffeefbf9068) at InsetMathGrid.cpp:1733:18
>>> frame #9: 0x000000010067e615 LyX`lyx::InsetMathHull::doDispatch(this=0x00000001112cde10, cur=0x0000000106149098, cmd=0x00007ffeefbf9068) at InsetMathHull.cpp:2024:18
>>> frame #10: 0x0000000100811520 LyX`lyx::Inset::dispatch(this=0x00000001112cde10, cur=0x0000000106149098, cmd=0x00007ffeefbf9068) at Inset.cpp:325:2
>>> frame #11: 0x00000001001e018b LyX`lyx::Cursor::dispatch(this=0x0000000106149098, cmd0=0x000000011123dd68) at Cursor.cpp:337:11
>>> frame #12: 0x0000000100d876b4 LyX`lyx::frontend::GuiView::dispatchToBufferView(this=0x000000011159b6f0, cmd=0x000000011123dd68, dr=0x00007ffeefbfc7a0) at GuiView.cpp:3687:15
>>> frame #13: 0x0000000100d80df6 LyX`lyx::frontend::GuiView::dispatch(this=0x000000011159b6f0, cmd=0x000000011123dd68, dr=0x00007ffeefbfc7a0) at GuiView.cpp:4343:4
>>> frame #14: 0x0000000100a96008 LyX`lyx::frontend::GuiApplication::dispatch(this=0x0000000105d0a1d0, cmd=0x000000011123dd68, dr=0x00007ffeefbfc7a0) at GuiApplication.cpp:2076:19
>>> frame #15: 0x0000000100a8ff88 LyX`lyx::frontend::GuiApplication::dispatch(this=0x0000000105d0a1d0, cmd=0x000000011123dd68) at GuiApplication.cpp:1405:3
>>> frame #16: 0x000000010037a4ea LyX`lyx::dispatch(action=0x000000011123dd68) at LyX.cpp:1462:19
>>> frame #17: 0x0000000100a41c4b LyX`lyx::frontend::Action::action(this=0x000000011334a560) at Action.cpp:87:2
>>> frame #18: 0x0000000100a41d51 LyX`lyx::frontend::Action::qt_static_metacall(_o=0x000000011334a560, _c=InvokeMetaMethod, _id=1, _a=0x00007ffeefbfc970) at moc_Action.cpp:81:21
>>> frame #19: 0x000000010554d63a QtCore`QMetaObject::activate(QObject*, int, int, void**) + 2298
>>> frame #20: 0x000000010474e185 QtWidgets`QAction::activate(QAction::ActionEvent) + 309
>>> frame #21: 0x0000000104841be3 QtWidgets`QAbstractButtonPrivate::click() + 147
>>> frame #22: 0x0000000104842d6c QtWidgets`QAbstractButton::mouseReleaseEvent(QMouseEvent*) + 268
>>> frame #23: 0x0000000104939bbf QtWidgets`QToolButton::mouseReleaseEvent(QMouseEvent*) + 15
>>> frame #24: 0x00000001047931d2 QtWidgets`QWidget::event(QEvent*) + 450
>>> frame #25: 0x000000010493a14f QtWidgets`QToolButton::event(QEvent*) + 319
>>> frame #26: 0x00000001047576ff QtWidgets`QApplicationPrivate::notify_helper(QObject*, QEvent*) + 271
>>> frame #27: 0x000000010475a59d QtWidgets`QApplication::notify(QObject*, QEvent*) + 7373
>>> frame #28: 0x0000000100a9d033 LyX`lyx::frontend::GuiApplication::notify(this=0x0000000105d0a1d0, receiver=0x00000001114debf0, event=0x00007ffeefbfd060) at GuiApplication.cpp:2712:24
>>> frame #29: 0x000000010551c684 QtCore`QCoreApplication::notifyInternal2(QObject*, QEvent*) + 212
>>> frame #30: 0x0000000104758034 QtWidgets`QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) + 900
>>> frame #31: 0x00000001047b26e7 QtWidgets`QWidgetWindow::handleMouseEvent(QMouseEvent*) + 2631
>>> frame #32: 0x00000001047b106b QtWidgets`QWidgetWindow::event(QEvent*) + 235
>>> frame #33: 0x00000001047576ff QtWidgets`QApplicationPrivate::notify_helper(QObject*, QEvent*) + 271
>>> frame #34: 0x0000000104758b1c QtWidgets`QApplication::notify(QObject*, QEvent*) + 588
>>> frame #35: 0x0000000100a9d033 LyX`lyx::frontend::GuiApplication::notify(this=0x0000000105d0a1d0, receiver=0x000000011519f1a0, event=0x00007ffeefbfd690) at GuiApplication.cpp:2712:24
>>> frame #36: 0x000000010551c684 QtCore`QCoreApplication::notifyInternal2(QObject*, QEvent*) + 212
>>> frame #37: 0x0000000104dadf26 QtGui`QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) + 3462
>>> frame #38: 0x0000000104d9538b QtGui`QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 219
>>> frame #39: 0x000000010ca19b40 libqcocoa.dylib`QCocoaEventDispatcherPrivate::processPostedEvents() + 320
>>> frame #40: 0x000000010ca1a2b0 libqcocoa.dylib`QCocoaEventDispatcherPrivate::postedEventsSourceCallback(void*) + 32
>>> frame #41: 0x00007fff32077b2b CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
>>> frame #42: 0x00007fff32077ad1 CoreFoundation`__CFRunLoopDoSource0 + 108
>>> frame #43: 0x00007fff3205b9db CoreFoundation`__CFRunLoopDoSources0 + 195
>>> frame #44: 0x00007fff3205afa3 CoreFoundation`__CFRunLoopRun + 1196
>>> frame #45: 0x00007fff3205a8a5 CoreFoundation`CFRunLoopRunSpecific + 459
>>> frame #46: 0x00007fff312ab1ab HIToolbox`RunCurrentEventLoopInMode + 292
>>> frame #47: 0x00007fff312aaded HIToolbox`ReceiveNextEventCommon + 355
>>> frame #48: 0x00007fff312aac76 HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 64
>>> frame #49: 0x00007fff2f64277d AppKit`_DPSNextEvent + 1135
>>> frame #50: 0x00007fff2f64146b AppKit`-[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1361
>>> frame #51: 0x00007fff2f63b588 AppKit`-[NSApplication run] + 699
>>> frame #52: 0x000000010ca19226 libqcocoa.dylib`QCocoaEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 3014
>>> frame #53: 0x0000000105517d3f QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 431
>>> frame #54: 0x000000010551ccf2 QtCore`QCoreApplication::exec() + 130
>>> frame #55: 0x0000000100a9b416 LyX`lyx::frontend::GuiApplication::exec(this=0x0000000105d0a1d0) at GuiApplication.cpp:2478:9
>>> frame #56: 0x000000010037452e LyX`lyx::LyX::exec(this=0x00007ffeefbff340, argc=0x00007ffeefbff358, argv=0x00007ffeefbff388) at LyX.cpp:398:39
>>> frame #57: 0x00000001005a2b16 LyX`main(argc=1, argv=0x00007ffeefbff388) at main.cpp:42:26
>>> frame #58: 0x00007fff5e07b3d5 libdyld.dylib`start + 1
>>> frame #59: 0x00007fff5e07b3d5 libdyld.dylib`start + 1
>>> (lldb)
>>>
>>> A possible solution is in the attached patch.
>>>
>>> Stephan
>>> <InsetMathNest.patch>—
>>>
>> Slightly improved is the next patch. It avoids the useless math array parse if there is no selection.
More information about the lyx-devel
mailing list