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