oqgraph-dev team mailing list archive
-
oqgraph-dev team
-
Mailing list archive
-
Message #00217
[Bug 1133093] Re: Crash on ORDER BY in OQGRAPH v3
OK - there was a memory leak in find_vertex which I fixed.
More problematic is another one:
graphcore.cc:378
if (record_weight && u != v)
{
typename graph_traits<Graph>::out_edge_iterator ei, ei_end;
for (boost::tuples::tie(ei, ei_end)= out_edges(v, g); ei != ei_end; ++ei)
{
if (target(*ei, g) == u)
{
edge= *ei;
weight= get(boost::edge_weight, g, *ei);
break;
}
}
}
out_edges causes two oqgraph3::cursor object to be constructed.
However tracking through with the debugger only ever shows one of them being destroyed.
For some reason the other underlying intrusive pointer never gets released.
This is the 'start' cursor created on line 295 of oqgraph_shim.h
I dont know why this is the case.
I mocked up a test of using boost_tie and a similar construct of classes and all the equivalent pointers eventually get freed so I dont think its a boost bug
--
You received this bug notification because you are a member of OQgraph
developers, which is a bug assignee.
https://bugs.launchpad.net/bugs/1133093
Title:
Crash on ORDER BY in OQGRAPH v3
Status in OQGraph Engine for MariaDB:
Triaged
Bug description:
SELECT * FROM graph WHERE latch=1 AND origid=1 AND destid=6;
works
SELECT * FROM graph WHERE latch=1 AND origid=1 AND destid=6 ORDER BY seq;
segfaults.
To manage notifications about this bug go to:
https://bugs.launchpad.net/oqgraph/+bug/1133093/+subscriptions
References