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 crash #2  (Read 2108 times)

balkinrn

  • Newbie
  • Karma: 0
  • Offline Offline
  • Posts: 4
amule crash #2
« on: March 01, 2006, 03:45:13 AM »

Almost the same bug as before. I guess I was trying to switch to the amule window by double clicking its icon in the docker. It didn't yield any result, so I clicked the amule icon in the xfce4-iconbox and saw an empty window. So it's another amule crash, and here's its backtrace:

Most of the crashes came from ::DrawCell functions, could this be a thread synchronization issue?
Could this be a bug in wxWindows (or bug caused by -O3 for wxWindows)?

[New Thread -1320801360 (LWP 7480)]
[Thread -1320801360 (zombie) exited]
[New Thread -1329194064 (LWP 10882)]
[Thread -1329194064 (zombie) exited]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1222027584 (LWP 420)]
0x0806cbc9 in wxStringBase::size (this=0x94deb14) at string.h:367
367       size_type size() const { return GetStringData()->nDataLength; }
(gdb) bt full
#0  0x0806cbc9 in wxStringBase::size (this=0x94deb14) at string.h:367
No locals.
#1  0x0806cba3 in wxStringBase::empty (this=0x94deb14) at string.h:377
No locals.
#2  0x0806d4cd in wxString::IsEmpty (this=0x94deb14) at string.h:691
No locals.
#3  0x08181adf in CUpDownClient::GetScore (this=0x94dea98, sysvalue=false, isdownloading=false,
    onlybasevalue=true) at UploadClient.cpp:84
        pFile = (const class CKnownFile *) 0xbfc42d48
        filepriority = 0
        fBaseValue = -1.53264046
        modif = 4.05716686e-34
#4  0x08217c5b in CQueuedView::DrawCell (client=0x94dea98, column=4, dc=0x8708e20, rect=@0xbfc42df0)
    at ClientListCtrl.cpp:838
        buffer = { = {static npos = 4294967295, m_pchData = 0xb7b369ac}, }
#5  0x08215ef8 in CClientListCtrl::OnDrawItem (this=0x8d3ca98, item=2, dc=0x8708e20, rect=@0xbfc42ec0,
    rectHL=@0xbfc42ed0, highlighted=true) at ClientListCtrl.cpp:489
        clipper = {m_dc = @0x8708e20}
        width = 54
        i = 4
        client = (CUpDownClient *) 0x94dea98
        cur_rect = {x = 503, y = 0, width = 46, height = 20}
        view = (const ClientListView &) @0x8706760: {m_title = { = {static npos = 4294967295,
      m_pchData = 0x872355c}, },
  m_init = 0x821756c ,
  m_draw = 0x8217b3c ,
  m_sort = 0x8218022 }
#6  0x08343c37 in MuleExtern::wxListMainWindow::OnPaint (this=0x8d3d968) at listctrl.cvs.cpp:2618
        rect = {x = 0, y = 0, width = 1089, height = 20}
        highl = {x = 0, y = 0, width = 1089, height = 20}
        line = 2
        dbDC =
        buffer =
        visibleTo = 4
        rectLine = {x = 1, y = 40, width = 1089, height = 20}
        xOrig = 0
        lineHeight = 20
        visibleFrom = 0
        yOrig = 0
        after = {x = 1, y = 4260, width = 1121, height = 20}
        width = -1219933968
---Type to continue, or q to quit---
        height = -1220208583
        dc =
        dev_x = 0
        dev_y = 0
#7  0xb7a79d96 in wxAppConsole::HandleEvent () from /usr/lib/libwx_baseu-2.6.so.0
No symbol table info available.
#8  0xb7b0f4fb in wxEvtHandler::ProcessEventIfMatches () from /usr/lib/libwx_baseu-2.6.so.0
No symbol table info available.
#9  0xb7b0f7c0 in wxEventHashTable::HandleEvent () from /usr/lib/libwx_baseu-2.6.so.0
No symbol table info available.
#10 0xb7b10429 in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
No symbol table info available.
#11 0xb7cbe464 in wxWindow::GtkSendPaintEvents () from /usr/lib/libwx_gtk2u_core-2.6.so.0
No symbol table info available.
#12 0xb7cbe75f in wxWindow::GtkSendPaintEvents () from /usr/lib/libwx_gtk2u_core-2.6.so.0
No symbol table info available.
#13 0xb773c22b in gtk_marshal_VOID__UINT_STRING () from /usr/lib/libgtk-x11-2.0.so.0
No symbol table info available.
#14 0x08d358bc in ?? ()
No symbol table info available.
#15 0xbfc438d0 in ?? ()
No symbol table info available.
#16 0x08d3d968 in ?? ()
No symbol table info available.
#17 0xb74db668 in ?? () from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#18 0x00000000 in ?? ()
No symbol table info available.

(gdb) thread apply all bt

