Crash removing Format
Kornel Benko
kornel at lyx.org
Mon Jul 6 08:50:10 UTC 2020
Am Sun, 5 Jul 2020 20:14:27 -0400
schrieb Richard Kimberly Heck <rikiheck at lyx.org>:
> On 7/5/20 8:12 PM, Richard Kimberly Heck wrote:
> > On 6/24/20 11:06 AM, Richard Kimberly Heck wrote:
> >> On 6/24/20 6:19 AM, Kornel Benko wrote:
> >>> Am Tue, 23 Jun 2020 22:01:03 -0400
> >>> schrieb Scott Kostyshak <skostysh at lyx.org>:
> >>>
> >>>> On Mon, Jun 22, 2020 at 04:55:50PM +0200, Kornel Benko wrote:
> >>>>> Am Mon, 22 Jun 2020 10:24:17 -0400
> >>>>> schrieb Richard Kimberly Heck <rikiheck at lyx.org>:
> >>>>>
> >>>>>> On 6/22/20 10:03 AM, Kornel Benko wrote:
> >>>>>>> Following lead to crash:
> >>>>>>>
> >>>>>>> 1. Create new file-Format (for instance Epub, define a viewer)
> >>>>>>> 2. define conversion for docbook-xls -> Epub
> >>>>>>> 3. restart lyx
> >>>>>>> 4. remove the new conversion
> >>>>>>> 5. remove the format Epub --> crash
> >>>>>>>
> >>>>>>> There is no crash if
> >>>>>>> 5. restart lyx
> >>>>>>> 6. remove the format Epub
> >>>>>> I can't reproduce.
> >>>>> You probably need to recompile with "-D_GLIBCXX_DEBUG_PEDANTIC -D_GLIBCXX_DEBUG"
> >>>>>
> >>>>>> Can you post your preferences file as it exists after
> >>>>>> (3)?
> >>>>>
> >>>>>> Do you save or apply after (4) or go right to step (5)?
> >>>>> Apply only. But with save it is the same.
> >>>> I can reproduce. In addition I get the following:
> >>>>
> >>>> Error: attempt to subscript container with out-of-bounds index 21973, but
> >>>> container only holds 99 elements.
> >>>>
> >>>> Scott
> >>> Here the message is:
> >>> /usr/include/c++/8/debug/vector:417:
> >>> Error: attempt to subscript container with out-of-bounds index 1899910496,
> >>> but container only holds 98 elements.
> >>>
> >>> Objects involved in the operation:
> >>> sequence "this" @ 0x0x555f98a58bc8 {
> >>> type = std::__debug::vector<lyx::Graph::Vertex,
> >>> std::allocator<lyx::Graph::Vertex>
> >>>> ; }
> >>> Abort (core dumped)
> >>>
> >>> If using attached, I got no crash, but the list of indexes used while removing the
> >>> format is scarifying.
> >>>
> >>> $ wc errors
> >>> 1014 5060 35805 errors
> >>>
> >>> $ sort my_list | uniq
> >>> Graph.cpp (145): VERT-INDEX == 0
> >>> Graph.cpp (145): VERT-INDEX == 11
> >>> Graph.cpp (145): VERT-INDEX == 21972
> >>> Graph.cpp (145): VERT-INDEX == 24
> >>> Graph.cpp (145): VERT-INDEX == 32
> >>> Graph.cpp (145): VERT-INDEX == 32757
> >>> Graph.cpp (145): VERT-INDEX == 33
> >>> Graph.cpp (145): VERT-INDEX == 71
> >>> Graph.cpp (145): VERT-INDEX == 79
> >>> Graph.cpp (145): VERT-INDEX == 8
> >>> Graph.cpp (145): VERT-INDEX == 80
> >>> Graph.cpp (145): VERT-INDEX == 83
> >>>
> >>> $ egrep 21972 my_list | wc
> >>> 377 1885 13949
> >>>
> >>> $ egrep 32757 my_list | wc
> >>> 134 670 4958
> >> I will have a look.
> > I was able to reproduce with the cmake setting mentioned above, but now
> > I can't again. I have not been able to reproduce without those settings,
> > nor do I see the weird values. But something is obviously suspicious.
> >
> > When I did see the crash, it was coming from Converters::isReachable().
> > You could try something like the attached, which could yield more
> > information.
>
> Sorry, changed wrong routine. Try this patch.
>
> Riki
>
>
To achieve the settings with gnu c++ compiler do:
with cmake: -DLYX_STDLIB_DEBUG=ON
with automake: --enable_stdlib_debug=yes
With your patch I get:
...
Converter.cpp (987): From pdflatex==34 to xpm==20
Converter.cpp (987): From platex==0 to xpm==20
Converter.cpp (987): From xhtml==50 to bmp==1
/usr/include/c++/8/debug/vector:417:
Error: attempt to subscript container with out-of-bounds index 21870, but
container only holds 98 elements.
Objects involved in the operation:
sequence "this" @ 0x0x556e87b6f4b8 {
type = std::__debug::vector<lyx::Graph::Vertex, std::allocator<lyx::Graph::Vertex>
>;
}
Abort (core dumped)
...
#0 __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1 0x00007ffff4c94801 in __GI_abort () at abort.c:79
#2 0x00007ffff5689789 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3 0x00005555565d53ed in std::__debug::vector<lyx::Graph::Vertex,
std::allocator<lyx::Graph::Vertex> >::operator[] (this=0x555559d7fdb8, __n=21845)
at /usr/include/c++/8/debug/vector:417
#4 0x00005555565d4168 in lyx::Graph::isReachable (this=0x555559d7fd88,
from=1, to=49) at /usr2/src/lyx/lyx-git/src/Graph.cpp:145
#5 0x000055555651dd0d in lyx::Converters::isReachable (this=0x555559d7fcb0,
from="xhtml", to="bmp") at /usr2/src/lyx/lyx-git/src/Converter.cpp:989
#6 0x0000555556d40343 in lyx::frontend::PrefFileformats::updateView (
this=0x5555581a9620)
at /usr2/src/lyx/lyx-git/src/frontends/qt/GuiPrefs.cpp:2090
(This was the try to remove file format docbook-xml.)
Kornel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: Digitale Signatur von OpenPGP
URL: <http://lists.lyx.org/pipermail/lyx-devel/attachments/20200706/9e4e0a8e/attachment.asc>
More information about the lyx-devel
mailing list