After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 154144 - segmentation fault using the text tool
segmentation fault using the text tool
Status: RESOLVED FIXED
Product: GIMP
Classification: Other
Component: Tools
2.0.x
Other Linux
: Normal critical
: 2.0
Assigned To: GIMP Bugs
GIMP Bugs
: 156672 156904 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2004-09-30 11:56 UTC by gary
Modified: 2004-11-17 00:12 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
patch for you to try (816 bytes, patch)
2004-10-30 19:33 UTC, Sven Neumann
none Details | Review
patch to fix the problem (931 bytes, patch)
2004-10-30 20:40 UTC, Sven Neumann
none Details | Review
Suggested patch (2.41 KB, patch)
2004-10-31 19:04 UTC, Robert Ögren
none Details | Review

Description gary 2004-09-30 11:56:26 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).
Comment 1 Sven Neumann 2004-09-30 12:35:03 UTC
I can certainly not confirm this and I have no idea what could be causing it.
Comment 2 Sven Neumann 2004-09-30 12:58:30 UTC
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.
Comment 3 gary 2004-09-30 13:37:25 UTC
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
Comment 4 weskaggs 2004-09-30 21:29:33 UTC
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.)
Comment 5 gary 2004-09-30 22:09:26 UTC
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
  • #0 g_type_check_instance_cast
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #1 gimp_text_layer_get_memsize
    at gimptextlayer.c line 258
  • #2 gimp_object_get_memsize
    at gimpobject.c line 441
  • #3 gimp_list_get_memsize
    at gimplist.c line 135
  • #4 gimp_object_get_memsize
    at gimpobject.c line 441
  • #5 gimp_image_get_memsize
    at gimpimage.c line 744
  • #6 gimp_object_get_memsize
    at gimpobject.c line 441
  • #7 gimp_display_shell_format_title
  • #8 gimp_display_shell_update_title_idle
    at gimpdisplayshell-title.c line 102
  • #9 g_idle_dispatch
    from /opt/gnome/lib/libglib-2.0.so.0
  • #10 g_main_context_dispatch
    from /opt/gnome/lib/libglib-2.0.so.0
  • #11 g_main_context_iterate
    from /opt/gnome/lib/libglib-2.0.so.0
  • #12 g_main_loop_run
    from /opt/gnome/lib/libglib-2.0.so.0
  • #13 gtk_main
    from /opt/gnome/lib/libgtk-x11-2.0.so.0
  • #14 ??
  • #15 ??
  • #16 ??
  • #17 ??
  • #18 ??
  • #19 ??

Comment 6 Sven Neumann 2004-10-01 09:23:54 UTC
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.
Comment 7 Sven Neumann 2004-10-30 15:42:07 UTC
*** Bug 156904 has been marked as a duplicate of this bug. ***
Comment 8 Sven Neumann 2004-10-30 15:47:58 UTC
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.
Comment 9 Lawrence Statton 2004-10-30 16:03:00 UTC
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
Comment 10 Tim Pommerening 2004-10-30 16:24:18 UTC
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?
Comment 11 Sven Neumann 2004-10-30 16:30:10 UTC
The library versions of Pango and Freetype is what we need to know here.
Comment 12 Sven Neumann 2004-10-30 16:59:18 UTC
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.
Comment 13 Tim Pommerening 2004-10-30 17:02:48 UTC
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
Comment 14 Tim Pommerening 2004-10-30 17:15:13 UTC
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
  • #0 g_type_check_instance_cast
    from /usr/lib/libgobject-2.0.so.0

Comment 15 Sven Neumann 2004-10-30 17:28:27 UTC
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.
Comment 16 Lawrence Statton 2004-10-30 18:17:37 UTC
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
  • #0 _libc_kill
    from /usr/lib/libc.so.1
  • #1 abort
    from /usr/lib/libc.so.1
  • #2 g_logv
    at gmessages.c line 509
  • #3 g_log
    at gmessages.c line 528

Comment 17 Sven Neumann 2004-10-30 18:26:53 UTC
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.
Comment 18 Lawrence Statton 2004-10-30 18:30:26 UTC
sorry -- what would be more helfpul?

Comment 19 Sven Neumann 2004-10-30 18:45:58 UTC
Unset the stack trace limit in gdb using 'set backtrace limit 0'. You should get
more stack frames then.
Comment 20 Lawrence Statton 2004-10-30 18:52:22 UTC
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
  • #0 _libc_kill
    from /usr/lib/libc.so.1
  • #1 abort
    from /usr/lib/libc.so.1
  • #2 g_logv
    at gmessages.c line 509
  • #3 g_log
    at gmessages.c line 528

