On Wed, Mar 19, 2008 at 9:51 PM, Hazen Babcock <[EMAIL PROTECTED]> wrote: > Agreed, but the segfault occurs because I did not think to check the > return value of the function pango_cairo_create_layout(). It should > return a pointer to a PangoLayout, but when it fails, as it does in > our test case, it returns NULL. The program crashes when this null > pointer is passed to the next function which expects a valid > PangoLayout pointer. I can add a test for this and the program will > no longer segfault, but this does not solve the problem of why > pango_cairo_create_layout() is failing in the first place. Presumably > it is trying to tell us something with the message: > > (process:10860): GLib-GObject-WARNING **: cannot register existing > type `PangoCairoFcFontMap' > > Or maybe this could just mean that at some other point we are > overwriting some crucial bit of memory? > > Unfortunately I have not been able to trigger this bug using a simple > cairo/pango program that contains just the apparently problematic > function calls.
While testing trying to patch the recently discussed multiple output streams with the same driver bug I found something that is possibly useful for diagnosing this Cairo segmentation fault issue, and certainly useful as a workaround otherwise. If plend is only called after all plotting is complete and calls to plend1 are used between plots then no segfaults seem to occur. Example: plsdev "xcairo" plinit () plenv 0.0 1.0 0.0 1.0 1 0 plend1 () plsdev "xcairo" plinit () plenv 0.0 1.0 0.0 1.0 1 0 plend1 () ... plend () In this case, no segfault occurs on my system (Ubuntu Hardy, 64bit, latest PLplot SVN). The segfault still occurs if I replace the "plend1" calls with "plend". Hope this helps, either as an indicator of where the problem originates or simply as a relatively simple workaround. Hez -- Hezekiah M. Carty Graduate Research Assistant University of Maryland Department of Atmospheric and Oceanic Science ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel