GNOME Bugzilla – Bug 154144
segmentation fault using the text tool
Last modified: 2004-11-17 00:12:41 UTC
select the text tool start to type in the editor window. BANG This is the output on the console gimp:4669): GLib-GObject-WARNING **: invalid uninstantiatable type `<invalid>'in cast to `GimpConfigInterface' (gimp:4669): Gimp-Config-CRITICAL **: file gimpconfig-utils.c: line 300 (gimp_config_sync): assertion `GIMP_IS_CONFIG (src)' failed (gimp:4669): GLib-GObject-CRITICAL **: file gobject.c: line 1319 (g_object_ref): assertion `G_IS_OBJECT (object)' failed Segmentation fault (script-fu:4670): LibGimpBase-WARNING **: script-fu: wire_read(): error I fully expect this to be something I have / have not done. I downloaded and compiled 2.05 about a week ago. This is the first time that I have used the text tool. gimp running under kde 3.3 (updated via rpm after gimp upgrade).
I can certainly not confirm this and I have no idea what could be causing it.
You could add some information on the system you are using. Version numbers of related libraries, what compiler and which compiler options you used to compile GIMP.
gcc 3.3.3 I built GIMP using the usual ./configure then make then make install. IIRC the only option I specified was --prefix=/opt/gnome I don't know what dependencies GIMP has, Which libraries does GIMP depend on? Do you want me to post the config.log file? Thanks
There is no sign that you have done anything wrong, but also there haven't been any bug reports resembling this one, so it may take some work to figure out. Is this something that just happened once, or can you repeat it? If you can repeat it, the most useful thing you could do would be to get a stack trace and attach it here. (Run "gdb gimp", type "run" at the prompt, make it crash, then type "where" at the prompt, and let us see the result.)
Below is the output from gdb. When I ran gimp from the command line before using gdb I got the following message about a couple of executables not found. #gimp executable not found: '/opt/gnome/lib/gimp/2.0/plug-ins/aa' executable not found: '/opt/gnome/lib/gimp/2.0/plug-ins/wmf' I haven't noticed this before. Could these be responsible? Also, a couple of times, but not all, I noticed that a new layer was created for every letter that I typed into the editor window. The editor didn't display anything, but the layers did. When this happened, gimp crashed when typing the third layer. (gdb) run Starting program: /opt/gnome/bin/gimp Detaching after fork from child process 7874. (gimp:7871): GLib-GObject-WARNING **: invalid uninstantiatable type `gpointer' in cast to `GimpConfigInterface' (gimp:7871): Gimp-Config-CRITICAL **: file gimpconfig-utils.c: line 300 (gimp_config_sync): assertion `GIMP_IS_CONFIG (src)' failed (gimp:7871): GLib-GObject-CRITICAL **: file gobject.c: line 1319 (g_object_ref): assertion `G_IS_OBJECT (object)' failed (gimp:7871): GLib-GObject-WARNING **: gsignal.c:1893: signal `notify' is invalid for instance `0x8d2c6d0' (gimp:7871): GLib-GObject-WARNING **: invalid uninstantiatable type `<invalid>' in cast to `GimpConfigInterface' (gimp:7871): Gimp-Config-CRITICAL **: file gimpconfig-utils.c: line 300 (gimp_config_sync): assertion `GIMP_IS_CONFIG (src)' failed (gimp:7871): GLib-GObject-CRITICAL **: file gobject.c: line 1319 (g_object_ref): assertion `G_IS_OBJECT (object)' failed (gimp:7871): GLib-GObject-WARNING **: instance of invalid non-instantiatable type `<invalid>' (gimp:7871): GLib-GObject-CRITICAL **: file gsignal.c: line 1861 (g_signal_connect_data): assertion `G_TYPE_CHECK_INSTANCE (instance)' failed (gimp:7871): GLib-GObject-WARNING **: invalid uninstantiatable type `<invalid>' in cast to `GimpConfigInterface' (gimp:7871): Gimp-Config-CRITICAL **: file gimpconfig-utils.c: line 300 (gimp_config_sync): assertion `GIMP_IS_CONFIG (src)' failed (gimp:7871): GLib-GObject-CRITICAL **: file gobject.c: line 1319 (g_object_ref): assertion `G_IS_OBJECT (object)' failed (gimp:7871): GLib-GObject-WARNING **: instance of invalid non-instantiatable type `<invalid>' (gimp:7871): GLib-GObject-CRITICAL **: file gsignal.c: line 1861 (g_signal_connect_data): assertion `G_TYPE_CHECK_INSTANCE (instance)' failed (gimp:7871): GLib-GObject-WARNING **: invalid uninstantiatable type `<invalid>' in cast to `GimpObject' (gimp:7871): Gimp-Core-CRITICAL **: file gimpobject.c: line 388 (gimp_object_get_memsize): assertion `GIMP_IS_OBJECT (object)' failed (gimp:7871): GLib-GObject-WARNING **: invalid uninstantiatable type `gpointer' in cast to `GimpConfigInterface' (gimp:7871): Gimp-Config-CRITICAL **: file gimpconfig-utils.c: line 300 (gimp_config_sync): assertion `GIMP_IS_CONFIG (src)' failed (gimp:7871): GLib-GObject-CRITICAL **: file gobject.c: line 1319 (g_object_ref): assertion `G_IS_OBJECT (object)' failed (gimp:7871): GLib-GObject-WARNING **: gsignal.c:1893: signal `notify' is invalid for instance `0x8d414f0' (gimp:7871): GLib-GObject-WARNING **: invalid cast from `(null)' to `GimpConfigInterface' (gimp:7871): Gimp-Config-CRITICAL **: file gimpconfig-utils.c: line 300 (gimp_config_sync): assertion `GIMP_IS_CONFIG (src)' failed (gimp:7871): GLib-GObject-CRITICAL **: file gobject.c: line 1319 (g_object_ref): assertion `G_IS_OBJECT (object)' failed (gimp:7871): GLib-GObject-WARNING **: gsignal.c:1893: signal `notify' is invalid for instance `0x8d414f0' (gimp:7871): GLib-GObject-WARNING **: invalid cast from `(null)' to `GimpConfigInterface' (gimp:7871): Gimp-Config-CRITICAL **: file gimpconfig-utils.c: line 300 (gimp_config_sync): assertion `GIMP_IS_CONFIG (src)' failed (gimp:7871): GLib-GObject-CRITICAL **: file gobject.c: line 1319 (g_object_ref): assertion `G_IS_OBJECT (object)' failed (gimp:7871): GLib-GObject-WARNING **: gsignal.c:1893: signal `notify' is invalid for instance `0x8d414f0' (gimp:7871): GLib-GObject-WARNING **: invalid cast from `(null)' to `GimpObject' (gimp:7871): Gimp-Core-CRITICAL **: file gimpobject.c: line 388 (gimp_object_get_memsize): assertion `GIMP_IS_OBJECT (object)' failed Program received signal SIGSEGV, Segmentation fault. 0x404e0862 in g_type_check_instance_cast () from /opt/gnome/lib/libgobject-2.0.so.0 (gdb) where
+ Trace 50651
The program is unusable after the first warning and any later stack trace won't show us the actual problem but only some corrupted state. So your stack trace is useless. What you need to do in order to create a useful stack-trace is to run gimp with the --g-fatal-warnings option. That will make it crash on the first warning which might give us a hint what's going wrong here. > When I ran gimp from the command line before using gdb I got the following > message about a couple of executables not found. > > #gimp > executable not found: '/opt/gnome/lib/gimp/2.0/plug-ins/aa' > executable not found: '/opt/gnome/lib/gimp/2.0/plug-ins/wmf' This indicates that an earlier version of gimp2 that you've been using had the aa and wmf plug-ins, but your current installation doesn't. Makes me think that perhaps something is wrong with your gimp2 installation.
*** Bug 156904 has been marked as a duplicate of this bug. ***
Now that we have two people having the same problem, perhaps you two can figure out what is similar about your GIMP installation and the libraries GIMP uses. Perhaps that could shed some light on this problem which has so far not been reproducable.
I am seeing the exact same problem... Platform is SunOS hummer 5.8 Generic_108528-11 sun4u sparc SUNW,Ultra-Enterprise Solaris GCC 3.4.1 GLIB: 2.2.3 (Installed from source) GTK+: 2.2.4 (Installed as binary from sunfreeware archive) A copy of the config log is available at http://cluon.com/config.log.gz I will build gdb to get a stack trace. I do *NOT* get the warnings about missing plugins. lawrence@abaluon.abaom | sed s/aba/c/g
Sorry for the duplicate of the bug. I looked for "crash" but not for "segmentation fault". I'm using GNU/Linux, Mandrake 10 official and did not compile Gimp by myself. I'm using "urpmi" a packet manager to install rpm-packages via ftp. Here are the versions of packages I'm using. http://www.ibiblio.org/pub/mirrors/norlug/mandrake-10.0/RPMS/gimp2_0-2.0.5-1.norlug.i586.rpm http://www.ibiblio.org/pub/mirrors/norlug/mandrake-10.0/RPMS/libgimp2.0_0-2.0.5-1.norlug.i586.rpm Tue Sep 28 15:14:51 2004 /var/cache/urpmi/rpms/gimp2_0-2.0.5-1.norlug.i586.rpm /var/cache/urpmi/rpms/libgimp2.0_0-2.0.5-1.norlug.i586.rpm 4:libgimp2.0_0 ################################################## 12:gimp2_0 ################################################## I think I did not use the text tool since that day so I could not report the bug earlyer but I used it on other gimp 2 versions and never had a problem. Here are other libraries I'm using at the moment: Tue Sep 21 14:35:33 2004 /var/cache/urpmi/rpms/libgdk-pixbuf-gnomecanvas1-0.22.0-2.2.100mdk.i586.rpm /var/cache/urpmi/rpms/libgdk-pixbuf2-devel-0.22.0-2.2.100mdk.i586.rpm /var/cache/urpmi/rpms/libgdk-pixbuf-xlib2-0.22.0-2.2.100mdk.i586.rpm /var/cache/urpmi/rpms/libgdk-pixbuf2-0.22.0-2.2.100mdk.i586.rpm /var/cache/urpmi/rpms/gdk-pixbuf-loaders-0.22.0-2.2.100mdk.i586.rpm Tue Sep 21 14:36:34 2004 /var/cache/urpmi/rpms/libgdk_pixbuf2.0_0-devel-2.2.4-10.1.100mdk.i586.rpm /var/cache/urpmi/rpms/libgdk_pixbuf2.0_0-2.2.4-10.1.100mdk.i586.rpm /var/cache/urpmi/rpms/libgtk+-x11-2.0_0-2.2.4-10.1.100mdk.i586.rpm /var/cache/urpmi/rpms/libgtk+2.0_0-2.2.4-10.1.100mdk.i586.rpm /var/cache/urpmi/rpms/libgtk+2.0_0-devel-2.2.4-10.1.100mdk.i586.rpm /var/cache/urpmi/rpms/gtk+2.0-2.2.4-10.1.100mdk.i586.rpm What other version numbers or info could be helpful?
The library versions of Pango and Freetype is what we need to know here.
One thing that would really help is if someone could provide a stacktrace obtained using 'gdb --args gimp --g-fatal-warnings'. That should make GIMP crash on the first warning and the backtrace should show what exactly goes wrong here.
From /usr/src/freetype2/freetype/freetype.h version 2.1.7 /usr/lib/libfreetype.la /usr/lib/libfreetype.so /usr/lib/libfreetype.so.6.3.5 /usr/lib/libfreetype.so.6 from /usr/share/gtk-doc/html/pango/index.html pango v1.2.5 and libs: /usr/lib/libpangox-1.0.la /usr/lib/libpangox-1.0.so /usr/lib/libpangoft2-1.0.so.0 /usr/lib/libpangosharpglue.so /usr/lib/libpangoxft-1.0.so.0 /usr/lib/libpangoxft-1.0.so.0.200.5 /usr/lib/libpango-1.0.so.0 /usr/lib/libpangomm-1.0.so.1.5.8 /usr/lib/libpangoft2-1.0.so.0.200.5 /usr/lib/libpangoft2-1.0.la /usr/lib/libpangoft2-1.0.so /usr/lib/libpango-1.0.so.0.200.5 /usr/lib/libpangox-1.0.so.0 /usr/lib/libpangomm-1.0.so.1 /usr/lib/libpangoxft-1.0.la /usr/lib/libpangoxft-1.0.so /usr/lib/libpangox-1.0.so.0.200.5 /usr/lib/libpango-1.0.la /usr/lib/libpango-1.0.so /usr/lib/libpangomm-1.0.la /usr/lib/libpangomm-1.0.so
I only could get the following out of my core-file. $ gdb gimp-2.0 core.5965 GNU gdb 6.0-2mdk (Mandrake Linux) Copyright 2003 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i586-mandrake-linux-gnu"... (no debugging symbols found)...Using host libthread_db library "/lib/tls/libthrad_db.so.1". Core was generated by `gimp-2.0'. Program terminated with signal 11, Segmentation fault. warning: current_sos: Can't read pathname for load map: Input/output error Reading symbols from /usr/lib/libgimpwidgets-2.0.so.0... (no debugging symbols found)...done. Loaded symbols for /usr/lib/libgimpwidgets-2.0.so.0 Reading symbols from /usr/lib/libgimpmodule-2.0.so.0... (no debugging symbols found)...done. Loaded symbols for /usr/lib/libgimpmodule-2.0.so.0 Reading symbols from /usr/lib/libgimpcolor-2.0.so.0... (no debugging symbols found)...done. Loaded symbols for /usr/lib/libgimpcolor-2.0.so.0 Reading symbols from /usr/lib/libgimpthumb-2.0.so.0... (no debugging symbols found)...done. Loaded symbols for /usr/lib/libgimpthumb-2.0.so.0 Reading symbols from /usr/lib/libgimpmath-2.0.so.0... (no debugging symbols found)...done. Loaded symbols for /usr/lib/libgimpmath-2.0.so.0 Reading symbols from /usr/lib/libgimpbase-2.0.so.0... (no debugging symbols found)...done. Loaded symbols for /usr/lib/libgimpbase-2.0.so.0 Reading symbols from /usr/lib/libgtk-x11-2.0.so.0... ---Type <return> to continue, or q <return> to quit--- (no debugging symbols found)...done. Loaded symbols for /usr/lib/libgtk-x11-2.0.so.0 Reading symbols from /usr/lib/libgdk-x11-2.0.so.0... (no debugging symbols found)...done. Loaded symbols for /usr/lib/libgdk-x11-2.0.so.0 Reading symbols from /usr/lib/libatk-1.0.so.0...(no debugging symbols found)... done. Loaded symbols for /usr/lib/libatk-1.0.so.0 Reading symbols from /usr/lib/libgdk_pixbuf-2.0.so.0... (no debugging symbols found)...done. Loaded symbols for /usr/lib/libgdk_pixbuf-2.0.so.0 Reading symbols from /lib/tls/libm.so.6...(no debugging symbols found)...done. Loaded symbols for /lib/tls/libm.so.6 Reading symbols from /usr/lib/libpangoxft-1.0.so.0... (no debugging symbols found)...done. Loaded symbols for /usr/lib/libpangoxft-1.0.so.0 Reading symbols from /usr/lib/libpangox-1.0.so.0... (no debugging symbols found)...done. Loaded symbols for /usr/lib/libpangox-1.0.so.0 Reading symbols from /usr/lib/libart_lgpl_2.so.2... (no debugging symbols found)...done. Loaded symbols for /usr/lib/libart_lgpl_2.so.2 Reading symbols from /usr/lib/libpangoft2-1.0.so.0... (no debugging symbols found)...done. Loaded symbols for /usr/lib/libpangoft2-1.0.so.0 Reading symbols from /usr/lib/libpango-1.0.so.0... (no debugging symbols found)...done. Loaded symbols for /usr/lib/libpango-1.0.so.0 Reading symbols from /usr/lib/libgobject-2.0.so.0... (no debugging symbols found)...done. Loaded symbols for /usr/lib/libgobject-2.0.so.0 Reading symbols from /usr/lib/libgmodule-2.0.so.0... (no debugging symbols found)...done. Loaded symbols for /usr/lib/libgmodule-2.0.so.0 Reading symbols from /lib/libdl.so.2...(no debugging symbols found)...done. Loaded symbols for /lib/libdl.so.2 ---Type <return> to continue, or q <return> to quit--- Reading symbols from /usr/lib/libglib-2.0.so.0... (no debugging symbols found)...done. Loaded symbols for /usr/lib/libglib-2.0.so.0 Reading symbols from /usr/lib/libfontconfig.so.1... (no debugging symbols found)...done. Loaded symbols for /usr/lib/libfontconfig.so.1 Reading symbols from /usr/lib/libfreetype.so.6... (no debugging symbols found)...done. Loaded symbols for /usr/lib/libfreetype.so.6 Reading symbols from /lib/libz.so.1...(no debugging symbols found)...done. Loaded symbols for /lib/libz.so.1 Reading symbols from /lib/tls/libpthread.so.0...(no debugging symbols found)... done. Loaded symbols for /lib/tls/libpthread.so.0 Reading symbols from /lib/tls/libc.so.6...(no debugging symbols found)...done. Loaded symbols for /lib/tls/libc.so.6 Reading symbols from /usr/X11R6/lib/libX11.so.6... (no debugging symbols found)...done. Loaded symbols for /usr/X11R6/lib/libX11.so.6 Reading symbols from /usr/X11R6/lib/libXrandr.so.2... (no debugging symbols found)...done. Loaded symbols for /usr/X11R6/lib/libXrandr.so.2 Reading symbols from /usr/X11R6/lib/libXi.so.6... (no debugging symbols found)...done. Loaded symbols for /usr/X11R6/lib/libXi.so.6 Reading symbols from /usr/X11R6/lib/libXinerama.so.1... (no debugging symbols found)...done. Loaded symbols for /usr/X11R6/lib/libXinerama.so.1 Reading symbols from /usr/X11R6/lib/libXext.so.6... (no debugging symbols found)...done. Loaded symbols for /usr/X11R6/lib/libXext.so.6 Reading symbols from /usr/X11R6/lib/libXft.so.2... (no debugging symbols found)...done. Loaded symbols for /usr/X11R6/lib/libXft.so.2 Reading symbols from /usr/X11R6/lib/libXrender.so.1... ---Type <return> to continue, or q <return> to quit--- (no debugging symbols found)...done. Loaded symbols for /usr/X11R6/lib/libXrender.so.1 Reading symbols from /lib/ld-linux.so.2...done. Loaded symbols for /lib/ld-linux.so.2 Reading symbols from /usr/lib/libexpat.so.0...done. Loaded symbols for /usr/lib/libexpat.so.0 Reading symbols from /usr/X11R6/lib/X11/locale/lib/common/xlcDef.so.2...done. Loaded symbols for /usr/X11R6/lib/X11/locale/lib/common/xlcDef.so.2 Reading symbols from /lib/libnss_files.so.2...done. Loaded symbols for /lib/libnss_files.so.2 Reading symbols from /usr/lib/gconv/ISO8859-15.so...done. Loaded symbols for /usr/lib/gconv/ISO8859-15.so Reading symbols from /usr/lib/gtk-2.0/2.2.0/loaders/libpixbufloader-png.so... done. Loaded symbols for /usr/lib/gtk-2.0/2.2.0/loaders/libpixbufloader-png.so Reading symbols from /usr/lib/libpng12.so.0...done. Loaded symbols for /usr/lib/libpng12.so.0 Reading symbols from /usr/lib/gconv/ISO8859-1.so...done. Loaded symbols for /usr/lib/gconv/ISO8859-1.so Reading symbols from /usr/lib/gtk-2.0/2.2.0/engines/libpixmap.so...done. Loaded symbols for /usr/lib/gtk-2.0/2.2.0/engines/libpixmap.so Reading symbols from /usr/X11R6/lib/libXcursor.so.1...done. Loaded symbols for /usr/X11R6/lib/libXcursor.so.1 Reading symbols from /usr/lib/pango/1.2.0/modules/pango-basic-xft.so...done. Loaded symbols for /usr/lib/pango/1.2.0/modules/pango-basic-xft.so Reading symbols from /usr/lib/pango/1.2.0/modules/pango-basic-ft2.so...done. Loaded symbols for /usr/lib/pango/1.2.0/modules/pango-basic-ft2.so
+ Trace 51480
Is that core-file from running gimp with the --g-fatal-warnings option? If so, please use gdb again and at the gdb prompt, type 'bt'. Then paste the result here. But please don't paste all the gdb spew about loading symbols again. That is rather useless.
Starting program: /usr/local/bin/gimp --g-fatal-warnings GLib-GObject-WARNING **: invalid unclassed pointer in cast to `GimpConfigInterfa ce' aborting... Program received signal SIGABRT, Aborted. 0xfe91be4c in _libc_kill () from /usr/lib/libc.so.1 (gdb) where
+ Trace 51482
That doesn't help at all since we need the stack frames above. All we can see here is that a warnings is output but not what is causing it.
sorry -- what would be more helfpul?
Unset the stack trace limit in gdb using 'set backtrace limit 0'. You should get more stack frames then.
Same behavior ... lawrence /export/home/lawrence > gdb --args gimp --g-fatal-warnings GNU gdb 6.0 Copyright 2003 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "sparc-sun-solaris2.8"... (gdb) set backtrace limit 0 (gdb) run Starting program: /usr/local/bin/gimp --g-fatal-warnings GLib-GObject-WARNING **: invalid unclassed pointer in cast to `GimpConfigInterface' aborting... Program received signal SIGABRT, Aborted. 0xfe91be4c in _libc_kill () from /usr/lib/libc.so.1 (gdb) bt
+ Trace 51484
Sorry for the silence, but I went back to 2.0, assuming I had messed up the build / install. Hope this is of some use. rpm -qa | grep -i freetype freetype2-devel-2.1.7-53 freetype2-2.1.7-53 rpm -qa | grep -i freetype freetype2-devel-2.1.7-53 freetype2-2.1.7-53 (gdb) run Starting program: /opt/gnome/bin/gimp --g-fatal-warnings Detaching after fork from child process 25290. GLib-GObject-WARNING **: invalid uninstantiatable type `<unknown>' in cast to `GimpConfigInterface' aborting... Program received signal SIGABRT, Aborted. 0xffffe410 in ?? () (gdb) where
+ Trace 51485
OK ... I set a breakpoint at the entry to g_log() in the hopes of getting more stack frames (why GDB is fighting with me, I don't know :S ) Breakpoint 1, g_log (log_domain=0xfed1abb8 "GLib-GObject", log_level=G_LOG_LEVEL_WARNING, format=0xfed1c6f8 "invalid unclassed pointer in cast to `%s'") at gmessages.c:528 528 g_logv (log_domain, log_level, format, args); (gdb) where
+ Trace 51486
Between mine and Gary's stack dumps, do you have enough to point to a smoking gun? I am setting a breakpoint now at the entry to gimp_text_tool_connect to see why text is being passed in as a bad value.
Created attachment 33266 [details] [review] patch for you to try I was expecting that gimp_text_tool_connect() would show up but I don't really see what could be causing this problem. There is some dubious lines of code I stumpled across earlier but after some further investigation I decided that it shouldn't cause any problems. Anyway, here's a patch for you to try. Perhaps I've been wrong and this is indeed causing problems.
Comment on attachment 33266 [details] [review] patch for you to try As expected, this patch doesn't help at all.
Created attachment 33272 [details] [review] patch to fix the problem It appears that the workaround for bug #143542 causes problems on pango-1.2. Your best bet is to update to pango-1.4. Alternatively you can apply this patch which disables the workaround we introduced with GIMP 2.0.5.
Putting this on the 2.0.6 milestone. I don't really have an idea on how to fix this w/o getting the troubles back that caused us to do this change. But if we do a 2.0.6 release at all, we should try to come up with a solution.
Thank you so far. I tried as you said and installed pango-1.4 (needed the following packets) pango-1.4.1-1mdk.i586.rpm libpango1.0_0-1.4.1-1mdk.i586.rpm libpango1.0_0-modules-1.4.1-1mdk.i586.rpm libpango1.0_0-devel-1.4.1-1mdk.i586.rpm libglib2.0_0-devel-2.4.6-1mdk.i586.rpm libglib2.0_0-2.4.6-1mdk.i586.rpm glib-gettextize-2.4.6-1mdk.i586.rpm I've tested it a few times and the error did not appear.
Me too. I installed pango 1.4 & glib2 2.4.0 and so far so good. Many thanks for you time and efforts.
I can reproduce the problem on Windows as well by downgrading to latest pango-1-2 and gtk-2-2. The problem is that pango 1.2 incorrectly calls the destroy function for the default substitute twice when the fontmap is destroyed, once in pango_fc_font_map_finalize (pangofc-fontmap.cI) and once in pango_fc_do_finalize (pangoft2-fontmap.c), which will decrease the refcount for the GimpText object once too much. This can be worked around without reopening bug #143542. I'll attach a patch soon.
Created attachment 33292 [details] [review] Suggested patch As promised, here is a patch for the gimp-2-0 sources. I have tested it on Windows XP using latest glib-2-4 and both (pango-1-2 and gtk-2-2) and (pango-1-4 and gtk-2-4). In both cases it works without reopening the handle leak bug (#148997).
Thanks a lot for that patch. Applied to the stable branch: 2004-11-02 Sven Neumann <sven@gimp.org> * app/text/gimptextlayout.c: applied patch by Robert Ögren that fixes the workaround for bug #143542 for Pango 1.2. Fixes bug #154144.
*** Bug 156672 has been marked as a duplicate of this bug. ***