Dear Tiago,
Thank you for your great work on this very useful library! I have
played with it for a project over the last few days, and today I have
discovered a real roadblock: subgraph_isomorphism seems to segfault (at
least very often, have not found any pattern yet) when searching on a
graph with filtered vertices (or the equivalent GraphView) --- this has
never occurred to me for an unfiltered graph. Here is a minimal
example:
#####
from graph_tool.all import *
G = price_network(100)
sub = Graph()
sub.add_vertex(3)
sub.add_edge(sub.vertex(0), sub.vertex(1))
sub.add_edge(sub.vertex(1), sub.vertex(2))
# WORKS FINE:
print G
print subgraph_isomorphism(sub, G, random=False)
# FILTER FOR "OLDEST" VERTICES
vmap = G.new_vertex_property("bool")
for i in range(20):
vmap[G.vertex(i)] = True
# EITHER THIS...
G.set_vertex_filter(vmap)
print G
print subgraph_isomorphism(sub, G, random=False) # segmentation fault!
G.set_vertex_filter(None)
# OR THIS...
H = GraphView(G, vfilt=vmap)
print H
print subgraph_isomorphism(sub, H, random=False) # segmentation fault!
#####
I am using the latest release from the oneiric repo, here is the
show_config() output:
#####
version: 2.2.15 (commit b435362a, Wed Aug 31 23:11:56 2011 +0200)
gcc version: 4.6.1
compilation flags: -I/usr/include/python2.7 -I/usr/include -I/usr/lib/pymodules/python2.7/nu
mpy/core/include/numpy -I/usr/lib/python2.7/dist-packages/scipy -g -O2 -g -O2 -Wall -Wall -ft
emplate-depth-150 -Wno-deprecated -Wno-unknown-pragmas -O99 -fvisibility=default -fvisibility
-inlines-hidden -fopenmp -Wl,-Bsymbolic-functions -L/usr/lib/python2.7 -lpython2.7
install prefix: /usr
python dir: /usr/lib/python2.7/dist-packages
graph filtering: True
openmp: True
uname: Linux acer 3.0.0-17-generic #30-Ubuntu SMP Thu Mar 8 20:45:39 UTC 2012 x86_64
#####
Any help/ideas on this would be greatly appreciated! Please let me know
whether/how I can provide any more information or test results to
resolve this issue.
Kind regards,
Ingo