aMule Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

We're back! (IN POG FORM)

Author Topic: amule 2.2.2: exit with assertion fail in _XCBUnlockDisplay  (Read 5826 times)

llama

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 19
amule 2.2.2: exit with assertion fail in _XCBUnlockDisplay
« on: October 10, 2008, 06:22:41 AM »

Amule 2.2.2 on AMD64 Ubuntu pre-Intrepid (built with gcc 4.3).  I run amule in Xvnc (so if I restart X, amule is still running.)

 Amule had been running for over a day, and I'd been doing some searches and starting some new downloads.  Some downloads had also finished.  It actually exited at the moment I alt-tabbed to gvncviewer.  Probably amule got an expose event from Xvnc, at least.

Code: [Select]
amule: ../../src/xcb_lock.c:33: _XCBUnlockDisplay: Assertion `xcb_get_request_sent(dpy->xcb->connection) == dpy->request' failed
This is the first time I've ever seen an X11 library assertion failure from amule.  Google found someone else reporting that assertion fail in a Python wxGTK app:
http://www.nabble.com/GTK-dialog-crash---Ubuntu-8.04---wxPython-2.8.7.1---Py-2.5.2-td19593203.html
And the guy figured out what he could do differently in terms of order of wxGTK calls to avoid problems, so probably worth looking at.

My amule is built against libwxgtk2.8-dev version 2.8.8.0-0ubuntu1.
Logged

Stu Redman

  • Administrator
  • Hero Member
  • *****
  • Karma: 214
  • Offline Offline
  • Posts: 3739
  • Engines screaming
Re: amule 2.2.2: exit with assertion fail in _XCBUnlockDisplay
« Reply #1 on: October 12, 2008, 11:34:55 AM »

I don't think this is in any way related.
Logged
The image of mother goddess, lying dormant in the eyes of the dead, the sheaf of the corn is broken, end the harvest, throw the dead on the pyre -- Iron Maiden, Isle of Avalon

llama

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 19
Re: amule 2.2.2: exit with assertion fail in _XCBUnlockDisplay
« Reply #2 on: October 23, 2008, 11:42:00 PM »

I don't think this is in any way related.

 Yeah, I haven't looked at amule's code, so I was only hoping it might be similar.

 I've seen this same "assertion fail in _XCBUnlockDisplay" crash a couple more times.  I guess I should start running amule under gdb, since it seems to crash every couple days when I use the GUI heavily.  (not always with this, sometimes with a backtrace.  e.g. http://forum.amule.org/index.php?topic=15983.0, but they're not all like that, and some happen while I'm not touching it.)
Logged

llama

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 19
Re: amule 2.2.2: exit with assertion fail in _XCBUnlockDisplay
« Reply #3 on: October 27, 2008, 03:37:12 AM »

ok, I had this assertion failure again under gdb (after about 2.5 days of amule uptime).  amule was running inside Xvnc (so no RENDER or XRANDR extensions, in case that matters for wxgtk).  It was just sitting there showing the "messages" screen when it died, not minimized.  The left and right edges of the window were off the sides of the display, if that matters.  (that makes it easier to grab the scroll bar.)  I was hoping that leaving it on a screen with not many updates going on would be more stable, but it doesn't seem to be.

  I can get debug info from libc and the wx libraries (LD_LIBRARY_PATH=/usr/lib/debug, with *-dbg packages installed), if you want it.

 BTW, yes I'm using the Ubuntu wx packages.  I guess I can go build the upstream source (with debug info) if you still don't trust Ubuntu's wx pkgs enough to spend time debugging on this.

Code: [Select]
amule: ../../src/xcb_lock.c:33: _XCBUnlockDisplay: Assertion `xcb_get_request_sent(dpy->xcb->connection) == dpy->request' failed.

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7ff3ca897780 (LWP 32104)]
0x00007ff3c801bfd5 in raise () from /lib/libc.so.6


(gdb) thread apply all bt full  (with all the No symbol table available lines taken out.)

Thread 4 (Thread 0x40b97950 (LWP 32129)):
#0  0x00007ff3ca4a655d in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007ff3c8e17689 in wxConditionInternal::WaitTimeout () from /usr/lib/libwx_baseu-2.8.so.0
#2  0x00007ff3c8e18a12 in wxSemaphoreInternal::WaitTimeout () from /usr/lib/libwx_baseu-2.8.so.0
#3  0x00000000005d4c38 in CTimerThread::Entry (this=0x18abd40)
    at ../../src/Timer.cpp:64
        now = <value optimized out>
        sinceLast = 18446744073709551100
        timeout = 0
        evt = {<> = {<No data fields>}, <No data fields>}
        lastEvent = 1003970802
#4  0x00007ff3c8e18bfa in wxThreadInternal::PthreadStart () from /usr/lib/libwx_baseu-2.8.so.0
#5  0x00007ff3ca4a23ea in start_thread () from /lib/libpthread.so.0
#6  0x00007ff3c80cfc6d in clone () from /lib/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x41b40950 (LWP 32125)):
#0  0x00007ff3ca4a9851 in nanosleep () from /lib/libpthread.so.0
#1  0x00007ff3c8e1e8ac in wxMicroSleep () from /usr/lib/libwx_baseu-2.8.so.0
#2  0x00000000004db49a in UploadBandwidthThrottler::Entry (this=0x2a02a00)
    at ../../src/UploadBandwidthThrottler.cpp:324
        timeSinceLastLoop = 0
        minFragSize = 1300
        doubleSendSize = 2600
        bytesToSpend = 626
        sleepTime = 125
        thisLoopTick = 1003970788
        lastLoopTick = 1003970788
        realBytesToSpend = 626319
        allowedDataRate = 20480
        rememberedSlotCounter = 3
        extraSleepTime = 125
#3  0x00007ff3c8e18bfa in wxThreadInternal::PthreadStart () from /usr/lib/libwx_baseu-2.8.so.0
#4  0x00007ff3ca4a23ea in start_thread () from /lib/libpthread.so.0
#5  0x00007ff3c80cfc6d in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7ff3ca897780 (LWP 32104)):
#0  0x00007ff3c801bfd5 in raise () from /lib/libc.so.6
#1  0x00007ff3c801db43 in abort () from /lib/libc.so.6
#2  0x00007ff3c8014d49 in __assert_fail () from /lib/libc.so.6
#3  0x00007ff3c4ae5867 in ?? () from /usr/lib/libX11.so.6
#4  0x00007ff3c4abb24e in XDefineCursor () from /usr/lib/libX11.so.6
#5  0x00007ff3c75c3148 in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#6  0x00007ff3c94aaf91 in wxWindow::GTKUpdateCursor () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#7  0x00007ff3c94ef138 in wxControl::OnInternalIdle () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#8  0x00007ff3c9524e1d in wxAppBase::SendIdleEvents () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#9  0x00007ff3c9524e54 in wxAppBase::SendIdleEvents () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#10 0x00007ff3c9524e54 in wxAppBase::SendIdleEvents () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#11 0x00007ff3c95250b4 in wxAppBase::ProcessIdle () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#12 0x00007ff3c94846b4 in ?? () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#13 0x00007ff3c5a99d3b in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#14 0x00007ff3c5a9d50d in ?? () from /usr/lib/libglib-2.0.so.0
#15 0x00007ff3c5a9da3d in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#16 0x00007ff3c792a7a7 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#17 0x00007ff3c949bd08 in wxEventLoop::Run () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#18 0x00007ff3c9524eeb in wxAppBase::MainLoop () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#19 0x00007ff3c8dbf72d in wxEntry () from /usr/lib/libwx_baseu-2.8.so.0
#20 0x00000000005038d2 in main (argc=1, argv=0x7d68)
    at ../../src/amule-gui.cpp:95
No locals.


thanks.
« Last Edit: October 27, 2008, 03:42:45 AM by llama »
Logged

llama

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 19
Re: amule 2.2.2: exit with assertion fail in _XCBUnlockDisplay
« Reply #4 on: November 21, 2008, 11:27:01 PM »

I had another one of these, this time with the debug of 2.2.2 build I've been using.  The  all-threads bt full is _huge_, because of lots of local state in lots of stack frames.  I included just the thread apply all bt here.  See attached gzipped gdb log for the bt full if you want it.

Code: [Select]
amule: ../../src/xcb_lock.c:33: _XCBUnlockDisplay: Assertion `xcb_get_request_sent(dpy->xcb->connection) == dpy->request' failed.

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7ff4c0389780 (LWP 2393)]
0x00007ff4bd8f5fd5 in *__GI_raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64

# forgot to copy my frame and list commands into my text file before restarting amule and going to sleep last night:
# so I'm "faking it" for these two
(gdb) fr 7  (0x00007ff4bee8a350 in wxWindowDC::DoDrawLine (this=0x7fffc83c3b40, x1=9, y1=4, x2=43, y2=4) at ../src/gtk/dcclient.cpp:478)
void wxWindowDC::DoDrawLine( wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2 )
{
    wxCHECK_RET( Ok(), wxT("invalid window dc") );

    if (m_pen.GetStyle() != wxTRANSPARENT)
    {
if (m_window)
crashed in this-> gdk_draw_line( m_window, m_penGC, XLOG2DEV(x1), YLOG2DEV(y1), XLOG2DEV(x2), YLOG2DEV(y2) );

CalcBoundingBox(x1, y1);
CalcBoundingBox(x2, y2);
    }
}

# The rest is stuff I did copy/paste.

(gdb) p m_window
warning: can't find linker symbol for virtual table for `wxWindowDC' value
$13 = (GdkWindow *) 0x3c00ca0
(gdb) p m_penGC
warning: can't find linker symbol for virtual table for `wxWindowDC' value
$14 = (GdkGC *) 0x3004dc0
(gdb) p XLOG2DEV(x1)
warning: can't find linker symbol for virtual table for `wxWindowDC' value
warning: can't find linker symbol for virtual table for `wxWindowDC' value
warning: can't find linker symbol for virtual table for `wxDC' value
warning: can't find linker symbol for virtual table for `wxDC' value
$15 = 9
(gdb) p x1
$16 = 9
(gdb) p y1
$18 = 4
(gdb) p YLOG2DEV(y1)
warning: can't find linker symbol for virtual table for `wxWindowDC' value
 "
warning: can't find linker symbol for virtual table for `wxDC' value
 "
$19 = 4
(gdb) p XLOG2DEV
warning: can't find linker symbol for virtual table for `wxWindowDC' value
 "
 " for `wxDC' value
$20 = {wxCoord (const wxDC *, wxCoord)} 0x7ff4bee8ffd0 <wxDC::XLOG2DEV(int) const>
(gdb) p XLOG2DEV(x2)
warning: can't find linker symbol for virtual table for `wxWindowDC' value
 "
 " for `wxDC' value
 "
$21 = 43
(gdb) p x2
$22 = 43
(gdb) p YLOG2DEV(y2)
warning: can't find linker symbol for virtual table for `wxWindowDC' value
 "
 " for `wxDC' value
 "