Comment 21 gary 2004-10-30 19:02:54 UTC
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   
  • #0 ??
  • #1 ??
  • #2 ??
  • #3 ??
  • #4 raise
    from /lib/tls/libc.so.6
  • #5 abort
    from /lib/tls/libc.so.6
  • #6 g_logv
    from /opt/gnome/lib/libglib-2.0.so.0
  • #7 g_log
    from /opt/gnome/lib/libglib-2.0.so.0
  • #8 g_type_check_instance_cast
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #9 gimp_text_tool_connect
    at gimptexttool.c line 395
  • #10 gimp_text_tool_create_layer
    at gimptexttool.c line 698
  • #11 g_cclosure_marshal_VOID__VOID
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #12 g_closure_invoke
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #13 signal_emit_unlocked_R
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #14 g_signal_emit_valist
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #15 g_signal_emit
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #16 gimp_text_editor_text_changed
    at gimptexteditor.c line 296
  • #17 g_cclosure_marshal_VOID__VOID
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #18 g_closure_invoke
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #19 signal_emit_unlocked_R
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #20 g_signal_emit_valist
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #21 g_signal_emit
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #22 gtk_text_buffer_real_insert_text
    from /opt/gnome/lib/libgtk-x11-2.0.so.0
  • #23 _gtk_marshal_VOID__BOXED_STRING_INT
    from /opt/gnome/lib/libgtk-x11-2.0.so.0
  • #24 g_type_class_meta_marshal
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #25 g_closure_invoke
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #26 signal_emit_unlocked_R
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #27 g_signal_emit_valist
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #28 g_signal_emit
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #29 gtk_text_buffer_emit_insert
    from /opt/gnome/lib/libgtk-x11-2.0.so.0
  • #30 gtk_text_buffer_insert_interactive
    from /opt/gnome/lib/libgtk-x11-2.0.so.0
  • #31 gtk_text_buffer_insert_interactive_at_cursor
    from /opt/gnome/lib/libgtk-x11-2.0.so.0
  • #32 gtk_text_view_commit_text
    from /opt/gnome/lib/libgtk-x11-2.0.so.0
  • #33 g_cclosure_marshal_VOID__STRING
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #34 g_closure_invoke
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #35 signal_emit_unlocked_R
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #36 g_signal_emit_valist
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #37 g_signal_emit_by_name
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #38 gtk_im_multicontext_commit_cb
    from /opt/gnome/lib/libgtk-x11-2.0.so.0
  • #39 g_cclosure_marshal_VOID__STRING
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #40 g_closure_invoke
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #41 signal_emit_unlocked_R
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #42 g_signal_emit_valist
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #43 g_signal_emit_by_name
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #44 gtk_im_context_simple_commit_char
    from /opt/gnome/lib/libgtk-x11-2.0.so.0
  • #45 gtk_im_context_simple_filter_keypress
    from /opt/gnome/lib/libgtk-x11-2.0.so.0
  • #46 gtk_im_context_filter_keypress
    from /opt/gnome/lib/libgtk-x11-2.0.so.0
  • #47 gtk_im_multicontext_filter_keypress
    from /opt/gnome/lib/libgtk-x11-2.0.so.0
  • #48 gtk_im_context_filter_keypress
    from /opt/gnome/lib/libgtk-x11-2.0.so.0
  • #49 gtk_text_view_key_press_event
    from /opt/gnome/lib/libgtk-x11-2.0.so.0
  • #50 _gtk_marshal_BOOLEAN__BOXED
    from /opt/gnome/lib/libgtk-x11-2.0.so.0
  • #51 g_type_class_meta_marshal
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #52 g_closure_invoke
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #53 signal_emit_unlocked_R
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #54 g_signal_emit_valist
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #55 g_signal_emit
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #56 gtk_widget_event_internal
    from /opt/gnome/lib/libgtk-x11-2.0.so.0
  • #57 gtk_window_key_press_event
    from /opt/gnome/lib/libgtk-x11-2.0.so.0
  • #58 _gtk_marshal_BOOLEAN__BOXED
    from /opt/gnome/lib/libgtk-x11-2.0.so.0
  • #59 g_type_class_meta_marshal
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #60 g_closure_invoke
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #61 signal_emit_unlocked_R
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #62 g_signal_emit_valist
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #63 g_signal_emit
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #64 gtk_widget_event_internal
    from /opt/gnome/lib/libgtk-x11-2.0.so.0
  • #65 gtk_propagate_event
    from /opt/gnome/lib/libgtk-x11-2.0.so.0
  • #66 gtk_main_do_event
    from /opt/gnome/lib/libgtk-x11-2.0.so.0
  • #67 gdk_event_dispatch
    from /opt/gnome/lib/libgdk-x11-2.0.so.0
  • #68 g_main_context_dispatch
    from /opt/gnome/lib/libglib-2.0.so.0
  • #69 g_main_context_iterate
    from /opt/gnome/lib/libglib-2.0.so.0
  • #70 g_main_loop_run
    from /opt/gnome/lib/libglib-2.0.so.0
  • #71 gtk_main
    from /opt/gnome/lib/libgtk-x11-2.0.so.0
  • #72 ??
  • #73 ??
  • #74 ??
  • #75 ??
  • #76 ??
  • #77 ??
  • #78 ??
  • #79 ??
    from /opt/gnome/lib/libgtk-x11-2.0.so.0
  • #80 ??
  • #55 g_signal_emit
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #56 gtk_widget_event_internal
    from /opt/gnome/lib/libgtk-x11-2.0.so.0
  • #57 gtk_window_key_press_event
    from /opt/gnome/lib/libgtk-x11-2.0.so.0
  • #58 _gtk_marshal_BOOLEAN__BOXED
    from /opt/gnome/lib/libgtk-x11-2.0.so.0
  • #59 g_type_class_meta_marshal
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #60 g_closure_invoke
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #61 signal_emit_unlocked_R
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #62 g_signal_emit_valist
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #63 g_signal_emit
    from /opt/gnome/lib/libgobject-2.0.so.0
  • #64 gtk_widget_event_internal
    from /opt/gnome/lib/libgtk-x11-2.0.so.0
  • #65 gtk_propagate_event
    from /opt/gnome/lib/libgtk-x11-2.0.so.0
  • #66 gtk_main_do_event
    from /opt/gnome/lib/libgtk-x11-2.0.so.0
  • #67 gdk_event_dispatch
    from /opt/gnome/lib/libgdk-x11-2.0.so.0
  • #68 g_main_context_dispatch
    from /opt/gnome/lib/libglib-2.0.so.0
  • #69 g_main_context_iterate
    from /opt/gnome/lib/libglib-2.0.so.0
  • #70 g_main_loop_run
    from /opt/gnome/lib/libglib-2.0.so.0
  • #71 gtk_main
    from /opt/gnome/lib/libgtk-x11-2.0.so.0
  • #72 ??
  • #73 ??
  • #74 ??
  • #75 ??
  • #76 ??
  • #77 ??
  • #78 ??
  • #79 ??
    from /opt/gnome/lib/libgtk-x11-2.0.so.0
  • #80 ??
  • #81 session_init

