[graph-tool-tickets] [graph-tool] Ticket #86: "Error: agstrfree lost'' while using graph_tool.draw.draw_graph in multithreaded app

graph-tool webmaster at skewed.de
Tue Jan 24 18:06:02 UTC 2012


#86: "Error: agstrfree lost'' while using graph_tool.draw.draw_graph in multithreaded app
new defect
---------------------------------------------------------------------
Reporter: ujujinsan
Owner: tiago peixoto
Priority: minor
Milestone: (None)
---------------------------------------------------------------------
First of all I am not sure whether it's a defect or anything, but please read on:

I am using graph_tool extensively in my project, and I recently added creating
graphs in threads(thousands of graphs). During graph creation graph_tool.draw.draw_graph is called in order to acquire node location which is used later on.

After adding threading I get: 
'Error: agstrfree lost'

For example:
Error: agstrfree lost \N
Error: agstrfree lost 0.3
Error: agstrfree lost #a40000
Error: agstrfree lost 0.105
Error: agstrfree lost 0.3
Error: agstrfree lost 0.105
Error: agstrfree lost 1.0
Error: agstrfree lost 8.0
Error: agstrfree lost 0.105
Error: agstrfree lost 0.3
Error: agstrfree lost \N
Error: agstrfree lost vee
Error: agstrfree lost 1.0
Error: agstrfree lost 8.0
Error: agstrfree lost \N
....
After many more lines
Boooom! --- Crash

I pinpointed the error to graph_tool.draw.draw_graph as the hex values were suspicious :3
I made some locks around that function call and all works flawlessly.

graphviz   version : 2.26.3 (20100126.1600)
graph_tool version : 2.15

When I have some spare time I'll work on a minimal example.
But in the mean time any suggestions?
Maybe draw_graph just isn't thread-safe?





--
Ticket URL: <URL:http://graph-tool.skewed.de/ticket/86>
graph-tool <URL:http://graph-tool.skewed.de/>
An efficient python module for graph analysis and manipulation.


More information about the graph-tool-tickets mailing list