Follow-up Comment #8, bug #24298 (project freeciv): This appears to be an upstream issue in gdk-pixbuf. I just reported Bug 766842 - Different behavior of GDK_INTERP_NEAREST with gdk_pixbuf_composite () versus other interpolation types: https://bugzilla.gnome.org/show_bug.cgi?id=766842
I have occasionally seen this issue, but it has been difficult to reproduce. I finally found semi-reliable steps to reproduce the crash using the Homebrew binary of Freeciv 2.5.4 gui-gtk-2.0 on Mac OS X 10.11.5 (15F34) and a particular saved game, so I have been able to see and debug the problem with `lldb` attached. The crash is occurring within pixops_composite_nearest_noscale () (called by gdk_pixbuf_composite () when not scaling and the interpolation type is GDK_INTERP_NEAREST) because of an invalid memory read. In my case, the src pixbuf is 64x48 and the destination pixbuf is 63x47. Because the `offset_y' passed to gdk_pixbuf_composite () is -2, this means that the bottom row of pixels in the destination rectangle is not within the source rectangle. I eval'd a call to gdk_pixbuf_save () and the src pixbuf is the image of the Artillery unit (available with the discovery of Machine Tools). I am using the amplio2 tileset when I observe the crash. One possible work-around is to use interpolation type GDK_INTERP_BILINEAR within canvas_put_sprite (). Alternatively, the `offset_y' passed to gdk_pixbuf_composite () could be corrected so that no part of the destination rectangle is not within the source rectangle. _______________________________________________________ Reply to this item at: <http://gna.org/bugs/?24298> _______________________________________________ Message sent via/by Gna! http://gna.org/ _______________________________________________ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev