Bug 904 - keeps crashing with 'BadWindow (invalid Window parameter)'
Status:
RESOLVED FIXED
Component:
Core
Version:
1.9.1
Hardware:
PC Linux
Importance:
P5 normal
Target Milestone:
---
Assignee:
Rob Caelers
URL:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=575043
Depends on:
Blocks:
Reported:
Apr 4 2010 02:32:58 UTC
by:
Francois Marier
Modified:
Apr 6 2010 19:01:33 UTC
WhoWhenWhatRemovedAdded
Rob CaelersApr 6 2010 19:01:33 UTCstatusNEWRESOLVED
resolutionFIXED
Description
Francois Marier  Apr 4 2010 02:32:58 UTC
Raphael Rigo has reported the following problem on the Debian bug tracker:

"Workrave keeps crashing with the following message :

The program 'workrave' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadWindow (invalid Window parameter)'.
  (Details: serial 3085036 error_code 3 request_code 15 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 unfortunately not very easy to determine what is causing it.
Causing intense X activity seems to help (switching very fast between desktops).

Also, I tried getting a backtrace as suggested, but gdb seems unable to break
on gdk_x_error()."

I have seen similar errors, but I have never seen workrave exit. I'm not really sure what Raphael could do to trace this problem down further.

Cheers,
Francois
Comment 1
Rob Caelers  Apr 6 2010 19:01:33 UTC
The current Xorg server has the RECORD extension disabled. Without this extension, Workrave falls back to a different method for monitoring user activity. Unfortunately, this methods is less robust (I considered removing it several times already)... The best way to solve this bug is to get the RECORD extension back..

Anyways, It seems X errors were not intercepted everywhere in the code. Fixed.

(commit 76568664e53901a6a3cd0c83b3c6404b84e160be)