SIGSEGV on master when exporting MergedManuals.lyx in GUI
Pavel Sanda
sanda at lyx.org
Sat Dec 25 18:38:22 UTC 2021
On Fri, Nov 05, 2021 at 12:10:20AM -0400, Scott Kostyshak wrote:
> On Wed, Apr 14, 2021 at 12:45:04PM -0400, Scott Kostyshak wrote:
> > On Tue, Apr 13, 2021 at 07:53:11PM +0100, José Abílio Matos wrote:
> > > On Tuesday, April 13, 2021 5:17:24 PM WEST Scott Kostyshak wrote:
> > > > I get the following terminal messages followed by a SIGSEGV when opening and
> > > > viewing MergedManuals.lyx in the GUI:
> > > >
> > > > QSocketNotifier: Invalid socket 16 and type 'Read', disabling...
> > > >
> > > > Does anyone else see this on master?
> > > >
> > > > Scott
> > >
> > > For me it is socket 10. :-)
> > >
> > > LyX does not crash but it enters an infinite cycle (read that after 5 minutes
> > > it continues to output that line) sending that line to stderr.
> > > I am not sure if I am patient enough to wait for infinity before recovering
> > > LyX's control. :-)
> >
> > Thanks for confirming, José.
>
> I can still reproduce the infinite cycle (but not the original SIGSEGV) on master.
I can see SIGSEGV, but only in case I run the instance under GDB (the app does not crash,
I think because it happens only in additional thread).
.
Backtrace:
[Switching to Thread 0x7fffe8f1c700 (LWP 230667)]
0x0000555556478e0f in lyx::Buffer::listMacroNames (this=0x0, macros=...) at Buffer.cpp:3915
3915 if (d->macro_lock)
(gdb) bt
#0 0x0000555556478e0f in lyx::Buffer::listMacroNames (this=0x0, macros=...) at Buffer.cpp:3915
#1 0x00005555568f403a in lyx::InsetMathHull::preparePreview (this=0x5555585d51d0, pos=..., forexport=true)
at mathed/InsetMathHull.cpp:814
#2 0x00005555568f4f4f in lyx::InsetMathHull::loadPreview (this=0x5555585d51d0, pos=...) at mathed/InsetMathHull.cpp:878
#3 0x00005555569001cd in lyx::InsetMathHull::xhtml[abi:cxx11](lyx::XMLStream&, lyx::OutputParams const&) const (this=0x5555585d51d0,
xs=..., op=...) at mathed/InsetMathHull.cpp:2682
#4 0x00005555566e3da7 in lyx::Paragraph::simpleLyXHTMLOnePar[abi:cxx11](lyx::Buffer const&, lyx::XMLStream&, lyx::OutputParams const&, l
yx::Font const&, bool, bool, long) const (this=0x55555832f940, buf=..., xs=..., runparams=..., outerfont=..., start_paragraph=true,
close_paragraph=true, initial=0) at Paragraph.cpp:3986
#5 0x00005555566cd6c6 in lyx::(anonymous namespace)::makeParagraphs (buf=..., xs=..., runparams=..., text=..., pbegin=
{itemdepth = 0 '\000', d = 0x55555832f960}, pend={itemdepth = 1 '\001', d = 0x0}) at output_xhtml.cpp:345
#6 0x00005555566cf6b6 in lyx::xhtmlParagraphs (text=..., buf=..., xs=..., runparams=...) at output_xhtml.cpp:667
#7 0x0000555556b5151e in lyx::InsetText::insetAsXHTML[abi:cxx11](lyx::XMLStream&, lyx::OutputParams const&, lyx::InsetText::XHTMLOptions
) const (this=0x55555832f840, xs=..., rp=..., opts=lyx::InsetText::JustText) at insets/InsetText.cpp:863
#8 0x0000555556b1b2a2 in lyx::InsetTableCell::xhtml[abi:cxx11](lyx::XMLStream&, lyx::OutputParams const&) const (this=0x55555832f840,
xs=..., rp=...) at insets/InsetTabular.cpp:4317
#9 0x0000555556b174d3 in lyx::Tabular::xhtmlRow[abi:cxx11](lyx::XMLStream&, unsigned long, lyx::OutputParams const&, bool) const (
this=0x555558329330, xs=..., row=8, runparams=..., header=false) at insets/InsetTabular.cpp:3847
#10 0x0000555556b18533 in lyx::Tabular::xhtml[abi:cxx11](lyx::XMLStream&, lyx::OutputParams const&) const (this=0x555558329330, xs=...,
runparams=...) at insets/InsetTabular.cpp:3930
#11 0x0000555556b24b0a in lyx::InsetTabular::xhtml[abi:cxx11](lyx::XMLStream&, lyx::OutputParams const&) const (this=0x555558329320,
xs=..., rp=...) at insets/InsetTabular.cpp:6189
#12 0x00005555566e3da7 in lyx::Paragraph::simpleLyXHTMLOnePar[abi:cxx11](lyx::Buffer const&, lyx::XMLStream&, lyx::OutputParams const&, l
yx::Font const&, bool, bool, long) const (this=0x555558329050, buf=..., xs=..., runparams=..., outerfont=..., start_paragraph=true,
close_paragraph=true, initial=0) at Paragraph.cpp:3986
#13 0x00005555566cd6c6 in lyx::(anonymous namespace)::makeParagraphs (buf=..., xs=..., runparams=..., text=..., pbegin=
{itemdepth = 0 '\000', d = 0x5555583282b0}, pend={itemdepth = 3 '\003', d = 0x0}) at output_xhtml.cpp:345
#14 0x00005555566cf6b6 in lyx::xhtmlParagraphs (text=..., buf=..., xs=..., runparams=...) at output_xhtml.cpp:667
#15 0x0000555556b51af4 in lyx::InsetText::insetAsXHTML[abi:cxx11](lyx::XMLStream&, lyx::OutputParams const&, lyx::InsetText::XHTMLOptions
) const (this=0x5555583280a0, xs=..., rp=..., opts=6) at insets/InsetText.cpp:899
#16 0x0000555556a2e4ca in lyx::InsetFloat::xhtml[abi:cxx11](lyx::XMLStream&, lyx::OutputParams const&) const (this=0x5555583280a0,
xs=..., rp=...) at insets/InsetFloat.cpp:370
#17 0x00005555566e3da7 in lyx::Paragraph::simpleLyXHTMLOnePar[abi:cxx11](lyx::Buffer const&, lyx::XMLStream&, lyx::OutputParams const&, l
yx::Font const&, bool, bool, long) const (this=0x555558308e40, buf=..., xs=..., runparams=..., outerfont=..., start_paragraph=true,
close_paragraph=true, initial=0) at Paragraph.cpp:3986
#18 0x00005555566cd6c6 in lyx::(anonymous namespace)::makeParagraphs (buf=..., xs=..., runparams=..., text=..., pbegin=
{itemdepth = 0 '\000', d = 0x555558308400}, pend={itemdepth = 0 '\000', d = 0x555558300a90}) at output_xhtml.cpp:345
#19 0x00005555566cf6b6 in lyx::xhtmlParagraphs (text=..., buf=..., xs=..., runparams=...) at output_xhtml.cpp:667
#20 0x000055555646f194 in lyx::Buffer::writeLyXHTMLSource (this=0x5555582f7800, os=..., runparams=..., output=lyx::Buffer::IncludedFile)
at Buffer.cpp:2308
#21 0x0000555556a58b4b in lyx::InsetInclude::xhtml[abi:cxx11](lyx::XMLStream&, lyx::OutputParams const&) const (this=0x55555c7e4cb0,
xs=..., rp=...) at insets/InsetInclude.cpp:993
#22 0x00005555566e3da7 in lyx::Paragraph::simpleLyXHTMLOnePar[abi:cxx11](lyx::Buffer const&, lyx::XMLStream&, lyx::OutputParams const&, l
yx::Font const&, bool, bool, long) const (this=0x55555825c5e0, buf=..., xs=..., runparams=..., outerfont=..., start_paragraph=true,
close_paragraph=true, initial=0) at Paragraph.cpp:3986
#23 0x00005555566cd6c6 in lyx::(anonymous namespace)::makeParagraphs (buf=..., xs=..., runparams=..., text=..., pbegin=
{itemdepth = 0 '\000', d = 0x55555825c600}, pend={itemdepth = 0 '\000', d = 0x55555825cad0}) at output_xhtml.cpp:345
#24 0x00005555566cf6b6 in lyx::xhtmlParagraphs (text=..., buf=..., xs=..., runparams=...) at output_xhtml.cpp:667
#25 0x000055555646f194 in lyx::Buffer::writeLyXHTMLSource (this=0x55555822f3c0, os=..., runparams=..., output=lyx::Buffer::FullSource)
#26 0x000055555646e7ed in lyx::Buffer::makeLyXHTMLFile (this=0x55555822f3c0, fname=..., runparams=...) at Buffer.cpp:2199
#27 0x000055555647cc86 in lyx::Buffer::doExport (this=0x55555822f3c0, target="xhtml", put_in_tempdir=false, includeall=false, result_file="") at Buffer.cpp:4483
#28 0x000055555647bc42 in lyx::Buffer::doExport (this=0x55555822f3c0, target="xhtml", put_in_tempdir=false, result_file="") at Buffer.cpp:4367
#29 0x000055555647bb58 in lyx::Buffer::doExport (this=0x55555822f3c0, target="xhtml", put_in_tempdir=false) at Buffer.cpp:4349
#30 0x0000555556c03400 in std::__invoke_impl<lyx::Buffer::ExportStatus, lyx::Buffer::ExportStatus (lyx::Buffer::* const&)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) const, lyx::Buffer* const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool const&> (__f=
@0x7fffe8f1bd10: (lyx::Buffer::ExportStatus (lyx::Buffer::*)(const lyx::Buffer * const, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > &, bool)) 0x55555647bb1e <lyx::Buffer::doExport(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) const>, __t=@0x7fffe8f1bd28: 0x55555822f3c0) at /usr/include/c++/10/bits/invoke.h:73
#31 0x0000555556c0210f in std::__invoke<lyx::Buffer::ExportStatus (lyx::Buffer::* const&)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) const, lyx::Buffer* const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool const&> (__fn=
@0x7fffe8f1bd10: (lyx::Buffer::ExportStatus (lyx::Buffer::*)(const lyx::Buffer * const, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > &, bool)) 0x55555647bb1e <lyx::Buffer::doExport(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) const>) at /usr/include/c++/10/bits/invoke.h:95
#32 0x0000555556bffbd8 in std::_Bind<lyx::Buffer::ExportStatus (lyx::Buffer::*(lyx::Buffer*, std::_Placeholder<1>, bool))(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) const>::__call_c<lyx::Buffer::ExportSta=0x7fffe8f1bd10, __args=...) at /usr/include/c++/10/functional:42::allocator<char> > const&, 0ul, 1ul, 2ul>(std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::_Index_tuple<0ul, 1ul, 2ul>) const (this=0x7fffe8f1bd10, __args=...) at /usr/include/c++/10/functional:427
#33 0x0000555556bfc21f in std::_Bind<lyx::Buffer::ExportStatus (lyx::Buffer::*(lyx::Buffer*, std::_Placeholder<1>, bool))(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) const>::operator()<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, lyx::Buffer::ExportStatus>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const (this=0x7fffe8f1bd10) at /usr/include/c++/10/functional:511
#34 0x0000555556bf9c48 in lyx::frontend::GuiView::GuiViewPrivate::runAndDestroy<std::_Bind<lyx::Buffer::ExportStatus (lyx::Buffer::*(lyx::Buffer*, std::_Placeholder<1>, bool))(std::__cxx11::basiar> > const&, bool) const> const&, lyx::Buffer const*, lyx::Buffer*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (funceholder<1>, bool))(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) const> const&, lyx::Buffer const*, lyx::Buffer*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (func=...,
orig=0x5555585f82f0, clone=0x55555822f3c0, format="xhtml") at GuiView.cpp:3982
#35 0x0000555556bec2c2 in lyx::frontend::GuiView::GuiViewPrivate::exportAndDestroy (orig=0x5555585f82f0, clone=0x55555822f3c0, format="xhtml") at GuiView.cpp:4007
#36 0x0000555556c047fb in QtConcurrent::StoredFunctorCall3<lyx::Buffer::ExportStatus, lyx::Buffer::ExportStatus (*)(lyx::Buffer const*, lyx::Buffer*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), lyx::Buffer const*, lyx::Buffer*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::runFunctor (this=0x55555f7ec820)
at /usr/include/x86_64-linux-gnu/qt5/QtConcurrent/qtconcurrentstoredfunctioncall.h:1146
#37 0x0000555556c046e2 in QtConcurrent::RunFunctionTask<lyx::Buffer::ExportStatus>::run (this=0x55555f7ec820) at /usr/include/x86_64-linux-gnu/qt5/QtConcurrent/qtconcurrentrunbase.h:108
#38 0x00007ffff6d32ed2 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#39 0x00007ffff6d2fbe1 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#40 0x00007ffff660fea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
#41 0x00007ffff6870def in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
>
> Scott
> --
> lyx-devel mailing list
> lyx-devel at lists.lyx.org
> http://lists.lyx.org/mailman/listinfo/lyx-devel
More information about the lyx-devel
mailing list