$23 = 4
(gdb) p y2
$24 = 4


(gdb) thread apply all bt

Thread 4 (Thread 0x42628950 (LWP 3255)):
#0  0x00007ff4bff9955d in pthread_cond_timedwait@@GLIBC_2.3.2 () from /usr/lib/debug/libpthread.so.0
#1  0x00007ff4be75cfdd in wxConditionInternal::WaitTimeout (this=0x1968460, milliseconds=100) at ../src/unix/threadpsx.cpp:405
#2  0x00007ff4be75d0a9 in wxCondition::WaitTimeout (this=0x199b6b8, milliseconds=100) at ../include/wx/thrimpl.cpp:256
#3  0x00007ff4be75dd5b in wxSemaphoreInternal::WaitTimeout (this=0x199b6b0, milliseconds=100) at ../src/unix/threadpsx.cpp:552
#4  0x00007ff4be75de3f in wxSemaphore::WaitTimeout (this=0x1968df0, milliseconds=100) at ../include/wx/thrimpl.cpp:320
#5  0x000000000068e008 in CTimerThread::Entry (this=0x1968db0) at ../../src/Timer.cpp:64
#6  0x00007ff4be75ef32 in wxThreadInternal::PthreadStart (thread=0x1968db0) at ../src/unix/threadpsx.cpp:766
#7  0x00007ff4be75f092 in wxPthreadStart (ptr=0x1968db0) at ../src/unix/threadpsx.cpp:718
#8  0x00007ff4bff953ea in start_thread (arg=<value optimized out>) at pthread_create.c:297
#9  0x00007ff4bd9a9c6d in clone () from /usr/lib/debug/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x41626950 (LWP 2770)):
#0  0x00007ff4bff9c851 in nanosleep () from /usr/lib/debug/libpthread.so.0
#1  0x00007ff4be769992 in wxMicroSleep (microseconds=105000) at ../src/unix/utilsunx.cpp:191
#2  0x00007ff4be7699b0 in wxMilliSleep (milliseconds=105) at ../src/unix/utilsunx.cpp:212
#3  0x00007ff4be75cd31 in wxThread::Sleep (milliseconds=105) at ../src/unix/threadpsx.cpp:986
#4  0x0000000000559891 in UploadBandwidthThrottler::Entry (this=0x300b810) at ../../src/UploadBandwidthThrottler.cpp:324
#5  0x00007ff4be75ef32 in wxThreadInternal::PthreadStart (thread=0x300b810) at ../src/unix/threadpsx.cpp:766
#6  0x00007ff4be75f092 in wxPthreadStart (ptr=0x300b810) at ../src/unix/threadpsx.cpp:718
#7  0x00007ff4bff953ea in start_thread (arg=<value optimized out>) at pthread_create.c:297
#8  0x00007ff4bd9a9c6d in clone () from /usr/lib/debug/libc.so.6
#9  0x0000000000000000 in ?? ()
Current language:  auto; currently asm

Thread 1 (Thread 0x7ff4c0389780 (LWP 2393)):
#0  0x00007ff4bd8f5fd5 in *__GI_raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x00007ff4bd8f7b43 in *__GI_abort () at abort.c:88
#2  0x00007ff4bd8eed49 in *__GI___assert_fail (
    assertion=0x7ff4ba225db8 "xcb_get_request_sent(dpy->xcb->connection) == dpy->request",
    file=0x7ff4ba225c60 "../../src/xcb_lock.c", line=33, function=0x7ff4ba225e50 "_XCBUnlockDisplay") at assert.c:78
#3  0x00007ff4ba1b9867 in ?? () from /usr/lib/libX11.so.6
#4  0x00007ff4ba18f990 in XDrawLine () from /usr/lib/libX11.so.6
#5  0x00007ff4bce82f8f in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#6  0x00007ff4bce5822d in gdk_draw_line () from /usr/lib/libgdk-x11-2.0.so.0
#7  0x00007ff4bee8a350 in wxWindowDC::DoDrawLine (this=0x7fffc83c3b40, x1=9, y1=4, x2=43, y2=4) at ../src/gtk/dcclient.cpp:478
#8  0x00000000006c331e in CBarShader::FillRect (this=0xdb2840, dc=0x7fffc83c3b40, rectSpan=<value optimized out>, color=127,
    bFlat=<value optimized out>) at ../../src/BarShader.cpp:252
#9  0x00000000006c3b37 in CBarShader::Draw (this=0xdb2840, dc=0x7fffc83c3b40, iLeft=<value optimized out>,
    iTop=<value optimized out>, bFlat=<value optimized out>) at ../../src/BarShader.cpp:217
#10 0x00000000005f16a1 in CDownloadListCtrl::DrawFileStatusBar (this=<value optimized out>, file=0x304d040, dc=0x7fffc83c3b40,
    rect=@0x7fffc83c3d40, bFlat=false) at ../../src/DownloadListCtrl.cpp:2165
#11 0x00000000005f3d88 in CDownloadListCtrl::DrawFileItem (this=0x2eca9c0, dc=0x7fffc83c40c0, nColumn=<value optimized out>,
    rect=@0x7fffc83c3fd0, item=0x304f890) at ../../src/DownloadListCtrl.cpp:1345
#12 0x00000000005f420b in CDownloadListCtrl::OnDrawItem (this=0x2eca9c0, item=<value optimized out>, dc=0x7fffc83c40c0,
    rect=@0x7fffc83c4620, rectHL=<value optimized out>, highlighted=false) at ../../src/DownloadListCtrl.cpp:1195
