Re: breakinsets3 branch: assertion

Scott Kostyshak <[email protected]>
Newsgroups gmane.editors.lyx.devel
Message-ID <acmC9TP7fKtpNuG3@jimmy>
On Sun, Mar 29, 2026 at 08:59:16PM +0200, Scott Kostyshak wrote:
> 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?

I also got a SIGSEGV when testing on one of my own documents. Backtrace attached.

Scott

-- 
lyx-devel mailing list
[email protected]
https://lists.lyx.org/mailman/listinfo/lyx-devel
bt-sigsegv.txt (text/plain, 6.4 KB)
Thread 1 "lyx" received signal SIGSEGV, Segmentation fault.
0x00005555556c84e6 in std::char_traits<wchar_t>::assign (__c1=<error reading variable: Cannot access memory at address 0x55500d122988>, __c2=@0x7fffffff878c: 0 L'\000')
    at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/char_traits.h:494
494		__c1 = __c2;
(gdb) bt
#0  0x00005555556c84e6 in std::char_traits<wchar_t>::assign (__c1=<error reading variable: Cannot access memory at address 0x55500d122988>, __c2=@0x7fffffff878c: 0 L'\000')
    at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/char_traits.h:494
#1  0x00005555556c8a58 in std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_set_length (this=0x5555584780b8, __n=0)
    at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/basic_string.h:267
#2  0x00005555556cbae9 in std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::clear (this=0x5555584780b8)
    at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/basic_string.h:1250
#3  0x00005555556cbaaf in std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::operator= (this=0x5555584781c0, __str=...)
    at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/basic_string.h:930
#4  0x00005555559a7d1b in lyx::Row::Element::operator= (this=0x555558478160) at /home/scott/lyxbuilds/master-master/repo/src/Row.h:117
#5  0x00005555559a9891 in std::__assign_one<true, lyx::Row::Element*, lyx::Row::Element*> (__out=@0x7fffffff88a8: 0x555558478160, __in=@0x7fffffff88b8: 0x555558478058)
    at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/stl_algobase.h:404
#6  std::__copy_move_a2<true, lyx::Row::Element*, lyx::Row::Element*, lyx::Row::Element*> (__first=0x555558478058, __last=0x555558478160, __result=0x555558478160)
    at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/stl_algobase.h:462
#7  0x00005555559a9789 in std::__copy_move_a1<true, lyx::Row::Element*, lyx::Row::Element*> (__first=0x555558477a28, __last=0x555558478160, __result=0x555558477b30)
    at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/stl_algobase.h:492
#8  std::__copy_move_a<true, __gnu_cxx::__normal_iterator<lyx::Row::Element*, std::vector<lyx::Row::Element, std::allocator<lyx::Row::Element> > >, __gnu_cxx::__normal_iterator<lyx::Row::Element*, std::vector<lyx::Row::Element, std::allocator<lyx::Row::Element> > > > (__first=..., __last=..., __result=...)
    at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/stl_algobase.h:501
#9  std::move<__gnu_cxx::__normal_iterator<lyx::Row::Element*, std::vector<lyx::Row::Element, std::allocator<lyx::Row::Element> > >, __gnu_cxx::__normal_iterator<lyx::Row::Element*, std::vector<lyx::Row::Element, std::allocator<lyx::Row::Element> > > > (__first=..., __last=..., __result=...) at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/stl_algobase.h:674
#10 0x00005555559a95c6 in std::vector<lyx::Row::Element, std::allocator<lyx::Row::Element> >::_M_erase (this=0x555558190cf0, __first=..., __last=...)
    at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/vector.tcc:201
#11 0x00005555559a82fd in std::vector<lyx::Row::Element, std::allocator<lyx::Row::Element> >::erase (this=0x555558190cf0, __first=..., __last=...)
    at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/stl_vector.h:1824
