Bug 438296 - xchat quits unexpectedly (X Window System error, BadRequest BadDrawable)
xchat quits unexpectedly (X Window System error, BadRequest BadDrawable)
Status: CLOSED DUPLICATE of bug 282691
Product: Fedora
Classification: Fedora
Component: xchat (Show other bugs)
8
i386 Linux
medium Severity medium
: ---
: ---
Assigned To: Christopher Aillon
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2008-03-20 05:20 EDT by Dave Russell
Modified: 2008-04-28 13:28 EDT (History)
6 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2008-04-28 13:28:21 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Dave Russell 2008-03-20 05:20:55 EDT
+++ This bug was initially created as a clone of Bug #282691 +++

Description of problem:

For the history of the problem, please, refer to "Bugzilla Bug 277941":

   https://bugzilla.redhat.com/show_bug.cgi?id=277941

I'm having similar problems not only with xchat, but anyway I had to start from
somewhere.
Well... last two or three days I've been using my xchat from under gdb, hoping
to catch some proof about existing of my problems  :)

Today it's happened.
I'm attaching the output from gdb.
And I'm ready to continue doing something in order to find what causes my
problems... (I'll be away for about a week, although. But later I'll be
available for continuing.)

I included in the attachment all I thought might be significant, but please
don't make fun of me: I know almost nothing about gdb for now :)

It seems, the most significant part of the attachment is this:
===
The program 'xchat' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadRequest (invalid request code or no such operation)'.
  (Details: serial 8430999 error_code 1 request_code 0 minor_code 0)
[...]
Program exited with code 01.
No registers.
(gdb)
===

Two words about how my xchat crashed...
I was dragging the scrollbar of xchat window up and down, up and down, up and
down...    :)
In the middle of such move the xchat window suddenly disappeared -- that's all.
I got (in gdb terminal window) that messages about "X Window System error".


Version-Release number of selected component (if applicable):

   xchat-2.6.6-4.fc6.src.rpm


How reproducible:

As you can see from timestamps (in the attachment), it's somewhat hard to
reproduce. Unpredictable, it seems.
  
Actual results:

Process dies, window disappears.

-- Additional comment from mivael@aval.ua on 2007-09-07 12:35 EST --
Created an attachment (id=190141)
gdb: xchat received an X Window System error: BadRequest


-- Additional comment from kevin@tigcc.ticalc.org on 2007-09-10 15:02 EST --
Can you please try running:
gdb --args xchat --sync
so we get a real backtrace?

-- Additional comment from mivael@aval.ua on 2007-09-18 07:22 EST --
Okay, I'll try.

I think we'll get the backtrace in a day or so...

-- Additional comment from mivael@aval.ua on 2007-09-21 15:02 EST --
xchat still works without crashing (with --sync option)... I'm still waiting...

By the way, thunderbird shows similar error when it crashes (Bug 301051).

-- Additional comment from mivael@aval.ua on 2007-09-24 11:31 EST --
Created an attachment (id=204261)
xchat --sync crashed

My xchat crashed today. Now with "--sync" option. gdb output is in the
attachment.
But I don't see any significant difference between this gdb output and the
previous one.

I guess I had to use gdb break points mechanism to get the stack trace?

Well... now I'm debugging my xchat again, with the break point arranged. I hope
it'll work and we'll have the stack trace. What I'm doing now is this:

