Am Tue, 23 Jun 2020 22:01:03 -0400
schrieb Scott Kostyshak <skost...@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 <rikih...@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

 Kornel
diff --git a/src/Graph.cpp b/src/Graph.cpp
index 036bb38857..8374d38e24 100644
--- a/src/Graph.cpp
+++ b/src/Graph.cpp
@@ -140,10 +140,14 @@ bool Graph::isReachable(int from, int to)
 			vertices_[current].out_arrows.begin();
 		vector<Arrow *>::const_iterator end =
 			vertices_[current].out_arrows.end();
 		for (; cit != end; ++cit) {
 			int const cv = (*cit)->to;
+			LYXERR0("VERT-INDEX == " << cv);
+			if (cv < 0 || cv >= vertices_.size()) {
+			  continue;
+			}
 			if (!vertices_[cv].visited) {
 				vertices_[cv].visited = true;
 				Q.push(cv);
 			}
 		}

Attachment: pgpbS8HHnTFMO.pgp
Description: Digitale Signatur von OpenPGP

-- 
lyx-devel mailing list
lyx-devel@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-devel

Reply via email to