#13 0x00000000006d94a0 in MuleExtern::wxListMainWindow::OnPaint (this=0x2eccba0) at ../../src/extern/wxWidgets/listctrl.cpp:2802
#14 0x00007ff4be6a0633 in wxAppConsole::HandleEvent (this=0x192c080, handler=0x2eccba0,
    func=0x6d91d0 <MuleExtern::wxListMainWindow::OnPaint(wxPaintEvent&)>, event=@0x7fffc83c4bb0) at ../src/common/appbase.cpp:322
#15 0x00007ff4be7610bc in wxEvtHandler::ProcessEventIfMatches (entry=@0xdb5ac0, handler=0x2eccba0, event=@0x7fffc83c4bb0)
    at ../src/common/event.cpp:1231
#16 0x00007ff4be763064 in wxEventHashTable::HandleEvent (this=0xdb5a80, event=@0x7fffc83c4bb0, self=0x2eccba0)
    at ../src/common/event.cpp:906
#17 0x00007ff4be76319f in wxEvtHandler::ProcessEvent (this=0x2eccba0, event=@0x7fffc83c4bb0) at ../src/common/event.cpp:1293
#18 0x00007ff4be7631d8 in wxEvtHandler::ProcessEvent (this=0x2eccfb0, event=@0x7fffc83c4bb0) at ../src/common/event.cpp:1300
#19 0x00007ff4bf00de73 in wxScrollHelperEvtHandler::ProcessEvent (this=0x2eccfb0, event=@0x7fffc83c4bb0)
    at ../src/generic/scrlwing.cpp:208
#20 0x00007ff4beeaa5c6 in wxWindow::GtkSendPaintEvents (this=0x2eccba0) at ../src/gtk/window.cpp:3878
#21 0x00007ff4beeb2324 in gtk_window_expose_callback (widget=0x2e2b490, gdk_event=0x7fffc83c51e0, win=0x2eccba0)
    at ../src/gtk/window.cpp:541
#22 0x00007ff4bd20a908 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#23 0x00007ff4bbc1e25d in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#24 0x00007ff4bbc33f5d in ?? () from /usr/lib/libgobject-2.0.so.0
#25 0x00007ff4bbc3548a in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#26 0x00007ff4bbc35b33 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#27 0x00007ff4bd30d74e in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#28 0x00007ff4bd20459d in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#29 0x00007ff4bce705b5 in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#30 0x00007ff4bce70b41 in gdk_window_process_all_updates () from /usr/lib/libgdk-x11-2.0.so.0
#31 0x00007ff4bd18c381 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#32 0x00007ff4bce5495b in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#33 0x00007ff4bb373d3b in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#34 0x00007ff4bb37750d in ?? () from /usr/lib/libglib-2.0.so.0
#35 0x00007ff4bb3776cb in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#36 0x00007ff4bd204651 in gtk_main_iteration () from /usr/lib/libgtk-x11-2.0.so.0
#37 0x00007ff4bef140b4 in wxWindow::DoPopupMenu (this=0x2ef1720, menu=0x8014700, x=483, y=446) at ../src/gtk/menu.cpp:1711
#38 0x000000000060a28b in CSharedFilesCtrl::OnRightClick (this=0x2ef0000, event=@0x7fffc83c5a60)
    at ../../src/SharedFilesCtrl.cpp:175
#39 0x00007ff4be6a0633 in wxAppConsole::HandleEvent (this=0x192c080, handler=0x2ef0000,
    func=0x609a30 <CSharedFilesCtrl::OnRightClick(wxListEvent&)>, event=@0x7fffc83c5a60) at ../src/common/appbase.cpp:322
#40 0x00007ff4be7610bc in wxEvtHandler::ProcessEventIfMatches (entry=@0xdb2fe0, handler=0x2ef0000, event=@0x7fffc83c5a60)
    at ../src/common/event.cpp:1231
#41 0x00007ff4be763064 in wxEventHashTable::HandleEvent (this=0xdb2fa0, event=@0x7fffc83c5a60, self=0x2ef0000)
    at ../src/common/event.cpp:906
#42 0x00007ff4be76319f in wxEvtHandler::ProcessEvent (this=0x2ef0000, event=@0x7fffc83c5a60) at ../src/common/event.cpp:1293
#43 0x00000000006d1645 in MuleExtern::wxListMainWindow::SendNotify (this=0x2ef1720, line=1116, command=10061,
    point=@0x7fffc83c5cd0) at ../../src/extern/wxWidgets/listctrl.cpp:2935
#44 0x00000000006d47a5 in MuleExtern::wxListMainWindow::OnMouse (this=0x2ef1720, event=@0x7fffc83c60b0)
    at ../../src/extern/wxWidgets/listctrl.cpp:3230
#45 0x00007ff4be6a0633 in wxAppConsole::HandleEvent (this=0x192c080, handler=0x2ef1720,
    func=0x6d4240 <MuleExtern::wxListMainWindow::OnMouse(wxMouseEvent&)>, event=@0x7fffc83c60b0) at ../src/common/appbase.cpp:322
#46 0x00007ff4be7610bc in wxEvtHandler::ProcessEventIfMatches (entry=@0xdb5bb0, handler=0x2ef1720, event=@0x7fffc83c60b0)
    at ../src/common/event.cpp:1231
#47 0x00007ff4be763064 in wxEventHashTable::HandleEvent (this=0xdb5a80, event=@0x7fffc83c60b0, self=0x2ef1720)
    at ../src/common/event.cpp:906
