Epiphany fails to start with a "drawable is not a pixmap or window" error

Bug #438463 reported by José Alburquerque
20
This bug affects 4 people
Affects Status Importance Assigned to Milestone
libcanberra (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Binary package hint: epiphany-webkit

Trying to startup epiphany, the "Recover previous session" dialog comes up. When I select recover, it crashes with the following error:

[05:28][jose@sweety: ~]$ epiphany

(epiphany-browser:3707): Gdk-WARNING **: /build/buildd/gtk+2.0-2.18.0/gdk/x11/gdkdrawable-x11.c:952 drawable is not a pixmap or window
The program 'epiphany-browser' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadWindow (invalid Window parameter)'.
  (Details: serial 636 error_code 3 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.)

For some reason, the crash is not being caught by apport (maybe because I canceled the last crash which timed out when uploaded?).

The crash makes epipahy useless on this system.

ProblemType: Bug
Architecture: amd64
Date: Mon Sep 28 19:41:55 2009
DistroRelease: Ubuntu 9.10
NonfreeKernelModules: nvidia
Package: epiphany-webkit 2.27.92-2ubuntu2
ProcEnviron:
 PATH=(custom, user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.31-11.36-generic
SourcePackage: epiphany-webkit
Uname: Linux 2.6.31-11-generic x86_64

Revision history for this message
José Alburquerque (jaalburquerque) wrote :
Revision history for this message
Alexander Sack (asac) wrote :

do you try to recover from a previous crash? that would mean you will crash again as it opens the same crashy page. Is it a specific page? If so, which one?

Changed in epiphany-webkit (Ubuntu):
status: New → Incomplete
Revision history for this message
José Alburquerque (jaalburquerque) wrote :

Even when I don't recover, the crash persists (see the attached video).

Revision history for this message
Taylor "Ripps" LeMasurier-Wren (ripps818) wrote :

I'm getting this error as well.

Revision history for this message
Alexander Sack (asac) wrote :

what video driver are you using? can you try to use a free driver rather than nvidia (e.g. nv)?

Revision history for this message
José Alburquerque (jaalburquerque) wrote :

I tried with the vesa driver and the error persists. The error seems to be implying that a window is being used before it is fully realized. It's hard to deduce anything more from the error message. It doesn't make a difference if I recover or not.

Revision history for this message
José Alburquerque (jaalburquerque) wrote :

As a workaround, by deleting all the "session_gnome*" files in ~/.gnome2/epiphany, I got epiphany to start. My session is gone, but at least now it runs again.

Revision history for this message
Taylor "Ripps" LeMasurier-Wren (ripps818) wrote :

Jose'
I followed your advice, but my epiphany still crashed in the same manner.
Then I deleted session-crashed.xml, and it worked for a little while, and then it crashed again.

Revision history for this message
José Alburquerque (jaalburquerque) wrote :

Then it obviously remains a bug. I remember writing a small app using gktmm and experiencing a similar bug recently. In my case it was related to attempting to use a window that was not fully realized. Maybe the upstream developers can be made aware of this so that they could possibly debug it.

Revision history for this message
Francis Whittle (fudje) wrote :

I have a similar (more or less identical, actually) problem on Debian/sid (with many different combinations of webkit and epiphany, including several git revisions). Specifically removing session-crashed.xml works around it (this is undesirable in many cases though). Reproduceable on both ATi Catalyst and the free drivers.

Interesting thing about this one, breaking on gdk_x_error is ineffective (with or without --sync command line). Don't know if that's something peculiar at my end or not.

Revision history for this message
Francis Whittle (fudje) wrote :

Alright, seeing as how I couldn't get a backtrace on gdk_x_error I've done as best I can and instead put a break in at the GDK Warning immediately before hand. If I step through from this point the BadWindow error is raised as soon as gdk_x11_drawable_get_xid return. Backtrace:

Breakpoint 2, IA__gdk_x11_drawable_get_xid (drawable=0x0)
    at /tmp/buildd/gtk+2.0-2.18.2/gdk/x11/gdkdrawable-x11.c:952
952 /tmp/buildd/gtk+2.0-2.18.2/gdk/x11/gdkdrawable-x11.c: No such file or directory.
 in /tmp/buildd/gtk+2.0-2.18.2/gdk/x11/gdkdrawable-x11.c
(gdb) bt
#0 IA__gdk_x11_drawable_get_xid (drawable=0x0)
    at /tmp/buildd/gtk+2.0-2.18.2/gdk/x11/gdkdrawable-x11.c:952
#1 0x00007fffe83f4b15 in window_is_xembed () at canberra-gtk-module.c:371
#2 dispatch_sound_event () at canberra-gtk-module.c:436
#3 dispatch_queue () at canberra-gtk-module.c:794
#4 0x00007fffe83f51d3 in idle_cb (userdata=0x0) at canberra-gtk-module.c:802
#5 0x00007ffff495a847 in gdk_threads_dispatch (data=0x81f100)
    at /tmp/buildd/gtk+2.0-2.18.2/gdk/gdk.c:506
#6 0x00007ffff1e7512a in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#7 0x00007ffff1e78988 in ?? () from /lib/libglib-2.0.so.0
#8 0x00007ffff1e78e5d in g_main_loop_run () from /lib/libglib-2.0.so.0
#9 0x00007ffff4d24c07 in IA__gtk_main ()
    at /tmp/buildd/gtk+2.0-2.18.2/gtk/gtkmain.c:1216
#10 0x0000000000432ca4 in main (argc=1, argv=0x7fffffffe918) at ephy-main.c:782

Could be insufficient checking in libcanberra?

Revision history for this message
Francis Whittle (fudje) wrote :

Apologies for the bug spam.

I can work around the issue by doing an ‘apt-get remove libcanberra-gtk-module’ – I'm currently investigating the offending procedure in that library; Will file a bug upstream when I find something.

José and/or Taylor, can you confirm whether removing libcanberra-gtk-module "fixes" it for you?

Cheers.

Revision history for this message
José Alburquerque (jaalburquerque) wrote :

I can confirm that it allows epiphany to startup fine. This bug reappeared after I had worked around it and without the libcanberra-gtk-module package it does indeed start up. The following warning is generated but it looks like it's because I started epiphany with the package installed to confirm that I got the 'Bad Window' error (which I did) and then uninstalled the package to then run epiphany which did start up:

Gtk-Message: Failed to load module "canberra-gtk-module": libcanberra-gtk-module.so: cannot open shared object file: No such file or directory

Revision history for this message
Francis Whittle (fudje) wrote :

The module warning is harmless, just means you won't be getting any sound events from libcanberra.

Well I produced a fix for the problem, then checked libcanberra git, where I discovered that filing a bug on it is pointless, as this has already been fixed upstream.
See: http://git.0pointer.de/?p=libcanberra.git;a=commit;h=ed6f221e617537b1901211d41c0bd8018739e814

Revision history for this message
Francis Whittle (fudje) wrote :

(To clarify: that's not my fix, it was just there when I double checked before filing)

Revision history for this message
José Alburquerque (jaalburquerque) wrote :

Yes. They were doing the same thing I did in the small app I mentioned that caused it to crash.

Revision history for this message
Alexander Sack (asac) wrote :

fix committed upstream.

affects: epiphany-webkit (Ubuntu) → libcanberra (Ubuntu)
Changed in libcanberra (Ubuntu):
status: Incomplete → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package libcanberra - 0.15-0ubuntu7

---------------
libcanberra (0.15-0ubuntu7) karmic; urgency=low

  * 0017-gtk-verify-that-a-widget-is-realized-before-we-try-t.patch: Pull
    from upstream git head. (LP: #438463)

 -- Luke Yelavich <email address hidden> Thu, 08 Oct 2009 09:58:18 +1100

Changed in libcanberra (Ubuntu):
status: Fix Committed → 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.