The program 'gimp-remote' received an X Window System error

Bug #113407 reported by Cyril Adrian
4
Affects Status Importance Assigned to Milestone
gimp (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

Binary package hint: gimp

Hi,

release is a Feisty.

cyril@tiffany:~$ gimp-remote http://www.gimp.org/images/wilber_the_gimp.png
The program 'gimp-remote' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadAtom (invalid Atom parameter)'.
  (Details: serial 94 error_code 5 request_code 20 minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

I tried with --sync, almost same result:
cyril@tiffany:~$ gimp-remote --sync http://www.gimp.org/images/wilber_the_gimp.png
The program 'gimp-remote' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadAtom (invalid Atom parameter)'.
  (Details: serial 118 error_code 5 request_code 20 minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

It is quite grave because I cannot start Gimp from Nautilus. To my girlfriend it makes our computer totally useless.

What can I do? The current workaround is to directly call gimp but I'm not comfortable with opening as many gimps as my girlfriend can load pictures, and that's quite a lot ;-)

Thanks for your help,

Cyril

Revision history for this message
Marco Rodrigues (gothicx) wrote :
Revision history for this message
Marco Rodrigues (gothicx) wrote :

Check if there is any crash report for gimp at your /var/crash directory and if there is one, reproduce the crash and attach it here...

Revision history for this message
Cyril Adrian (cadrian) wrote :

I'm sorry, nothing in /var/crash :-(

But I did not know that directory, thanks for the tip anyway.

Regards

Cyril

Revision history for this message
Cyril Adrian (cadrian) wrote :

More info:

The problem seems only to happen to a newly started machine, when my girlfriend tries to access a photo via a symlink to my account (photos are stored on my account using my user rights set to 755).

I tried, using her account, to open a photo she downloaded and tada! it worked. And AFTER having done that, trying to open a symlinked photo worked!!

It also happens with my account using the test case above (I can reproduce it any time) and with any photo, mine or hers, symlinked or not.

I really don't understand. Any tip on how to catch that bug would be welcome.

Thanks

Cyril

Revision history for this message
Cyril Adrian (cadrian) wrote :

Don't know if it helps: here is the output of strace -v gimp-remote http://www.gimp.org/images/wilber_the_gimp.png

Revision history for this message
Cyril Adrian (cadrian) wrote :

After installing libgtk-2.0-0-dbg (tip found elsewhere):

cyril@tiffany:~$ gdb gimp-remote
GNU gdb 6.6-debian
Copyright (C) 2006 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 "i486-linux-gnu"...
(no debugging symbols found)
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
(gdb) set args --sync http://www.gimp.org/images/wilber_the_gimp.png
(gdb) break gdk_x_error
Function "gdk_x_error" not defined.
Make breakpoint pending on future shared library load? (y or [n]) y

Breakpoint 1 (gdk_x_error) pending.
(gdb) run
Starting program: /usr/bin/gimp-remote --sync http://www.gimp.org/images/wilber_
the_gimp.png
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread -1219578176 (LWP 8202)]
Breakpoint 2 at 0xb7b4cdb3: file gdkmain-x11.c, line 614.
Pending breakpoint "gdk_x_error" resolved
[Switching to Thread -1219578176 (LWP 8202)]

Breakpoint 2, gdk_x_error (display=0x8060800, error=0xbfba5e58)
    at gdkmain-x11.c:614
614 gdkmain-x11.c: No such file or directory.
        in gdkmain-x11.c
(gdb) thread apply all bt full

Thread 1 (Thread -1219578176 (LWP 8202)):
#0 gdk_x_error (display=0x8060800, error=0xbfba5e58) at gdkmain-x11.c:614
No locals.
#1 0xb77e0c4a in _XError () from /usr/lib/libX11.so.6
No symbol table info available.
#2 0xb77e2714 in _XReply () from /usr/lib/libX11.so.6
No symbol table info available.
#3 0xb77c68a6 in XGetWindowProperty () from /usr/lib/libX11.so.6
No symbol table info available.
#4 0x08049d59 in ?? ()
No symbol table info available.
#5 0x08060800 in ?? ()
No symbol table info available.
#6 0x03600001 in ?? ()
No symbol table info available.
#7 0x00000000 in ?? ()
No symbol table info available.
(gdb)

Revision history for this message
Cyril Adrian (cadrian) wrote :

better stack trace after installing gimp-dbg:

Thread 1 (Thread -1219320128 (LWP 32057)):
#0 gdk_x_error (display=0x8060800, error=0xbfbaedb8) at gdkmain-x11.c:614
No locals.
#1 0xb781fc4a in _XError () from /usr/lib/libX11.so.6
No symbol table info available.
#2 0xb7821714 in _XReply () from /usr/lib/libX11.so.6
No symbol table info available.
#3 0xb78058a6 in XGetWindowProperty () from /usr/lib/libX11.so.6
No symbol table info available.
#4 0x08049d59 in main (argc=0, argv=0xbfbaf034)
    at /build/buildd/gimp-2.2.13/./tools/gimp-remote.c:120
        window = 60817409
        ret_type = 3077830441
        nitems = 134526904
        data = (guchar *) 0x0
        ret_format = 134516625
        bytes_after = 3216699256
        display = (GdkDisplay *) 0x8069098
        screen = (GdkScreen *) 0x806b0d0
        gimp_window = <value optimized out>
        startup_id = <value optimized out>
        desktop_startup_id = (gchar *) 0x0
        file_list = (GString *) 0x804cf00
        cwd = (gchar *) 0x804ce18 "/home/cyril"
        i = <value optimized out>
#5 0xb764febc in __libc_start_main () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#6 0x08049381 in _start ()
No symbol table info available.

Revision history for this message
Cyril Adrian (cadrian) wrote :
Download full text (8.4 KiB)

Sorry for so many comments in a row... but I found the libx11-6-dbg package. Here is the full trace at last.

Thread 1 (Thread -1218812224 (LWP 32247)):
#0 gdk_x_error (display=0x8060800, error=0xbfbcc5d8) at gdkmain-x11.c:614
No locals.
#1 0xb789bc4a in _XError (dpy=0x8060800, rep=0xbfbcc6cc)
    at ../../src/XlibInt.c:2907
        rtn_val = <value optimized out>
        event = {type = 0, xany = {type = 0, serial = 134612992,
    send_event = 0, display = 0x76, window = 3070235653}, xkey = {type = 0,
    serial = 134612992, send_event = 0, display = 0x76, window = 3070235653,
    root = 3080759936, subwindow = 3079039212, time = 3216819760,
    x = -1208267182, y = -1214206920, x_root = 0, y_root = 1, state = 1,
    keycode = 0, same_screen = -1215913596}, xbutton = {type = 0,
    serial = 134612992, send_event = 0, display = 0x76, window = 3070235653,
    root = 3080759936, subwindow = 3079039212, time = 3216819760,
    x = -1208267182, y = -1214206920, x_root = 0, y_root = 1, state = 1,
    button = 0, same_screen = -1215913596}, xmotion = {type = 0,
    serial = 134612992, send_event = 0, display = 0x76, window = 3070235653,
    root = 3080759936, subwindow = 3079039212, time = 3216819760,
    x = -1208267182, y = -1214206920, x_root = 0, y_root = 1, state = 1,
    is_hint = 0 '\0', same_screen = -1215913596}, xcrossing = {type = 0,
    serial = 134612992, send_event = 0, display = 0x76, window = 3070235653,
    root = 3080759936, subwindow = 3079039212, time = 3216819760,
    x = -1208267182, y = -1214206920, x_root = 0, y_root = 1, mode = 1,
    detail = 0, same_screen = -1215913596, focus = 689, state = 3079008256},
  xfocus = {type = 0, serial = 134612992, send_event = 0, display = 0x76,
    window = 3070235653, mode = -1214207360, detail = -1215928084}, xexpose = {
    type = 0, serial = 134612992, send_event = 0, display = 0x76,
    window = 3070235653, x = -1214207360, y = -1215928084,
    width = -1078147536, height = -1208267182, count = -1214206920},
  xgraphicsexpose = {type = 0, serial = 134612992, send_event = 0,
    display = 0x76, drawable = 3070235653, x = -1214207360, y = -1215928084,
    width = -1078147536, height = -1208267182, count = -1214206920,
    major_code = 0, minor_code = 1}, xnoexpose = {type = 0,
    serial = 134612992, send_event = 0, display = 0x76, drawable = 3070235653,
    major_code = -1214207360, minor_code = -1215928084}, xvisibility = {
    type = 0, serial = 134612992, send_event = 0, display = 0x76,
    window = 3070235653, state = -1214207360}, xcreatewindow = {type = 0,
    serial = 134612992, send_event = 0, display = 0x76, parent = 3070235653,
    window = 3080759936, x = -1215928084, y = -1078147536,
    width = -1208267182, height = -1214206920, border_width = 0,
    override_redirect = 1}, xdestroywindow = {type = 0, serial = 134612992,
    send_event = 0, display = 0x76, event = 3070235653, window = 3080759936},
  xunmap = {type = 0, serial = 134612992, send_event = 0, display = 0x76,
    event = 3070235653, window = 3080759936, from_configure = -1215928084},
  xmap = {type = 0, serial = 134612992, send_event = 0, display = 0x76,
    event = 30702356...

Read more...

Changed in gimp:
importance: Undecided → Low
importance: Low → Medium
Revision history for this message
Marco Rodrigues (gothicx) wrote :

It's fixed on Gutsy Beta.

Changed in gimp:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.