Re: breakinsets3 branch: assertion

Scott Kostyshak <[email protected]>
Newsgroups gmane.editors.lyx.devel
Message-ID <acl0gvfZdjM06_pl@jimmy>
On Sun, Mar 29, 2026 at 06:45:55PM +0200, Jean-Marc Lasgouttes via lyx-devel wrote:
> Le 29/03/2026 à 16:08, Scott Kostyshak a écrit :
> > It was when highighting (with mouse) while scrolling Tutorial.lyx. Here was the assertion:
> > 
> > support/lassert.cpp (57): ASSERTION hasPosition() VIOLATED IN /home/scott/lyxbuilds/master-master/repo/src/ParagraphMetrics.cpp:61
> > 
> > I could not reproduce a second time though.
> 
> Thanks for testing. I am currently trying to make the selection visible.
> Next will be proper decoration of the insets (with a difficulty for showing
> the inset name below the inset frame).
> 
> There is also a difficulty with bidi text. I have worked on it, but I
> believe now that some logic needs to be reworked.
> 
> It would be great if you could reproduce the assertion.

Backtrace attached. Does it help?

> Note that the file
> REAME.brkinset tells what is supposed to work and whet does not work yet.

Ah that is a useful file.

When not actually using the flowing insets, everything is expected to
work? Meaning, would it be useful if I test the branch even if I don't
use the feature, or not really?

Scott

-- 
lyx-devel mailing list
[email protected]
https://lists.lyx.org/mailman/listinfo/lyx-devel
bt.txt (text/plain, 6 KB)
Thread 1 "lyx" received signal SIGABRT, Aborted.
__pthread_kill_implementation (threadid=<optimized out>, signo=6, no_tid=0) at ./nptl/pthread_kill.c:44
warning: 44	./nptl/pthread_kill.c: No such file or directory
(gdb) bt
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=6, no_tid=0) at ./nptl/pthread_kill.c:44
#1  __pthread_kill_internal (threadid=<optimized out>, signo=6) at ./nptl/pthread_kill.c:89
#2  __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ./nptl/pthread_kill.c:100
#3  0x00007ffff5c4579e in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#4  0x00007ffff5c288cd in __GI_abort () at ./stdlib/abort.c:73
#5  0x0000555555934d9b in lyx::lyx_exit (exit_code=1) at /home/scott/lyxbuilds/master-master/repo/src/LyX.cpp:262
#6  0x0000555556231302 in lyx::doAssertWithCallstack (value=false) at /home/scott/lyxbuilds/master-master/repo/src/support/lassert.cpp:50
#7  0x00005555562319ce in lyx::doAssert (expr=0x555556268ad4 "hasPosition()", file=0x555556268ae2 "/home/scott/lyxbuilds/master-master/repo/src/ParagraphMetrics.cpp", line=61)
    at /home/scott/lyxbuilds/master-master/repo/src/support/lassert.cpp:59
#8  0x000055555599ead9 in lyx::ParagraphMetrics::position (this=0x555557d71198) at /home/scott/lyxbuilds/master-master/repo/src/ParagraphMetrics.cpp:61
#9  0x00005555557e7869 in lyx::ParagraphMetrics::top (this=0x555557d71198) at /home/scott/lyxbuilds/master-master/repo/src/ParagraphMetrics.h:91
#10 0x0000555555a29582 in lyx::TextMetrics::getPitNearY (this=0x555557e43c78, y=-1, strict=true) at /home/scott/lyxbuilds/master-master/repo/src/TextMetrics.cpp:1712
#11 0x0000555555a29744 in lyx::TextMetrics::getRowNearY (this=0x555557e43c78, y=-1, strict=true) at /home/scott/lyxbuilds/master-master/repo/src/TextMetrics.cpp:1749
#12 0x0000555555a29ea7 in lyx::TextMetrics::checkInsetHit (this=0x555557e43c78, x=992, y=-1) at /home/scott/lyxbuilds/master-master/repo/src/TextMetrics.cpp:1855
#13 0x00005555557d09dd in lyx::BufferView::getCoveringInset (this=0x555558290b90, text=..., x=992, y=-1) at /home/scott/lyxbuilds/master-master/repo/src/BufferView.cpp:2783
#14 0x00005555557d0a6b in lyx::BufferView::getCoveringInset (this=0x555558290b90, text=..., x=992, y=-1) at /home/scott/lyxbuilds/master-master/repo/src/BufferView.cpp:2799
#15 0x00005555557d0139 in lyx::BufferView::updateHoveredInset (this=0x555558290b90) at /home/scott/lyxbuilds/master-master/repo/src/BufferView.cpp:2845
#16 0x00005555557ce448 in lyx::BufferView::processUpdateFlags (this=0x555558290b90, flags=lyx::Update::ForceDraw) at /home/scott/lyxbuilds/master-master/repo/src/BufferView.cpp:638
#17 0x0000555555e8b005 in lyx::frontend::GuiWorkArea::generateSyntheticMouseEvent (this=0x5555571fb790) at /home/scott/lyxbuilds/master-master/repo/src/frontends/qt/GuiWorkArea.cpp:1003
#18 0x0000555555e92e88 in lyx::frontend::GuiWorkArea::init()::$_0::operator()() const (this=0x5555579998b0) at /home/scott/lyxbuilds/master-master/repo/src/frontends/qt/GuiWorkArea.cpp:202
#19 0x0000555555e92e65 in std::__invoke_impl<void, lyx::frontend::GuiWorkArea::init()::$_0&>(std::__invoke_other, lyx::frontend::GuiWorkArea::init()::$_0&) (__f=...)
    at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/invoke.h:63
