Assertion when selecting large table in User Guide on master

Scott Kostyshak skostysh at lyx.org
Wed Jul 3 17:34:45 UTC 2024


On Wed, Jul 03, 2024 at 05:48:23PM GMT, Jean-Marc Lasgouttes wrote:
> Le 03/07/2024 à 06:17, Scott Kostyshak a écrit :
> > I still get an assertion while selecting the phone table.
> 
> Hmm, I was two quick in my testing.
> 
> I just pushed two patches which:
> 1/ avoids setting Update::SinglePar in a place where this does not make
> sense
> 2/ make BufferView::singleParUpdate robust in such a case (but still emit a
> warning if the position was not set, which should not happen).
> 
> Please test.

Works well! Much harder to break, but 1 out of 30 times I still get an
issue. I don't have a recipe to reproduce. It has to do with scrolling
up fast, and then pausing (by moving the cursor down) then scrolling up
again. I know that's not a useful description. Does the attached
backtrace give a clue?

Scott
-------------- next part --------------
Thread 1 "lyx" received signal SIGABRT, Aborted.
Download failed: Invalid argument.  Continuing without source file ./nptl/./nptl/pthread_kill.c.
__pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44
warning: 44	./nptl/pthread_kill.c: No such file or directory
(gdb) set pagination off
(gdb) bt
#0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44
#1  __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
#2  __GI___pthread_kill (threadid=<optimized out>, signo=signo at entry=6) at ./nptl/pthread_kill.c:89
#3  0x00007ffff604526e in __GI_raise (sig=sig at entry=6) at ../sysdeps/posix/raise.c:26
#4  0x00007ffff60288ff in __GI_abort () at ./stdlib/abort.c:79
#5  0x000055555591312f in lyx::lyx_exit (exit_code=1) at /home/scott/lyxbuilds/master-master/repo/src/LyX.cpp:263
#6  0x0000555555a56720 in boost::assertion_failed (expr=0x5555561ba997 "false", function=0x5555561d75b4 "void lyx::doAssertWithCallstack(bool)", 
    file=0x5555561d75da "/home/scott/lyxbuilds/master-master/repo/src/support/lassert.cpp", line=45) at /home/scott/lyxbuilds/master-master/repo/src/boost.cpp:47
#7  0x0000555556172abb in lyx::doAssertWithCallstack (value=false) at /home/scott/lyxbuilds/master-master/repo/src/support/lassert.cpp:45
#8  0x000055555617325e in lyx::doAssert (expr=0x5555561a1f39 "hasPosition()", file=0x5555561a1f47 "/home/scott/lyxbuilds/master-master/repo/src/ParagraphMetrics.cpp", line=71)
    at /home/scott/lyxbuilds/master-master/repo/src/support/lassert.cpp:54
#9  0x0000555555983043 in lyx::ParagraphMetrics::position (this=0x555559930d98) at /home/scott/lyxbuilds/master-master/repo/src/ParagraphMetrics.cpp:71
#10 0x00005555557b7a7a in lyx::BufferView::getPos (this=0x555558306120, dit=...) at /home/scott/lyxbuilds/master-master/repo/src/BufferView.cpp:3430
#11 0x00005555557ceab5 in lyx::BufferView::checkCursorScrollOffset (this=0x555558306120) at /home/scott/lyxbuilds/master-master/repo/src/BufferView.cpp:3627
#12 0x00005555557cc103 in lyx::BufferView::draw (this=0x555558306120, pain=..., paint_caret=false) at /home/scott/lyxbuilds/master-master/repo/src/BufferView.cpp:3684
#13 0x0000555555e4fb66 in lyx::frontend::GuiWorkArea::paintEvent (this=0x555558454fa0, ev=0x7fffffffba20) at /home/scott/lyxbuilds/master-master/repo/src/frontends/qt/GuiWorkArea.cpp:1402
#14 0x00007ffff77b0df8 in QWidget::event (this=this at entry=0x555558454fa0, event=event at entry=0x7fffffffba20) at kernel/qwidget.cpp:9045
#15 0x00007ffff7862647 in QFrame::event (this=0x555558454fa0, e=0x7fffffffba20) at widgets/qframe.cpp:550
#16 0x00007ffff6ad7e82 in QCoreApplicationPrivate::sendThroughObjectEventFilters (receiver=receiver at entry=0x5555582fee10, event=event at entry=0x7fffffffba20)
    at kernel/qcoreapplication.cpp:1190
