Bug in Lyx 1.3.4 ?

Richard Kimberly Heck rikiheck at lyx.org
Thu Feb 6 00:02:09 UTC 2020


I assume this is an old bug? Or is it a new one?

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.
>
> Stephan
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lyx.org/pipermail/lyx-devel/attachments/20200205/9f84f6ab/attachment-0001.html>


More information about the lyx-devel mailing list