1. NodeBox 1
    1. Homepage
    2. NodeBox 3Node-based app for generative design and data visualization
    3. NodeBox OpenGLHardware-accelerated cross-platform graphics library
    4. NodeBox 1Generate 2D visuals using Python code (Mac OS X only)
  2. Gallery
  3. Documentation
  4. Forum
  5. Blog

Large graph crashes

Posted by Bryce on May 22, 2009

I'm reading in a large graph from a file (~200k nodes). For simplicity I thought I'd try storing it in your Graph class and then use that to draw it -- because that looks awesome. I don't solve the graph -- that was already done with dot. During the G.draw() command, the stuff below shows up in the logs.
My machine has 26GB of RAM, so this certainly isn't a hardware limitation.

5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] *** error: can't allocate region
5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] *** set a breakpoint in malloc_error_break to debug
5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] NodeBox(2850,0xa0352720) malloc: *** mmap(size=2097152) failed (error code=12)
5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] *** error: can't allocate region
5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] *** set a breakpoint in malloc_error_break to debug
5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] NodeBox(2850,0xa0352720) malloc: *** mmap(size=2097152) failed (error code=12)
5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] *** error: can't allocate region
5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] *** set a breakpoint in malloc_error_break to debug
5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] NodeBox(2850,0xa0352720) malloc: *** mmap(size=2097152) failed (error code=12)
5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] *** error: can't allocate region
5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] *** set a breakpoint in malloc_error_break to debug
5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] NodeBox(2850,0xa0352720) malloc: *** mmap(size=2097152) failed (error code=12)
5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] *** error: can't allocate region
5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] *** set a breakpoint in malloc_error_break to debug
5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] NodeBox(2850,0xa0352720) malloc: *** mmap(size=2097152) failed (error code=12)
5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] *** error: can't allocate region
5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] *** set a breakpoint in malloc_error_break to debug
5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] NodeBox(2850,0xa0352720) malloc: *** mmap(size=2097152) failed (error code=12)
5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] *** error: can't allocate region
5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] *** set a breakpoint in malloc_error_break to debug
5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] NodeBox(2850,0xa0352720) malloc: *** mmap(size=2097152) failed (error code=12)
5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] *** error: can't allocate region
5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] *** set a breakpoint in malloc_error_break to debug
5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] NodeBox(2850,0xa0352720) malloc: *** mmap(size=2097152) failed (error code=12)
5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] *** error: can't allocate region
5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] *** set a breakpoint in malloc_error_break to debug
5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] NodeBox(2850,0xa0352720) malloc: *** mmap(size=2097152) failed (error code=12)
5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] *** error: can't allocate region
5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] *** set a breakpoint in malloc_error_break to debug
5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] NodeBox(2850,0xa0352720) malloc: *** mmap(size=2097152) failed (error code=12)
5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] *** error: can't allocate region
5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] *** set a breakpoint in malloc_error_break to debug
5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] NodeBox(2850,0xa0352720) malloc: *** mmap(size=2097152) failed (error code=12)
5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] *** error: can't allocate region
5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] *** set a breakpoint in malloc_error_break to debug
5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] NodeBox(2850,0xa0352720) malloc: *** mmap(size=2097152) failed (error code=12)
5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] *** error: can't allocate region
5/21/09 3:48:09 AM [0x0-0x5b05b].net.nodebox.NodeBox[2850] *** set a breakpoint in malloc_error_break to debug
5/21/09 3:48:12 AM com.apple.launchd[358] ([0x0-0x5b05b].net.nodebox.NodeBox[2850]) Exited abnormally: Bus error


 
Posted by Tom De Smedt on Jun 12, 2009

I ran some tests of my own with many nodes, it crashed my system. One thing that needs to be rewritten is the draw() function, which will attempt to solve a few iterations. This is useful for animated graphs but unnecessary in your case, so draw() could have an extra iterations=0 parameter or something. I'll have a look at that.

Also, guessing from the type of errors (malloc) your receive, Psyco might be causing problems. The Graph library will attempt to load Psyco and push calculations into C for performance.

If your data is not proprietary or confidential, you can always mail it to me so I can run better tests.