#17 0x00007ffff776bd35 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x5555582fee10, e=0x7fffffffba20) at kernel/qapplication.cpp:3634
#18 0x0000555555dd4241 in lyx::frontend::GuiApplication::notify (this=0x555556586310, receiver=0x5555582fee10, event=0x7fffffffba20)
    at /home/scott/lyxbuilds/master-master/repo/src/frontends/qt/GuiApplication.cpp:3022
#19 0x00007ffff6ad8118 in QCoreApplication::notifyInternal2 (receiver=0x5555582fee10, event=0x7fffffffba20) at kernel/qcoreapplication.cpp:1064
#20 0x00007ffff6ad8352 in QCoreApplication::sendSpontaneousEvent (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1474
#21 0x00007ffff77a8aee in QWidgetPrivate::sendPaintEvent (this=this at entry=0x5555580b1020, toBePainted=...) at kernel/qwidget.cpp:5479
#22 0x00007ffff77a94a9 in QWidgetPrivate::drawWidget (this=this at entry=0x5555580b1020, pdev=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=sharedPainter at entry=0x0, 
    repaintManager=<optimized out>) at kernel/qwidget.cpp:5429
#23 0x00007ffff777dd21 in QWidgetRepaintManager::paintAndFlush (this=0x5555570c49c0) at kernel/qwidgetrepaintmanager.cpp:1016
#24 0x00007ffff77b146c in QWidget::event (this=0x555556a42a00, event=0x555559bea580) at kernel/qwidget.cpp:8990
#25 0x0000555555e22e93 in lyx::frontend::GuiView::event (this=0x555556a42a00, e=0x555559bea580) at /home/scott/lyxbuilds/master-master/repo/src/frontends/qt/GuiView.cpp:1824
#26 0x00007ffff776bd45 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x555556a42a00, e=0x555559bea580) at kernel/qapplication.cpp:3640
#27 0x0000555555dd4241 in lyx::frontend::GuiApplication::notify (this=0x555556586310, receiver=0x555556a42a00, event=0x555559bea580)
    at /home/scott/lyxbuilds/master-master/repo/src/frontends/qt/GuiApplication.cpp:3022
#28 0x00007ffff6ad8118 in QCoreApplication::notifyInternal2 (receiver=0x555556a42a00, event=0x555559bea580) at kernel/qcoreapplication.cpp:1064
#29 0x00007ffff6ad8332 in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1462
#30 0x00007ffff6adb94b in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x555556562260) at kernel/qcoreapplication.cpp:1821
#31 0x00007ffff6adbebd in QCoreApplication::sendPostedEvents (receiver=<optimized out>, event_type=<optimized out>) at kernel/qcoreapplication.cpp:1680
#32 0x00007ffff6b35c0f in postEventSourceDispatch (s=s at entry=0x55555659e130) at kernel/qeventdispatcher_glib.cpp:277
#33 0x00007ffff63145b5 in g_main_dispatch (context=0x7fffec000ed0) at ../../../glib/gmain.c:3344
#34 0x00007ffff6373717 in g_main_context_dispatch_unlocked (context=0x7fffec000ed0) at ../../../glib/gmain.c:4152
#35 g_main_context_iterate_unlocked.isra.0 (context=context at entry=0x7fffec000ed0, block=block at entry=1, dispatch=dispatch at entry=1, self=<optimized out>) at ../../../glib/gmain.c:4217
#36 0x00007ffff6313a53 in g_main_context_iteration (context=0x7fffec000ed0, may_block=1) at ../../../glib/gmain.c:4282
#37 0x00007ffff6b35279 in QEventDispatcherGlib::processEvents (this=0x55555663f340, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#38 0x00007ffff6ad6a7b in QEventLoop::exec (this=this at entry=0x7fffffffc740, flags=..., flags at entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#39 0x00007ffff6adf3e8 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#40 0x0000555555dd2813 in lyx::frontend::GuiApplication::exec (this=0x555556586310) at /home/scott/lyxbuilds/master-master/repo/src/frontends/qt/GuiApplication.cpp:2785
#41 0x0000555555913ad6 in lyx::LyX::exec (this=0x7fffffffca90, argc=@0x7fffffffcaa8: 2, argv=0x7fffffffcbd8) at /home/scott/lyxbuilds/master-master/repo/src/LyX.cpp:377
#42 0x0000555555aaeae3 in main (argc=2, argv=0x7fffffffcbd8) at /home/scott/lyxbuilds/master-master/repo/src/main.cpp:55
(gdb) 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://lists.lyx.org/pipermail/lyx-devel/attachments/20240703/9a13166c/attachment.asc>


More information about the lyx-devel mailing list