#48 0x00007ff4be76319f in wxEvtHandler::ProcessEvent (this=0x2ef1720, event=@0x7fffc83c60b0) at ../src/common/event.cpp:1293
#49 0x00007ff4be7631d8 in wxEvtHandler::ProcessEvent (this=0x2ef1b30, event=@0x7fffc83c60b0) at ../src/common/event.cpp:1300
#50 0x00007ff4bf00de73 in wxScrollHelperEvtHandler::ProcessEvent (this=0x2ef1b30, event=@0x7fffc83c60b0)
    at ../src/generic/scrlwing.cpp:208
#51 0x00007ff4beea77a4 in wxWindow::GTKProcessEvent (this=0x2ef1720, event=@0x7fffc83c60b0) at ../src/gtk/window.cpp:1433
#52 0x00007ff4beeb0d69 in gtk_window_button_press_callback (widget=0x2ecba40, gdk_event=0x593f890, win=0x2ef1720)
    at ../src/gtk/window.cpp:1632
#53 0x00007ff4bd20a908 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#54 0x00007ff4bbc1e25d in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#55 0x00007ff4bbc33f5d in ?? () from /usr/lib/libgobject-2.0.so.0
#56 0x00007ff4bbc3548a in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#57 0x00007ff4bbc35b33 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#58 0x00007ff4bd30d74e in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#59 0x00007ff4bd203273 in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
#60 0x00007ff4bd204393 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#61 0x00007ff4bce8706c in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#62 0x00007ff4bb373d3b in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#63 0x00007ff4bb37750d in ?? () from /usr/lib/libglib-2.0.so.0
#64 0x00007ff4bb377a3d in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#65 0x00007ff4bd2047a7 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#66 0x00007ff4bee93fa9 in wxEventLoop::Run (this=0x31d44a0) at ../src/gtk/evtloop.cpp:76
#67 0x00007ff4bef34b00 in wxAppBase::MainLoop (this=0x192c080) at ../src/common/appcmn.cpp:312
#68 0x00007ff4bef3489d in wxAppBase::OnRun (this=0x192c080) at ../src/common/appcmn.cpp:367
#69 0x00007ff4be6e8eee in wxEntry (argc=@0x7ff4bea11470, argv=0x1919de0) at ../src/common/init.cpp:460
#70 0x00007ff4be6e9124 in wxEntry (argc=@0x7fffc83c6974, argv=0x7fffc83c6a48) at ../src/common/init.cpp:472
#71 0x00000000005ba202 in main (argc=1, argv=0x959) at ../../src/amule-gui.cpp:95
Current language:  auto; currently c++
Logged

jpv950

  • Jr. Member
  • **
  • Karma: 2
  • Offline Offline
  • Posts: 59
Re: amule 2.2.2: exit with assertion fail in _XCBUnlockDisplay
« Reply #5 on: December 11, 2008, 04:52:40 PM »

Same crash here with SVN r9252.

