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

Sparr <[email protected]> Tue, 25 Feb 2014 10:30:16 -0500
Newsgroups gmane.comp.video.graphviz
Message-ID <CANp3UNCEQnoaA4-qYuLURZg+=Wx4gvSMd8+js8FfkXkeRiSK6A@mail.gmail.com>
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:

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).
_______________________________________________
[email protected]
http://lists.research.att.com/mailman/listinfo/graphviz-interest