SIGSEGV with QT6 on command line export if shell-escape
Scott Kostyshak
skostysh at lyx.org
Thu Sep 21 01:19:31 UTC 2023
For the ctests, we put the following into preferences:
\converter "pdflatex" "pdf2" "pdflatex -shell-escape $$i" "latex=pdflatex,hyperref-driver=pdftex"
If I export on the GUI, I get a reasonable warning. But if I export on
the command-line something goes wrong with Qt6, but not Qt5 for some
reason. Presumably the issue is that LyX tries to give the warning but
there's no GUI since it's a command-line export.
Attached is the backtrace.
Can anyone reproduce with Qt6? To reproduce, put the above \coverter
command in the user directory preferences file, then do a command line
export (e.g., "-e pdf2 <file.lyx>").
Scott
-------------- next part --------------
(gdb) bt
#0 QVariant::QVariant (this=<optimized out>, val=..., this=<optimized out>, val=...) at /usr/src/qt6-base-6.4.2+dfsg-6/src/corelib/kernel/qvariant.cpp:825
#1 0x00007ffff71b8148 in standardDeclarationForNode (node=...) at /usr/src/qt6-base-6.4.2+dfsg-6/src/corelib/tools/qlist.h:123
#2 0x00007ffff717b4ab in QTextHtmlParser::declarationsForNode (node=<optimized out>, this=<optimized out>) at /usr/src/qt6-base-6.4.2+dfsg-6/src/gui/text/qtexthtmlparser.cpp:2140
#3 QTextHtmlParser::parseTag (this=<optimized out>) at /usr/src/qt6-base-6.4.2+dfsg-6/src/gui/text/qtexthtmlparser.cpp:676
#4 QTextHtmlParser::parse (this=<optimized out>) at /usr/src/qt6-base-6.4.2+dfsg-6/src/gui/text/qtexthtmlparser.cpp:606
#5 QTextHtmlParser::parse (_resourceProvider=<optimized out>, text=..., this=<optimized out>) at /usr/src/qt6-base-6.4.2+dfsg-6/src/gui/text/qtexthtmlparser.cpp:549
#6 QTextHtmlImporter::QTextHtmlImporter (this=<optimized out>, _doc=<optimized out>, _html=..., mode=<optimized out>, resourceProvider=<optimized out>, this=<optimized out>,
_doc=<optimized out>, _html=..., mode=<optimized out>, resourceProvider=<optimized out>) at /usr/src/qt6-base-6.4.2+dfsg-6/src/gui/text/qtextdocumentfragment.cpp:456
#7 0x00007ffff716470d in QTextDocument::setHtml (this=0x7fffffff6ff0, html=...) at /usr/src/qt6-base-6.4.2+dfsg-6/src/gui/text/qtextdocument.cpp:1270
#8 0x00005555564cf94c in lyx::qtHtmlToPlainText (text=...) at /home/scott/lyxbuilds/master-master/repo/src/frontends/qt/qt_helpers.cpp:794
#9 0x00005555563d5cd9 in lyx::frontend::Alert::toPlainText (
msg=L"<p>The following LaTeX backend has been configured to allow execution of external programs for any document:</p><center><p><tt>pdflatex -shell-escape $$i</tt></p></center><p>This is a dangerous config"...) at /home/scott/lyxbuilds/master-master/repo/src/frontends/qt/GuiAlert.cpp:74
#10 0x00005555563d6be0 in lyx::frontend::Alert::doError (title=L"Security Warning",
message=L"<p>The following LaTeX backend has been configured to allow execution of external programs for any document:</p><center><p><tt>pdflatex -shell-escape $$i</tt></p></center><p>This is a dangerous config"..., backtrace=false) at /home/scott/lyxbuilds/master-master/repo/src/frontends/qt/GuiAlert.cpp:225
#11 0x00005555563d9c95 in std::__invoke_impl<void, void (*&)(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, bool), std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, bool&> (
__f=@0x55555702f1d0: 0x5555563d6b30 <lyx::frontend::Alert::doError(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, bool)>, __args=@0x7fffffff757f: false, __args=@0x7fffffff757f: false, __args=@0x7fffffff757f: false)
at /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/invoke.h:61
#12 0x00005555563d9bbd in std::__invoke<void (*&)(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, bool), std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, bool&> (
__fn=@0x55555702f1d0: 0x5555563d6b30 <lyx::frontend::Alert::doError(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, bool)>, __args=@0x7fffffff757f: false, __args=@0x7fffffff757f: false, __args=@0x7fffffff757f: false)
at /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/invoke.h:96
#13 0x00005555563d9b87 in std::_Bind<void (*(std::reference_wrapper<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>, std::reference_wrapper<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>, std::reference_wrapper<bool>))(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, bool)>::__call<void, , 0ul, 1ul, 2ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul, 2ul>) (this=0x55555702f1d0, __args=...) at /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/functional:495
#14 0x00005555563d9af6 in std::_Bind<void (*(std::reference_wrapper<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>, std::reference_wrapper<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>, std::reference_wrapper<bool>))(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, bool)>::operator()<, void>() (this=0x55555702f1d0)
at /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/functional:580
#15 0x00005555563d9ac5 in std::__invoke_impl<void, std::_Bind<void (*(std::reference_wrapper<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>, std::reference_wrapper<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>, std::reference_wrapper<bool>))(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, bool)>&>(std::__invoke_other, std::_Bind<void (*(std::reference_wrapper<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>, std::reference_wrapper<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>, std::reference_wrapper<bool>))(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, bool)>&) (__f=...)
at /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/invoke.h:61
#16 0x00005555563d9a85 in std::__invoke_r<void, std::_Bind<void (*(std::reference_wrapper<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>, std::reference_wrapper<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>, std::reference_wrapper<bool>))(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, bool)>&>(std::_Bind<void (*(std::reference_wrapper<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>, std::reference_wrapper<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>, std::reference_wrapper<bool>))(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, bool)>&) (__fn=...) at /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/invoke.h:111
#17 0x00005555563d994d in std::_Function_handler<void (), std::_Bind<void (*(std::reference_wrapper<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > c
onst>, std::reference_wrapper<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>, std::reference_wrapper<bool>))(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, bool)> >::_M_invoke(std::_Any_data const&) (__functor=...) at /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/std_function.h:290
#18 0x00005555563b7c55 in std::function<void ()>::operator()() const (this=0x7fffffff7558) at /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/std_function.h:591
#19 0x00005555563d82b9 in lyx::frontend::InGuiThread<void>::synchronousFunctionCall (this=0x7fffffff7538) at /home/scott/lyxbuilds/master-master/repo/src/frontends/qt/InGuiThread.h:168
#20 0x000055555648a2f2 in lyx::frontend::IntoGuiThreadMover::callInGuiThread (this=0x7fffffff7538) at /home/scott/lyxbuilds/master-master/repo/src/frontends/qt/InGuiThread.cpp:36
#21 0x00005555563d9756 in lyx::frontend::InGuiThread<void>::call<std::_Bind<void (*(std::reference_wrapper<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>, std::reference_wrapper<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>, std::reference_wrapper<bool>))(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, bool)> >(std::_Bind<void (*(std::reference_wrapper<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>, std::reference_wrapper<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const>, std::reference_wrapper<bool>))(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, bool)>) (this=0x7fffffff7538, f=...)
at /home/scott/lyxbuilds/master-master/repo/src/frontends/qt/InGuiThread.h:126
#22 0x00005555563d7d71 in lyx::frontend::InGuiThread<void>::call<void (*)(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, bool), std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const, bool> (this=0x7fffffff7538,
f=0x5555563d6b30 <lyx::frontend::Alert::doError(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, bool)>, p1=L"Security Warning",
p2=L"<p>The following LaTeX backend has been configured to allow execution of external programs for any document:</p><center><p><tt>pdflatex -shell-escape $$i</tt></p></center><p>This is a dangerous config"..., p3=@0x7fffffff757f: false) at /home/scott/lyxbuilds/master-master/repo/src/frontends/qt/InGuiThread.h:144
#23 0x00005555563d7020 in lyx::frontend::Alert::error (title=L"Security Warning",
message=L"<p>The following LaTeX backend has been configured to allow execution of external programs for any document:</p><center><p><tt>pdflatex -shell-escape $$i</tt></p></center><p>This is a dangerous config"..., backtrace=false) at /home/scott/lyxbuilds/master-master/repo/src/frontends/qt/GuiAlert.cpp:261
#24 0x0000555555e57a92 in lyx::Converters::checkAuth (this=0x7fffffffb278, conv=..., doc_fname="/home/scott/lyxbuilds/master-master/repo/lib/examples/Welcome.lyx", use_shell_escape=false)
at /home/scott/lyxbuilds/master-master/repo/src/Converter.cpp:324
#25 0x0000555555e5c4e3 in lyx::Converters::convert (this=0x7fffffffb278, buffer=0x555556c25530, from_file=..., to_file=..., orig_from=..., from_format="pdflatex", to_format="pdf2",
errorList=..., conversionflags=0, includeall=false) at /home/scott/lyxbuilds/master-master/repo/src/Converter.cpp:587
#26 0x0000555555d8138a in lyx::Buffer::doExport (this=0x555556c25530, target="pdf2", put_in_tempdir=false, includeall=false, result_file="")
at /home/scott/lyxbuilds/master-master/repo/src/Buffer.cpp:4613
#27 0x0000555555d794b0 in lyx::Buffer::doExport (this=0x555556c25530, target="pdf2", put_in_tempdir=false, result_file="") at /home/scott/lyxbuilds/master-master/repo/src/Buffer.cpp:4449
#28 0x0000555555d793b4 in lyx::Buffer::doExport (this=0x555556c25530, target="pdf2", put_in_tempdir=false) at /home/scott/lyxbuilds/master-master/repo/src/Buffer.cpp:4431
#29 0x0000555555d7726d in lyx::Buffer::dispatch (this=0x555556c25530, func=..., dr=...) at /home/scott/lyxbuilds/master-master/repo/src/Buffer.cpp:2927
#30 0x0000555555d76e2e in lyx::Buffer::dispatch (this=0x555556c25530, command="buffer-export pdf2", result=...) at /home/scott/lyxbuilds/master-master/repo/src/Buffer.cpp:2891
#31 0x0000555555f730cb in lyx::LyX::execWithoutGui (this=0x7fffffffd830, argc=@0x7fffffffd848: 2, argv=0x7fffffffd968) at /home/scott/lyxbuilds/master-master/repo/src/LyX.cpp:564
#32 0x0000555555f7d0c5 in lyx::LyXConsoleApp::doExec (this=0x7fffffffd6d0) at /home/scott/lyxbuilds/master-master/repo/src/LyX.cpp:236
#33 0x000055555678483a in lyx::support::ConsoleApplicationPrivate::doExec (this=0x555556c20dc0) at ../../../repo/src/support/ConsoleApplicationPrivate.h:61
#34 0x0000555556784411 in lyx::support::ConsoleApplicationPrivate::qt_static_metacall (_o=0x555556c20dc0, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x555556c25ca8)
at /home/scott/lyxbuilds/master-master/CMakeBuild/src/support/moc_ConsoleApplicationPrivate.cpp:92
#35 0x00007ffff6964d58 in QObject::event (this=0x555556c20dc0, e=0x555556c25c60) at /usr/src/qt6-base-6.4.2+dfsg-6/src/corelib/kernel/qobject.cpp:1378
#36 0x00007ffff6927825 in doNotify (event=0x555556c25c60, receiver=0x555556c20dc0) at /usr/src/qt6-base-6.4.2+dfsg-6/src/corelib/kernel/qcoreapplication.cpp:1122
#37 QCoreApplication::notify (event=<optimized out>, receiver=<optimized out>, this=<optimized out>) at /usr/src/qt6-base-6.4.2+dfsg-6/src/corelib/kernel/qcoreapplication.cpp:1105
#38 QCoreApplication::notifyInternal2 (receiver=0x555556c20dc0, event=0x555556c25c60) at /usr/src/qt6-base-6.4.2+dfsg-6/src/corelib/kernel/qcoreapplication.cpp:1026
#39 0x00007ffff692789d in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/qt6-base-6.4.2+dfsg-6/src/corelib/kernel/qcoreapplication.cpp:1442
#40 0x00007ffff6927a37 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x555556c03710)
at /usr/src/qt6-base-6.4.2+dfsg-6/src/corelib/kernel/qcoreapplication.cpp:1804
#41 0x00007ffff6b17397 in postEventSourceDispatch (s=0x555556c25ab0) at /usr/src/qt6-base-6.4.2+dfsg-6/src/corelib/kernel/qeventdispatcher_glib.cpp:243
#42 0x00007ffff671449d in g_main_dispatch (context=0x555556c23c60) at ../../../glib/gmain.c:3460
#43 g_main_context_dispatch (context=0x555556c23c60) at ../../../glib/gmain.c:4200
#44 0x00007ffff676f178 in g_main_context_iterate.constprop.0 (context=0x555556c23c60, block=<optimized out>, dispatch=1, self=<optimized out>) at ../../../glib/gmain.c:4276
#45 0x00007ffff67131b0 in g_main_context_iteration (context=0x555556c23c60, may_block=1) at ../../../glib/gmain.c:4343
#46 0x00007ffff6b14f20 in QEventDispatcherGlib::processEvents (this=0x555556c21600, flags=...) at /usr/src/qt6-base-6.4.2+dfsg-6/src/corelib/kernel/qeventdispatcher_glib.cpp:393
#47 0x00007ffff69319aa in QEventLoop::exec (this=0x7fffffffd4d0, flags=...) at /usr/src/qt6-base-6.4.2+dfsg-6/src/corelib/global/qflags.h:34
#48 0x00007ffff692a71c in QCoreApplication::exec () at /usr/src/qt6-base-6.4.2+dfsg-6/src/corelib/global/qflags.h:74
#49 0x0000555556784813 in lyx::support::ConsoleApplicationPrivate::execute (this=0x555556c20dc0) at ../../../repo/src/support/ConsoleApplicationPrivate.h:56
#50 0x00005555567843a9 in lyx::support::ConsoleApplication::exec (this=0x7fffffffd6d0) at /home/scott/lyxbuilds/master-master/repo/src/support/ConsoleApplication.cpp:38
#51 0x0000555555f6d23f in lyx::LyX::exec (this=0x7fffffffd830, argc=@0x7fffffffd848: 2, argv=0x7fffffffd968) at /home/scott/lyxbuilds/master-master/repo/src/LyX.cpp:354
#52 0x00005555560f9773 in main (argc=2, argv=0x7fffffffd968) at /home/scott/lyxbuilds/master-master/repo/src/main.cpp:55
-------------- 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/20230920/a3775d15/attachment-0001.asc>
More information about the lyx-devel
mailing list