Thread 5 (Thread -1267295312 (LWP 428)):
#0  0xffffe410 in __kernel_vsyscall ()
#1  0x46c3105c in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/tls/libpthread.so.0
#2  0xb7b0c17b in wxConditionInternal::WaitTimeout () from /usr/lib/libwx_baseu-2.6.so.0
#3  0xb7b0c1e3 in wxCondition::WaitTimeout () from /usr/lib/libwx_baseu-2.6.so.0
#4  0xb7b0c672 in wxSemaphoreInternal::WaitTimeout () from /usr/lib/libwx_baseu-2.6.so.0
#5  0xb7b0eb63 in wxSemaphore::WaitTimeout () from /usr/lib/libwx_baseu-2.6.so.0
#6  0x082b94a3 in CTimerThread::Entry (this=0x8891e48) at Timer.cpp:63
#7  0xb7b0db31 in wxThreadInternal::PthreadStart () from /usr/lib/libwx_baseu-2.6.so.0
#8  0xb7b0dbab in wxPthreadStart () from /usr/lib/libwx_baseu-2.6.so.0
#9  0x46c2ec0b in start_thread () from /lib/tls/libpthread.so.0
#10 0x46ac4ebe in clone () from /lib/tls/libc.so.6

Thread 2 (Thread -1242117200 (LWP 424)):
#0  0xffffe410 in __kernel_vsyscall ()
#1  0x46c33f26 in __nanosleep_nocancel () from /lib/tls/libpthread.so.0
#2  0xb7b13459 in wxMicroSleep () from /usr/lib/libwx_baseu-2.6.so.0
#3  0xb7b1347f in wxMilliSleep () from /usr/lib/libwx_baseu-2.6.so.0
#4  0xb7b0cd2b in wxThread::Sleep () from /usr/lib/libwx_baseu-2.6.so.0
#5  0x0817606d in UploadBandwidthThrottler::Entry (this=0x8da5ff0) at UploadBandwidthThrottler.cpp:319
#6  0xb7b0db31 in wxThreadInternal::PthreadStart () from /usr/lib/libwx_baseu-2.6.so.0
#7  0xb7b0dbab in wxPthreadStart () from /usr/lib/libwx_baseu-2.6.so.0
#8  0x46c2ec0b in start_thread () from /lib/tls/libpthread.so.0
#9  0x46ac4ebe in clone () from /lib/tls/libc.so.6

Thread 1 (Thread -1222027584 (LWP 420)):
#0  0x0806cbc9 in wxStringBase::size (this=0x94deb14) at string.h:367
#1  0x0806cba3 in wxStringBase::empty (this=0x94deb14) at string.h:377
#2  0x0806d4cd in wxString::IsEmpty (this=0x94deb14) at string.h:691
#3  0x08181adf in CUpDownClient::GetScore (this=0x94dea98, sysvalue=false, isdownloading=false,
    onlybasevalue=true) at UploadClient.cpp:84
#4  0x08217c5b in CQueuedView::DrawCell (client=0x94dea98, column=4, dc=0x8708e20, rect=@0xbfc42df0)
    at ClientListCtrl.cpp:838
#5  0x08215ef8 in CClientListCtrl::OnDrawItem (this=0x8d3ca98, item=2, dc=0x8708e20, rect=@0xbfc42ec0,
    rectHL=@0xbfc42ed0, highlighted=true) at ClientListCtrl.cpp:489
#6  0x08343c37 in MuleExtern::wxListMainWindow::OnPaint (this=0x8d3d968) at listctrl.cvs.cpp:2618
#7  0xb7a79d96 in wxAppConsole::HandleEvent () from /usr/lib/libwx_baseu-2.6.so.0
#8  0xb7b0f4fb in wxEvtHandler::ProcessEventIfMatches () from /usr/lib/libwx_baseu-2.6.so.0
#9  0xb7b0f7c0 in wxEventHashTable::HandleEvent () from /usr/lib/libwx_baseu-2.6.so.0
#10 0xb7b10429 in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.6.so.0
---Type to continue, or q to quit---
#11 0xb7cbe464 in wxWindow::GtkSendPaintEvents () from /usr/lib/libwx_gtk2u_core-2.6.so.0
#12 0xb7cbe75f in wxWindow::GtkSendPaintEvents () from /usr/lib/libwx_gtk2u_core-2.6.so.0
#13 0xb773c22b in gtk_marshal_VOID__UINT_STRING () from /usr/lib/libgtk-x11-2.0.so.0
#14 0x08d358bc in ?? ()
#15 0xbfc438d0 in ?? ()
#16 0x08d3d968 in ?? ()
#17 0xb74db668 in ?? () from /usr/lib/libgobject-2.0.so.0
#18 0x00000000 in ?? ()

Also, I've read some other bug reports, and I'm going trying recompiling wxWindows with less 'aggressive' CFLAGS,.
Right now, i was using these (from my make.conf - gentoo):
CFLAGS="-march=athlon-tbird -mtune=athlon-tbird -O3 -pipe -fomit-frame-pointer -fno-stack-protector -fno-stack-protector-all -mmmx -m3dnow"
CXXFLAGS="${CFLAGS}"

baron@baron ~ $ wx-config --cxxflags
-I/usr/lib/wx/include/gtk2-unicode-release-2.6 -I/usr/include/wx-2.6 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D_LARGEFILE_SOURCE=1 -DNO_GCC_PRAGMA
« Last Edit: March 01, 2006, 03:45:52 AM by balkinrn »
Logged