#12 0x0000555555a2d849 in lyx::Row::erase (this=0x555558190cc0, first=..., last=...) at /home/scott/lyxbuilds/master-master/repo/src/Row.h:377
#13 0x0000555555a2599e in lyx::(anonymous namespace)::CollectInfo::collectInsetRow (this=0x55555826d260, row=..., itend=...)
    at /home/scott/lyxbuilds/master-master/repo/src/TextMetrics.cpp:580
#14 0x0000555555a22a4a in lyx::TextMetrics::collectInsetRows (this=0x7fffe80024d8, rows=std::vector of length 1, capacity 1 = {...}, bv=...)
    at /home/scott/lyxbuilds/master-master/repo/src/TextMetrics.cpp:661
#15 0x0000555555a1e89b in lyx::TextMetrics::redoParagraph (this=0x7fffe80024d8, pit=97) at /home/scott/lyxbuilds/master-master/repo/src/TextMetrics.cpp:720
#16 0x0000555555a1f0be in lyx::TextMetrics::updateMetrics (this=0x7fffe80024d8, anchor_pit=90, anchor_ypos=-49, bv_height=896)
    at /home/scott/lyxbuilds/master-master/repo/src/TextMetrics.cpp:270
#17 0x00005555557ce884 in lyx::BufferView::updateMetrics (this=0x555557035ea0, force=true) at /home/scott/lyxbuilds/master-master/repo/src/BufferView.cpp:3423
#18 0x00005555557e181e in lyx::BufferView::resize (this=0x555557035ea0, width=1902, height=896) at /home/scott/lyxbuilds/master-master/repo/src/BufferView.cpp:2771
#19 0x0000555555e88eec in lyx::frontend::GuiWorkArea::resizeBufferView (this=0x555557f9b240) at /home/scott/lyxbuilds/master-master/repo/src/frontends/qt/GuiWorkArea.cpp:501
#20 0x0000555555e8c87e in lyx::frontend::GuiWorkArea::paintEvent (this=0x555557f9b240, ev=0x7fffffff9d40) at /home/scott/lyxbuilds/master-master/repo/src/frontends/qt/GuiWorkArea.cpp:1335
#21 0x00007ffff77f26c5 in QWidget::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#22 0x00007ffff789cfca in QFrame::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#23 0x00007ffff657e0e8 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#24 0x00007ffff77980b8 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#25 0x0000555555dfc211 in lyx::frontend::GuiApplication::notify (this=0x5555566a1a70, receiver=0x555557f9b0f0, event=0x7fffffff9d40)
    at /home/scott/lyxbuilds/master-master/repo/src/frontends/qt/GuiApplication.cpp:3041
#26 0x00007ffff65813f0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#27 0x00007ffff77e1d04 in QWidgetPrivate::sendPaintEvent(QRegion const&) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#28 0x00007ffff77e438d in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) ()
    at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#29 0x00007ffff77e6e24 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
signature.asc (application/pgp-signature, 488 B)
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEMfkICpsJzYuNuGlOA4ZnarZHC+sFAmnJgxgACgkQA4ZnarZH
C+upxAf+MiHZW307yd98Venmio3ipxhcI80et+dA1WroSAd/UoBiaj8XTbWwflRQ
0ptiWYDLdEIwQo2DfItxReEad9EeT+eYlVI2UI8GJtSPUJg2C8+w+G3yx7kNXxbn
DEX+UBUaF2D3ojy6bkyq+oF96BaIMN89bHBy0YtLYXGVr0ml4Uj/q+f0uk5Tn+7P
FytWXs9B4o9rr+5Xo0TkR0JhYCjxUBCrBa6ETR52gOufRP7hwkn4YWhChRe0VaNh
+5kuIgoWN6N6w/wwuLEm/gNNcZi9AhqkNj7s3s5w2JBrR0QmMBEsHzk5GOz6gOOT
BHgz+SVm7ASYLQf/INPxImLCVeetMg==
=XfjM
-----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.