Code: [Select]
amule: ../../src/xcb_lock.c:33: _XCBUnlockDisplay: Assertion `xcb_get_request_sent(dpy->xcb->connection) == dpy->request' failed.

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7f72c7cbe780 (LWP 7248)]
0x00007f72c4a78fd5 in raise () from /lib/libc.so.6
(gdb) bt
#0  0x00007f72c4a78fd5 in raise () from /lib/libc.so.6
#1  0x00007f72c4a7ab43 in abort () from /lib/libc.so.6
#2  0x00007f72c4a71d49 in __assert_fail () from /lib/libc.so.6
#3  0x00007f72c1542867 in ?? () from /usr/lib/libX11.so.6
#4  0x00007f72c151824e in XDefineCursor () from /usr/lib/libX11.so.6
#5  0x00007f72c4020148 in gdk_window_x11_set_cursor (window=0x62a7820,
    cursor=0x45aedb0)
    at /build/buildd/gtk+2.0-2.14.4/gdk/x11/gdkwindow-x11.c:2912
#6  0x00007f72c5f4ead1 in wxWindow::GTKUpdateCursor (this=0x58337a0)
    at ../src/gtk/window.cpp:3601
#7  0x00007f72c5f94e58 in wxControl::OnInternalIdle (this=0x58337a0)
    at ../src/gtk/control.cpp:371
#8  0x00007f72c5fcedcd in wxAppBase::SendIdleEvents (this=0x1cf6500,
    win=0x1c50, event=@0x6) at ../src/common/appcmn.cpp:471
#9  0x00007f72c5fcee04 in wxAppBase::SendIdleEvents (this=0x1cf6500,
    win=<value optimized out>, event=@0x7fffcfcf4df0)
    at ../src/common/appcmn.cpp:485
#10 0x00007f72c5fcee04 in wxAppBase::SendIdleEvents (this=0x1cf6500,
    win=<value optimized out>, event=@0x7fffcfcf4df0)
    at ../src/common/appcmn.cpp:485
#11 0x00007f72c5fcee04 in wxAppBase::SendIdleEvents (this=0x1cf6500,
    win=<value optimized out>, event=@0x7fffcfcf4df0)
    at ../src/common/appcmn.cpp:485
---Type <return> to continue, or q <return> to quit---
#12 0x00007f72c5fcefd4 in wxAppBase::ProcessIdle (this=0x1cf6500)
    at ../src/common/appcmn.cpp:443
#13 0x00007f72c5f21832 in wxapp_idle_callback () at ../src/gtk/app.cpp:206
#14 0x00007f72c24f6d3b in IA__g_main_context_dispatch (context=0x1cf67f0)
    at /build/buildd/glib2.0-2.18.2/glib/gmain.c:2144
#15 0x00007f72c24fa50d in g_main_context_iterate (context=0x1cf67f0, block=1,
    dispatch=1, self=<value optimized out>)
    at /build/buildd/glib2.0-2.18.2/glib/gmain.c:2778
#16 0x00007f72c24faa3d in IA__g_main_loop_run (loop=0x2d8f700)
    at /build/buildd/glib2.0-2.18.2/glib/gmain.c:2986
#17 0x00007f72c43877a7 in IA__gtk_main ()
    at /build/buildd/gtk+2.0-2.14.4/gtk/gtkmain.c:1200
#18 0x00007f72c5f3af58 in wxEventLoop::Run (this=0x2d86430)
    at ../src/gtk/evtloop.cpp:76
#19 0x00007f72c5fcecb8 in wxAppBase::MainLoop (this=0x1cf6500)
    at ../src/common/appcmn.cpp:312
#20 0x00007f72c582b8ed in wxEntry (argc=<value optimized out>,
    argv=<value optimized out>) at ../src/common/init.cpp:460
#21 0x000000000067f945 in main (argc=1, argv=0x7fffcfcf51d8)
    at amule-gui.cpp:95
(gdb) bt full
#0  0x00007f72c4a78fd5 in raise () from /lib/libc.so.6
No symbol table info available.
#1  0x00007f72c4a7ab43 in abort () from /lib/libc.so.6
No symbol table info available.
#2  0x00007f72c4a71d49 in __assert_fail () from /lib/libc.so.6
No symbol table info available.
#3  0x00007f72c1542867 in ?? () from /usr/lib/libX11.so.6
No symbol table info available.
#4  0x00007f72c151824e in XDefineCursor () from /usr/lib/libX11.so.6
No symbol table info available.
#5  0x00007f72c4020148 in gdk_window_x11_set_cursor (window=0x62a7820,
    cursor=0x45aedb0)
    at /build/buildd/gtk+2.0-2.14.4/gdk/x11/gdkwindow-x11.c:2912
impl = (GdkWindowImplX11 *) 0x62a78c0
xcursor = 6
#6  0x00007f72c5f4ead1 in wxWindow::GTKUpdateCursor (this=0x58337a0)
    at ../src/gtk/window.cpp:3601
windowsThis = {<wxBaseArrayPtrVoid> = {m_nSize = 0, m_nCount = 0,
    m_pItems = 0x0}, <No data fields>}
winThis = <value optimized out>
cursor = {<wxObject> = {_vptr.wxObject = 0x7f72c635ba70,
    static ms_classInfo = {m_className = 0x7f72c58c2a38, m_objectSize = 16,
      m_objectConstructor = 0, m_baseInfo1 = 0x0, m_baseInfo2 = 0x0,
---Type <return> to continue, or q <return> to quit---
      static sm_first = 0x7f72c66a6180, m_next = 0x7f72c5b1cd00,
      static sm_classTable = 0x1cb84d0}, m_refData = 0x2d30620},
  static ms_classInfo = {m_className = 0x7f72c60a8ed8, m_objectSize = 16,
    m_objectConstructor = 0x7f72c5f297d0 <wxCursor::wxCreateObject()>,
    m_baseInfo1 = 0x7f72c5b1cc00, m_baseInfo2 = 0x0,
    static sm_first = 0x7f72c66a6180, m_next = 0x7f72c63ab5e0,
    static sm_classTable = 0x1cb84d0}}
__FUNCTION__ = "GTKUpdateCursor"
#7  0x00007f72c5f94e58 in wxControl::OnInternalIdle (this=0x58337a0)
    at ../src/gtk/control.cpp:371
No locals.
#8  0x00007f72c5fcedcd in wxAppBase::SendIdleEvents (this=0x1cf6500,
    win=0x1c50, event=@0x6) at ../src/common/appcmn.cpp:471
needMore = <value optimized out>
#9  0x00007f72c5fcee04 in wxAppBase::SendIdleEvents (this=0x1cf6500,
    win=<value optimized out>, event=@0x7fffcfcf4df0)
    at ../src/common/appcmn.cpp:485
needMore = false
#10 0x00007f72c5fcee04 in wxAppBase::SendIdleEvents (this=0x1cf6500,
    win=<value optimized out>, event=@0x7fffcfcf4df0)
    at ../src/common/appcmn.cpp:485
needMore = false
#11 0x00007f72c5fcee04 in wxAppBase::SendIdleEvents (this=0x1cf6500,
---Type <return> to continue, or q <return> to quit---
    win=<value optimized out>, event=@0x7fffcfcf4df0)
    at ../src/common/appcmn.cpp:485
needMore = false
#12 0x00007f72c5fcefd4 in wxAppBase::ProcessIdle (this=0x1cf6500)
    at ../src/common/appcmn.cpp:443
event = {<wxEvent> = {<wxObject> = {_vptr.wxObject = 0x7f72c6359dd0,
      static ms_classInfo = {m_className = 0x7f72c58c2a38, m_objectSize = 16,
        m_objectConstructor = 0, m_baseInfo1 = 0x0, m_baseInfo2 = 0x0,
        static sm_first = 0x7f72c66a6180, m_next = 0x7f72c5b1cd00,
        static sm_classTable = 0x1cb84d0}, m_refData = 0x0},
    m_eventObject = 0x0, m_eventType = 10001, m_timeStamp = 0, m_id = 0,
    m_callbackUserData = 0x0, m_propagationLevel = 0, m_skipped = false,
    m_isCommandEvent = false, static ms_classInfo = {
      m_className = 0x7f72c58d46b0, m_objectSize = 64,
      m_objectConstructor = 0, m_baseInfo1 = 0x7f72c5b1cc00,
      m_baseInfo2 = 0x0, static sm_first = 0x7f72c66a6180,
      m_next = 0x7f72c5b1eba0, static sm_classTable = 0x1cb84d0}},
  m_requestMore = false, static sm_idleMode = wxIDLE_PROCESS_ALL,
  static ms_classInfo = {m_className = 0x7f72c60a3b08, m_objectSize = 64,
    m_objectConstructor = 0x7f72c5f13740 <wxIdleEvent::wxCreateObject()>,
    m_baseInfo1 = 0x7f72c5b1ebe0, m_baseInfo2 = 0x0,
    static sm_first = 0x7f72c66a6180, m_next = 0x7f72c63ab120,
    static sm_classTable = 0x1cb84d0}}
---Type <return> to continue, or q <return> to quit---
needMore = false
#13 0x00007f72c5f21832 in wxapp_idle_callback () at ../src/gtk/app.cpp:206
idleID_save = 37498148
moreIdles = true
#14 0x00007f72c24f6d3b in IA__g_main_context_dispatch (context=0x1cf67f0)
    at /build/buildd/glib2.0-2.18.2/glib/gmain.c:2144
No locals.
#15 0x00007f72c24fa50d in g_main_context_iterate (context=0x1cf67f0, block=1,
    dispatch=1, self=<value optimized out>)
    at /build/buildd/glib2.0-2.18.2/glib/gmain.c:2778
max_priority = 300
timeout = 0
some_ready = 1
nfds = 177
allocated_nfds = <value optimized out>
fds = (GPollFD *) 0x6622fa0
__PRETTY_FUNCTION__ = "g_main_context_iterate"
#16 0x00007f72c24faa3d in IA__g_main_loop_run (loop=0x2d8f700)
    at /build/buildd/glib2.0-2.18.2/glib/gmain.c:2986
self = (GThread *) 0x1cf7be0
__PRETTY_FUNCTION__ = "IA__g_main_loop_run"
#17 0x00007f72c43877a7 in IA__gtk_main ()
    at /build/buildd/gtk+2.0-2.14.4/gtk/gtkmain.c:1200
---Type <return> to continue, or q <return> to quit---
tmp_list = (GList *) 0x0
functions = (GList *) 0x0
init = (GtkInitFunction *) 0x2d86430
loop = <value optimized out>
#18 0x00007f72c5f3af58 in wxEventLoop::Run (this=0x2d86430)
    at ../src/gtk/evtloop.cpp:76
exitcode = <value optimized out>
__FUNCTION__ = "Run"
#19 0x00007f72c5fcecb8 in wxAppBase::MainLoop (this=0x1cf6500)
    at ../src/common/appcmn.cpp:312
mainLoop = {<wxEventLoopPtr> = {m_ptr = 0x2d86430}, m_pp = 0x1cf6578,
  m_pOld = 0x0}
#20 0x00007f72c582b8ed in wxEntry (argc=<value optimized out>,
    argv=<value optimized out>) at ../src/common/init.cpp:460
No locals.
#21 0x000000000067f945 in main (argc=1, argv=0x7fffcfcf51d8)
    at amule-gui.cpp:95
No locals.
(gdb) thread apply all bt

Thread 14 (Thread 0x46118950 (LWP 7276)):
#0  0x00007f72c78c555d in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
#1  0x00007f72c588feb9 in wxConditionInternal::WaitTimeout (
    this=<value optimized out>, milliseconds=100)
    at ../src/unix/threadpsx.cpp:405
#2  0x00007f72c5891742 in wxSemaphoreInternal::WaitTimeout (this=0x29906a0,
    milliseconds=100) at ../src/unix/threadpsx.cpp:552
#3  0x00000000007c9bef in CTimerThread::Entry (this=0x1d427f0) at Timer.cpp:64
#4  0x00007f72c58920c2 in wxThreadInternal::PthreadStart (thread=0x1d427f0)
    at ../src/unix/threadpsx.cpp:766
#5  0x00007f72c78c13ea in start_thread () from /lib/libpthread.so.0
#6  0x00007f72c4b2cc6d in clone () from /lib/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 11 (Thread 0x45917950 (LWP 7273)):
#0  0x00007f72c78c8851 in nanosleep () from /lib/libpthread.so.0
#1  0x00007f72c58988fc in wxMicroSleep (microseconds=<value optimized out>)
    at ../src/unix/utilsunx.cpp:191
#2  0x00000000005cde56 in UploadBandwidthThrottler::Entry (this=0x6c35cf0)
    at UploadBandwidthThrottler.cpp:324
#3  0x00007f72c58920c2 in wxThreadInternal::PthreadStart (thread=0x6c35cf0)
---Type <return> to continue, or q <return> to quit---
    at ../src/unix/threadpsx.cpp:766
#4  0x00007f72c78c13ea in start_thread () from /lib/libpthread.so.0
#5  0x00007f72c4b2cc6d in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 8 (Thread 0x44114950 (LWP 7267)):
#0  0x00007f72c78c555d in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
#1  0x00007f72c68b6600 in WorkerThread (arg=<value optimized out>)
    at src/ThreadPool.c:499
#2  0x00007f72c78c13ea in start_thread () from /lib/libpthread.so.0
#3  0x00007f72c4b2cc6d in clone () from /lib/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 7 (Thread 0x43913950 (LWP 7266)):
#0  0x00007f72c4b25482 in select () from /lib/libc.so.6
#1  0x00007f72c6ac335d in RunMiniServer (miniSock=0x2227fb0)
    at src/genlib/miniserver/miniserver.c:420
#2  0x00007f72c68b6975 in WorkerThread (arg=<value optimized out>)
    at src/ThreadPool.c:573
#3  0x00007f72c78c13ea in start_thread () from /lib/libpthread.so.0
#4  0x00007f72c4b2cc6d in clone () from /lib/libc.so.6
#5  0x0000000000000000 in ?? ()
---Type <return> to continue, or q <return> to quit---

Thread 6 (Thread 0x43112950 (LWP 7265)):
#0  0x00007f72c78c555d in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
#1  0x00007f72c68b6600 in WorkerThread (arg=<value optimized out>)
    at src/ThreadPool.c:499
#2  0x00007f72c78c13ea in start_thread () from /lib/libpthread.so.0
#3  0x00007f72c4b2cc6d in clone () from /lib/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x42911950 (LWP 7264)):
#0  0x00007f72c78c555d in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
#1  0x00007f72c68b6600 in WorkerThread (arg=<value optimized out>)
    at src/ThreadPool.c:499
#2  0x00007f72c78c13ea in start_thread () from /lib/libpthread.so.0
#3  0x00007f72c4b2cc6d in clone () from /lib/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x42110950 (LWP 7263)):
#0  0x00007f72c78c555d in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
#1  0x00007f72c68b749a in TimerThreadWorker (arg=<value optimized out>)
---Type <return> to continue, or q <return> to quit---
    at src/TimerThread.c:137
#2  0x00007f72c68b6975 in WorkerThread (arg=<value optimized out>)
    at src/ThreadPool.c:573
#3  0x00007f72c78c13ea in start_thread () from /lib/libpthread.so.0
#4  0x00007f72c4b2cc6d in clone () from /lib/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x41153950 (LWP 7262)):
#0  0x00007f72c78c555d in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
#1  0x00007f72c68b6600 in WorkerThread (arg=<value optimized out>)
    at src/ThreadPool.c:499
#2  0x00007f72c78c13ea in start_thread () from /lib/libpthread.so.0
#3  0x00007f72c4b2cc6d in clone () from /lib/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f72c7cbe780 (LWP 7248)):
#0  0x00007f72c4a78fd5 in raise () from /lib/libc.so.6
#1  0x00007f72c4a7ab43 in abort () from /lib/libc.so.6
#2  0x00007f72c4a71d49 in __assert_fail () from /lib/libc.so.6
#3  0x00007f72c1542867 in ?? () from /usr/lib/libX11.so.6
#4  0x00007f72c151824e in XDefineCursor () from /usr/lib/libX11.so.6
#5  0x00007f72c4020148 in gdk_window_x11_set_cursor (window=0x62a7820,
---Type <return> to continue, or q <return> to quit---
    cursor=0x45aedb0)
    at /build/buildd/gtk+2.0-2.14.4/gdk/x11/gdkwindow-x11.c:2912
#6  0x00007f72c5f4ead1 in wxWindow::GTKUpdateCursor (this=0x58337a0)
    at ../src/gtk/window.cpp:3601
#7  0x00007f72c5f94e58 in wxControl::OnInternalIdle (this=0x58337a0)
    at ../src/gtk/control.cpp:371
#8  0x00007f72c5fcedcd in wxAppBase::SendIdleEvents (this=0x1cf6500,
    win=0x1c50, event=@0x6) at ../src/common/appcmn.cpp:471
#9  0x00007f72c5fcee04 in wxAppBase::SendIdleEvents (this=0x1cf6500,
    win=<value optimized out>, event=@0x7fffcfcf4df0)
    at ../src/common/appcmn.cpp:485
#10 0x00007f72c5fcee04 in wxAppBase::SendIdleEvents (this=0x1cf6500,
    win=<value optimized out>, event=@0x7fffcfcf4df0)
    at ../src/common/appcmn.cpp:485
#11 0x00007f72c5fcee04 in wxAppBase::SendIdleEvents (this=0x1cf6500,
    win=<value optimized out>, event=@0x7fffcfcf4df0)
    at ../src/common/appcmn.cpp:485
#12 0x00007f72c5fcefd4 in wxAppBase::ProcessIdle (this=0x1cf6500)
    at ../src/common/appcmn.cpp:443
#13 0x00007f72c5f21832 in wxapp_idle_callback () at ../src/gtk/app.cpp:206
#14 0x00007f72c24f6d3b in IA__g_main_context_dispatch (context=0x1cf67f0)
    at /build/buildd/glib2.0-2.18.2/glib/gmain.c:2144
#15 0x00007f72c24fa50d in g_main_context_iterate (context=0x1cf67f0, block=1,
---Type <return> to continue, or q <return> to quit---
    dispatch=1, self=<value optimized out>)
    at /build/buildd/glib2.0-2.18.2/glib/gmain.c:2778
#16 0x00007f72c24faa3d in IA__g_main_loop_run (loop=0x2d8f700)
    at /build/buildd/glib2.0-2.18.2/glib/gmain.c:2986
#17 0x00007f72c43877a7 in IA__gtk_main ()
    at /build/buildd/gtk+2.0-2.14.4/gtk/gtkmain.c:1200
#18 0x00007f72c5f3af58 in wxEventLoop::Run (this=0x2d86430)
    at ../src/gtk/evtloop.cpp:76
#19 0x00007f72c5fcecb8 in wxAppBase::MainLoop (this=0x1cf6500)
    at ../src/common/appcmn.cpp:312
#20 0x00007f72c582b8ed in wxEntry (argc=<value optimized out>,
    argv=<value optimized out>) at ../src/common/init.cpp:460
#21 0x000000000067f945 in main (argc=1, argv=0x7fffcfcf51d8)
    at amule-gui.cpp:95
(gdb)
Logged