Bug in Lyx 1.3.4 ?

Stephan Witt st.witt at gmx.net
Wed Feb 5 23:49:09 UTC 2020


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 --------------
A non-text attachment was scrubbed...
Name: InsetMathNest-2.patch
Type: application/octet-stream
Size: 724 bytes
Desc: not available
URL: <http://lists.lyx.org/pipermail/lyx-devel/attachments/20200206/465a9c56/attachment.obj>


More information about the lyx-devel mailing list