#20 0x0000555555e92e15 in std::__invoke_r<void, lyx::frontend::GuiWorkArea::init()::$_0&>(lyx::frontend::GuiWorkArea::init()::$_0&) (__fn=...)
    at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/invoke.h:113
#21 0x0000555555e92d3d in std::_Function_handler<void(), lyx::frontend::GuiWorkArea::init()::$_0>::_M_invoke (__functor=...)
    at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/std_function.h:292
#22 0x0000555555dc585e in std::function<void()>::operator() (this=0x5555579998b0) at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/std_function.h:593
#23 0x0000555555dc576b in nod::signal_type<nod::multithread_policy, void()>::operator() (this=0x555558251990) at /home/scott/lyxbuilds/master-master/repo/3rdparty/nod/nod.hpp:442
#24 0x000055555621d636 in lyx::Timeout::emit (this=0x555558251990) at /home/scott/lyxbuilds/master-master/repo/src/support/Timeout.cpp:127
#25 0x000055555621e0fd in lyx::Timeout::Impl::timerEvent (this=0x55555828a730) at /home/scott/lyxbuilds/master-master/repo/src/support/Timeout.cpp:50
#26 0x00007ffff65ca349 in QObject::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#27 0x00007ffff77980c8 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#28 0x0000555555dfc211 in lyx::frontend::GuiApplication::notify (this=0x5555566a1a70, receiver=0x55555828a730, event=0x7fffffffc460)
    at /home/scott/lyxbuilds/master-master/repo/src/frontends/qt/GuiApplication.cpp:3041
#29 0x00007ffff65813f0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#30 0x00007ffff66fb848 in QTimerInfoList::activateTimers() () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#31 0x00007ffff67e9269 in ??? () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#32 0x00007ffff62f7ce2 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#33 0x00007ffff63692f8 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#34 0x00007ffff62f8123 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#35 0x00007ffff67e6c63 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#36 0x00007ffff658bd5b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#37 0x00007ffff6584f7e in QCoreApplication::exec() () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#38 0x0000555555dfaab3 in lyx::frontend::GuiApplication::exec (this=0x5555566a1a70) at /home/scott/lyxbuilds/master-master/repo/src/frontends/qt/GuiApplication.cpp:2804
#39 0x00005555559356dd in lyx::LyX::exec (this=0x7fffffffcab0, argc=@0x7fffffffcac8: 2, argv=0x7fffffffcbf8) at /home/scott/lyxbuilds/master-master/repo/src/LyX.cpp:376
#40 0x0000555555ac8233 in main (argc=2, argv=0x7fffffffcbf8) at /home/scott/lyxbuilds/master-master/repo/src/main.cpp:55
(gdb)
signature.asc (application/pgp-signature, 488 B)
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEMfkICpsJzYuNuGlOA4ZnarZHC+sFAmnJdoQACgkQA4ZnarZH
C+tmMQf/bgsooQGbqD58aH1Nl8a6bBglM9844cWoWGSCw4YiSKYsKGCoRMbueZ0+
S+4b7KnX76uAhQNFNMhoO2MZraGeRiyeBRMBa1KZhb0bDbB3HMgiSprPL2d22Mgp
giJ02KgQv5O8wPRI/5If8RWe88oReNgpAz2VSdi9WYPqYIB/DMU8q38331hr9ROO
DwAJDfiqhpvQw4f4Sgf+HbdYMUSmqugeEBaPU89WwMo2CYTNODfji+63ZSixPn1O
krX8oADRXOjpJIGqLGJB4XKo/QLTjuEqEU24uRhh32Sx1Bwbo5BJq3DIj8leS3fa
jn7uJKHfaXQQNk0xE5taVy2nl+NjzA==
=7Erb
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.