Number: 1899
Title: circo: failure to create cairo surface: out of memory
Submitter: Kevin Hunter
Date: Tue Mar 9 00:06:53 2010
Subsys: Circo
Version: 2.20.2
System: x86-Linux-Ubuntu Karmic
Severity: minor
Problem:
This looks related to bug #1439 (http://www.graphviz.org/bugs/b1439.html).

Here's how I recreate it:


$ circo -Tpng file.dot > image.png
circo: failure to create cairo surface: out of memory
Segmentation fault

'file.dot' contains 250 nodes, and 510 edges.

My machine has 4G of memory, but I circo doesn't appear to use more than a small amount of memory (as reported by ps waux | grep circo):

(Virtual, Resident, Shared) = (96056, 7688, 4132)

Some perhaps pertinent info:


$ dot -V; circo -V
dot - Graphviz version 2.20.2 (Wed Sep 16 11:12:21 UTC 2009)
circo - Graphviz version 2.20.2 (Wed Sep 16 11:12:21 UTC 2009)

$ uname -a Linux hani 2.6.31-19-generic #56-Ubuntu SMP Thu Jan 28 02:39:34 UTC 2010 x86_64 GNU/Linux

$ lsb_release -a No LSB modules are available. Distributor ID- Ubuntu Description- Ubuntu 9.10 Release- 9.10 Codename- karmic


Input file: b1899.dot
Comments:
The main problem is that the drawing is too large, so when you try to create a bitmap, you run out of memory. The bug

http://www.graphviz.org/bugs/b1439.html

was due to a layout problem error, which caused the large size. In your case, the layout is working correctly. Except for a few nodes, your graph is one, large biconnected component, so all of these nodes will be placed on a circle made large enough for the labels not to overlap. As the biconnected component is large, you get a very large circle. The drawing is roughly 7 x 7 meters.

You can try a different layout, or make the nodes have shape=point, or use the size attribute to scale the drawing down.
Owner: erg
Status: Fixed (12 Mar 2010)