Comment 22 Lawrence Statton 2004-10-30 19:10:16 UTC
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
  • #0 g_log
    at gmessages.c line 528
  • #1 g_type_check_instance_cast
    at gtype.c line 2789
  • #2 gimp_text_tool_connect
    at gimptexttool.c line 395

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.


Comment 23 Sven Neumann 2004-10-30 19:33:17 UTC
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 24 Sven Neumann 2004-10-30 20:38:07 UTC
Comment on attachment 33266 [details] [review]
patch for you to try

As expected, this patch doesn't help at all.
Comment 25 Sven Neumann 2004-10-30 20:40:14 UTC
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.
Comment 26 Sven Neumann 2004-10-30 20:50:35 UTC
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.
Comment 27 Tim Pommerening 2004-10-30 21:53:25 UTC
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. 
Comment 28 gary 2004-10-30 22:33:33 UTC
Me too.  I installed pango 1.4 & glib2 2.4.0 and so far so good. 
 
Many thanks for you time and efforts. 
Comment 29 Robert Ögren 2004-10-31 18:39:56 UTC
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.
Comment 30 Robert Ögren 2004-10-31 19:04:32 UTC
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).
Comment 31 Sven Neumann 2004-11-02 13:17:37 UTC
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.
Comment 32 Manish Singh 2004-11-17 00:12:41 UTC
*** Bug 156672 has been marked as a duplicate of this bug. ***