backend_driver errors

I'm able to eliminate the problem by setting image=NULL after deleting it.

I did some mods to the refcount handling so that it consistently uses
XINC/XDEC for images and INC/DEC for glyphs.

I added in INCREF to get_glyph(); you don't seem to call it so it didn't
show up as an error without.

See attached patch. Let me know if I should post it to svn.

  - Paul

ft2font.diff (1.09 KB)

···

On Wed, Sep 05, 2007 at 07:13:27AM -0400, Michael Droettboom wrote:

Jouni K. Sepp�nen wrote:
> Paul Kienzle <pkienzle@...537...> writes:
>
> [segfaults]
>> Is there something in the last couple of weeks which might cause this?
>
> Some changes in font handling caused segfaults for me, and it turned out
> to be a bug in an old version of freetype:
>
> http://article.gmane.org/gmane.comp.python.matplotlib.general/10062
>
> Try running python under gdb, or using strace/truss/ktrace to see what
> is happening right before the segfault.

I'm not able to reproduce anything amiss on my Linux box.

Thanks. This patch looks good -- apologies for my sloppy confusion of Python/C++ deletes.

I just committed this patch (r3790) with one exception: as your comment suggests, when get_image is called and image == NULL, it throws and exception.

Cheers,
Mike

Paul Kienzle wrote:

···

On Wed, Sep 05, 2007 at 07:13:27AM -0400, Michael Droettboom wrote:

Jouni K. Sepp�nen wrote:

Paul Kienzle <pkienzle@...537...> writes:

[segfaults]

Is there something in the last couple of weeks which might cause this?

Some changes in font handling caused segfaults for me, and it turned out
to be a bug in an old version of freetype:

http://article.gmane.org/gmane.comp.python.matplotlib.general/10062

Try running python under gdb, or using strace/truss/ktrace to see what
is happening right before the segfault.

I'm not able to reproduce anything amiss on my Linux box.

I'm able to eliminate the problem by setting image=NULL after deleting it.

I did some mods to the refcount handling so that it consistently uses
XINC/XDEC for images and INC/DEC for glyphs.

I added in INCREF to get_glyph(); you don't seem to call it so it didn't show up as an error without.

See attached patch. Let me know if I should post it to svn.

  - Paul