Re: [graphviz-interest] pseudo-random segfault when using raster image renderers
Sparr <[email protected]> Tue, 25 Feb 2014 11:12:49 -0500
| Newsgroups | gmane.comp.video.graphviz |
|---|---|
| Message-ID | <CANp3UNANDuzCfD27RZomCGfDMRngOzr0jUw_Q2zyV7PKUosiLQ@mail.gmail.com> |
On Tue, Feb 25, 2014 at 10:39 AM, John Ellson <[email protected]> wrote: > On 02/24/2014 10:18 PM, Sparr wrote: >> >> Progress! >> >> lib/common/shapes.c:2887 >> >> name = ND_shape(n)->name; >> >> This returns a filename 99.9% of the time and all is well. It >> occasionally returns an empty string, which cascades down through the >> later function calls leading to a null pointer (specifically >> gvusershape_find returns a usershape_t with the file field equal to >> zero instead of a valid file pointer) and later to a dereference of >> that pointer in flockfile. > > Ok this explains the crash ... > > Can you try bisecting the graph to see if it is a particular image causing > problems, or is it > really random? It's really random. Sometimes on the third image, sometimes on the thirtieth, with the exact same dot file, parameters, and images. > Images are read twice, once during layout to determine the image size (from > reading just the first few bytes of the file), and > then again during rendering to copy and convert the image into the output > format. > > The FILE* is left open between the two uses. > > I'm wondering if you are hitting a limit on open files? > > Can you send me your graph and images? The dot file I'm running most often contains about two hundred 5-20 node digraphs, with some thousands of images. The problem happens on smaller files/graphs, just less often. I'll try to reduce it to a test case, At ERG's request I'll be moving this to the issue tracker where I'll post all the logs and test data. I'll update this thread once I have, _______________________________________________ [email protected] http://lists.research.att.com/mailman/listinfo/graphviz-interest