$ gdb --args xchat --sync
[...]
(gdb) set height 0
(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/xchat --sync
[...]


-- Additional comment from kevin@tigcc.ticalc.org on 2007-09-24 11:37 EST --
Is the pending breakpoint ever getting resolved? (That should happen shortly 
after the "Starting program" line.) If it is, it should work, if it's not, then 
it won't.

-- Additional comment from kevin@tigcc.ticalc.org on 2007-09-24 11:39 EST --
Moreover, installing some -debuginfo packages (before you start gdb) should 
result in a more useful backtrace, I guess at least gtk2-debuginfo and 
xchat-debuginfo would be useful.

-- Additional comment from mivael@aval.ua on 2007-09-25 03:19 EST --
(In reply to comment #6)
>
> Is the pending breakpoint ever getting resolved?

It seems it is not. These are examples of all kinds of messages, that follows
the "starting program" one:

   (no debugging symbols found)
   [Thread debugging using libthread_db enabled]
   [New Thread -1208805696 (LWP 9365)]

Those are all kinds for now.

> If it is, it should work, if it's not, then it won't.

Do I have the pending breakpoint resolved if I will install gtk2-debuginfo and
xchat-debuginfo packages?

If not then what I have to do to make gdb resolve that breakpoint?

-- Additional comment from kevin@tigcc.ticalc.org on 2007-09-25 09:35 EST --
> Do I have the pending breakpoint resolved if I will install gtk2-debuginfo
> and xchat-debuginfo packages?

Maybe. Please try it.

-- Additional comment from mivael@aval.ua on 2007-09-25 10:56 EST --
Created an attachment (id=205571)
starting to debug with debuginfo -- the breakpoint resolved

Okay, I'm trying now.
I've updated the gtk2 package and installed -debuginfo packages for xchat and
gtk2.
That helped in resolving the breakpoint.

Now I'm waiting for the moment when the breakpoint triggers.

-- Additional comment from mivael@aval.ua on 2007-10-08 06:12 EST --
Created an attachment (id=219521)
backtrace caught at gdk_x_error()

It's happened. Here is the backtrace at gdk_x_error(), just before xchat exits
with "BadRequest" error message.

Meanwhile, I recently created a new bug, with libX11 as a component:

   Bug 318561

I'm not sure libX11 is the source of my problems, but it might be.

-- Additional comment from kanarip@kanarip.com on 2007-12-28 15:09 EST --
This happens again in rawhide (xchat-2.8.4-9.fc9):

[jmeeuwen@elwood ~]$ xchat
The program 'xchat' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadPixmap (invalid Pixmap parameter)'.
  (Details: serial 22185 error_code 4 request_code 54 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.)


-- Additional comment from drussell@redhat.com on 2008-03-19 10:34 EST --
It's also present in F8, I haven't seen this behavior in F7.

$ xchat

Gdk-ERROR **: The program 'xchat' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadDrawable (invalid Pixmap or Window parameter)'.
  (Details: serial 2046495 error_code 9 request_code 146 minor_code 5)
  (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.)
aborting...

(process:5221): Gdk-ERROR (recursed) **: The program 'xchat' received an X
Window System error.
This probably reflects a bug in the program.
The error was 'BadDrawable (invalid Pixmap or Window parameter)'.
  (Details: serial 2046496 error_code 9 request_code 14 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.)
aborting...
Aborted

I'm maybe seeing it crash once a day on average, maybe a bit longer.

-- Additional comment from kevin@tigcc.ticalc.org on 2008-03-19 20:00 EST --
I think this isn't a bug in XChat itself, but in one of the libraries. The 
backtrace shows calls from XChat to GTK to GDK to Pango to Cairo to X11 and 
only there it crashes, and the only XChat code involved in the backtrace is the 
one starting the main event loop.
Comment 1 Dave Russell 2008-03-25 11:35:07 EDT
Gdk-ERROR **: The program 'xchat' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadDrawable (invalid Pixmap or Window parameter)'.
  (Details: serial 5086466 error_code 9 request_code 146 minor_code 5)
  (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.)
aborting...

Program received signal SIGABRT, Aborted.
[Switching to Thread -1209009376 (LWP 3170)]
0x00110402 in __kernel_vsyscall ()
Saved corefile core.3170

Corefile to follow
Comment 2 Dave Russell 2008-03-25 12:15:10 EDT
Unfortunately the core file, generated using the method below, even when
compressed is a little over 21MB, so I'll leave it that the core file is
available from me upon application, I'll put it up on some web space somewhere
to anyone able to use it to debug.

# ulimit -c unlimited
# gdb -x xchat-crash -batch xchat

Where the script xchat-crash contains:

set args "--sync"
run
generate-core-file
Comment 3 Kevin Fenzi 2008-04-28 13:18:17 EDT
After a reboot today with rawhide I am seeing the same thing. 
It's not sporadic tho, it's happening every time I try and run xchat. ;( 

Comment 4 Kevin Fenzi 2008-04-28 13:19:19 EDT
The program 'xchat' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadPixmap (invalid Pixmap parameter)'.
  (Details: serial 987 error_code 4 request_code 54 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 can gather the above debugging if you like. Or does this look like a different
bug in rawhide?
Comment 5 Kevin Kofler 2008-04-28 13:27:50 EDT
This may or may not be the same bug.
Also note that this is the F8 clone of bug 282691 which has been filed against 
Rawhide. I don't think those clones are really useful, I'm going to close this 
as a duplicate.
Comment 6 Kevin Kofler 2008-04-28 13:28:21 EDT
Let's stop the attack of the clones. ;-)

*** This bug has been marked as a duplicate of 282691 ***

Note You need to log in before you can comment on or make changes to this bug.