aMule Forum

English => Backtraces => Topic started by: phoenix on May 28, 2005, 01:07:58 AM

Title: Crash
Post by: phoenix on May 28, 2005, 01:07:58 AM
Code: [Select]
(amule:29810): GLib-WARNING **: giounix.c:399Error while getting flags for FD: Bad file descriptor (9)


(amule:29810): GLib-WARNING **: giounix.c:399Error while getting flags for FD: Bad file descriptor (9)


--------------------------------------------------------------------------------
A fatal error has occurred and aMule has crashed.
Please assist us in fixing this problem by posting the backtrace below in our
'aMule Crashes' forum and include as much information as possible regarding the
circumstances of this crash. The forum is located here:
    [URL]http://forum.amule.org/board.php?boardid=67[/URL]
If possible, please try to generate a real backtrace of this crash:
    [URL]http://www.amule.org/wiki/index.php/Backtraces[/URL]

----------------------------=| BACKTRACE FOLLOWS: |=----------------------------
Current version is: aMule CVS using wxGTK2 v2.6.0 (Unicoded) (Snapshot: 2005-05-27 12:21:24 -0300)
Running on: Linux 2.6.11-1.14_FC3 i686

[2] wxFatalSignalHandler in /usr/local/wxWidgets-cvsu/lib/libwx_baseud-2.6.so.0[0xb799009a]
[3] ?? in /lib/tls/libpthread.so.0 [0x4077c8]

--------------------------------------------------------------------------------

[2]+  Aborted                 (core dumped) LANG=en_US.UTF-8 LD_LIBRARY_PATH=/usr/local/wxWidgets-cvsu/lib/ verb-cvsu/src/amule

Not very usefull, hum? Maybe our bt code should be more relaxed about invalid frames. Not that in this case the gdb bt will be much more usefull anyway, but in other cases it could spare us some trouble.

Code: [Select]
(gdb) bt
#0  0x001a07a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1  0x001e17d5 in raise () from /lib/tls/libc.so.6
#2  0x001e3149 in abort () from /lib/tls/libc.so.6
#3  0xb79900a2 in wxFatalSignalHandler () at ./src/unix/utilsunx.cpp:1016
#4  
#5  0x00000000 in ?? ()
#6  0xb7b982f5 in _GSocket_GDK_Input (data=0x99e5460, source=331, condition=GDK_INPUT_WRITE)
    at ./src/gtk/gsockgtk.cpp:35
#7  0x00b67873 in gdk_get_show_events () from /usr/lib/libgdk-x11-2.0.so.0
#8  0x099e5460 in ?? ()
#9  0x0000014b in ?? ()
#10 0x0066d9c7 in g_vasprintf () from /usr/lib/libglib-2.0.so.0
#11 0x006497bb in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#12 0x0064b242 in g_main_context_acquire () from /usr/lib/libglib-2.0.so.0
#13 0x0064b4ef in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#14 0x00987f97 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#15 0xb7b95d67 in wxEventLoop::Run (this=0x9247308) at ./src/gtk/evtloop.cpp:80
#16 0xb7c25755 in wxAppBase::MainLoop (this=0x8666300) at ./src/common/appcmn.cpp:272
#17 0xb7c258c1 in wxAppBase::OnRun (this=0x8666300) at ./src/common/appcmn.cpp:340
#18 0xb7927fdc in wxEntry (argc=@0xbffff4d0, argv=0x8639568) at ./src/common/init.cpp:417
#19 0xb792811f in wxEntry (argc=@0xbffff4d0, argv=0xbffff554) at ./src/common/init.cpp:429
#20 0x08083863 in wxCreateApp () at amule-gui.cpp:147
#21 0x001cee23 in __libc_start_main () from /lib/tls/libc.so.6
#22 0x0806f651 in ?? () from ~/programs/amule/cvswork/verb-cvsu/src/amule
(gdb) info threads
  2 process 29813  0x001a07a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
* 1 process 29810  0x001a07a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
(gdb) thread 2
[Switching to thread 2 (process 29813)]#0  0x001a07a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
(gdb) bt
#0  0x001a07a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1  0x00406be6 in __nanosleep_nocancel () from /lib/tls/libpthread.so.0
#2  0xb798de40 in wxMicroSleep (microseconds=360000) at ./src/unix/utilsunx.cpp:175
#3  0xb798de83 in wxMilliSleep (milliseconds=360) at ./src/unix/utilsunx.cpp:196
#4  0xb798668c in wxThread::Sleep (milliseconds=360) at ./src/unix/threadpsx.cpp:973
#5  0x08250180 in UploadBandwidthThrottler::Entry (this=0x903c348) at UploadBandwidthThrottler.cpp:377
#6  0xb7985e9d in wxThreadInternal::PthreadStart (thread=0x903c348) at ./src/unix/threadpsx.cpp:763
#7  0xb7985d56 in wxPthreadStart (ptr=0x903c348) at ./src/unix/threadpsx.cpp:715
#8  0x00401341 in start_thread () from /lib/tls/libpthread.so.0
#9  0x00280fee in clone () from /lib/tls/libc.so.6

I think I won't waste your bandwidth posting bt full... I have not checked code, but could this be something related to the fact that now we have two threads (main + UBT) most of the time? Could we not be forgetting to lock a critical section? I am asking this because the crash was inside wx, not amule. Just some thoughts...

Cheers!