Re: [graphviz-interest] pseudo-random segfault when using raster image renderers

John Ellson <[email protected]> Tue, 25 Feb 2014 10:53:37 -0500
Newsgroups gmane.comp.video.graphviz
Message-ID <[email protected]>
On 02/25/2014 10:30 AM, Sparr wrote:
> On Tue, Feb 25, 2014 at 10:23 AM, John Ellson <[email protected]> wrote:
>> This isn't right:
>> libgvplugin_pango.6.dylib`reader(closure=0x0000000000000000, ...
>> the closure is supposed to be the FILE* of the image file.
>>
>> Can you see what:  cairo_image_surface_create_from_png_stream() is being
>> called with?
> Per my more recent reply:

Yes, sorry, saw that after I posted.
>
> 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.
>
> I'm lost on going up further than that. The structs and macros around
> agobj_t and ND_shape had me going in circles.
>
>> Other things you might try as a work-around:
>>      gcc instead of llvm
>>      jpeg images intead of png
> I will try gcc (I'm not sure if/why I was using llvm).
>
> The problem persists with jpg output. I have not tested with jpg input
> but I suspect that would work (and I'll try using that as a workaround
> soon).

The problem is occurring during image loading, so its the input image 
format that
would cause a different image loader to be used.

However, if the problem is the number of open files, then the input 
format won't matter either.



_______________________________________________
[email protected]
http://lists.research.att.com/mailman/listinfo/graphviz-interest