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