aMule Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

We're back! (IN POG FORM)

Pages: 1 ... 21 22 [23] 24 25 ... 37

Author Topic: RRM's epic struggle for a better aMule on high-speed connections  (Read 165747 times)

RRM

  • Sr. Member
  • ****
  • Karma: 40
  • Offline Offline
  • Posts: 444
Re: RRM's epic struggle for a better aMule on high-speed connections
« Reply #330 on: December 16, 2009, 05:02:56 PM »

Quote from: btkaos
Code: [Select]
$ sudo bash -c "ulimit -n 65536; ulimit -n; su -m -c 'ulimit -n; id -nu' \"`id -un`\""
Check that it outputs 65536 two times.

65536
65536
rrm

Quote
Then run amule using this
Code: [Select]
$ sudo bash -c "ulimit -n 65536; ulimit -n; su -m -c 'ulimit -n; gdb amule' \"`id -un`\""

done.
Rev 9901 is running again,
but shouldnt i switch to amule-stu-opt-debug?
(because of no symbol table info available)
« Last Edit: December 16, 2009, 05:17:52 PM by RRM »
Logged

Stu Redman

  • Administrator
  • Hero Member
  • *****
  • Karma: 214
  • Offline Offline
  • Posts: 3739
  • Engines screaming
Re: RRM's epic struggle for a better aMule on high-speed connections
« Reply #331 on: December 16, 2009, 05:37:53 PM »

Now - was it the version with the patched amule.cpp ?
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

RRM

  • Sr. Member
  • ****
  • Karma: 40
  • Offline Offline
  • Posts: 444
Re: RRM's epic struggle for a better aMule on high-speed connections
« Reply #332 on: December 16, 2009, 05:44:06 PM »

You may also try:

Code: [Select]
$ sudo bash -c "echo 2048 > /proc/sys/net/core/somaxconn"

When should i do this?
After aMule has crashed?
Do i need a special run-code after that?
Logged

RRM

  • Sr. Member
  • ****
  • Karma: 40
  • Offline Offline
  • Posts: 444
Re: RRM's epic struggle for a better aMule on high-speed connections
« Reply #333 on: December 16, 2009, 05:44:36 PM »

Now - was it the version with the patched amule.cpp ?

Yes...
Logged

RRM

  • Sr. Member
  • ****
  • Karma: 40
  • Offline Offline
  • Posts: 444
Re: RRM's epic struggle for a better aMule on high-speed connections
« Reply #334 on: December 16, 2009, 07:44:45 PM »

proceeded by the usual:
Code: [Select]
(amule:14755): GLib-WARNING **: /build/buildd/glib2.0-2.22.2/glib/giounix.c:406Error while getting flags for FD: Bad file descriptor (9)
aMule crashed
High VSZ

$ ps axl | grep amule
Code: [Select]
4     0 14742 14665  20   0   3980   300 wait   S+   pts/0      0:00 bash -c ulimit -n 65536; ulimit -n; su -m -c 'ulimit -n; gdb amule' "rrm"
4  1000 14743 14742  20   0   4200   576 wait   S+   pts/0      0:00 su -m -c ulimit -n; gdb amule rrm
0  1000 14752 14743  20   0   4484   296 wait   S+   pts/0      0:00 bash -c ulimit -n; gdb amule
0  1000 14753 14752  20   0  37264  4440 poll_s S+   pts/0      0:00 gdb amule
0  1000 14755 14753  20   0 3145724 2710344 ptrace Tl pts/0   119:05 /usr/local/bin/amule
0  1000 15246 15216  20   0   3036   796 pipe_w S+   pts/1      0:00 grep amule

Terminated after throwing an instance of 'std::bad_alloc'
   what(): std::bad_alloc

Terminated after throwing an instance of 'std::bad_alloc'
   what(): std::bad_alloc
* Could not get symbol names for backtrace
   backtrace:

* Could not get symbol names for backtrace
   backtrace:


Program received signal SIGABRT, Aborted.
[Switching to Thread 0xb63e5b70 (LWP 14776)]
0x00ab2422 in __kernel_vsyscall ()
(gdb) bt full
Code: [Select]
#0  0x00ab2422 in __kernel_vsyscall ()
No symbol table info available.
#1  0x005d84d1 in raise () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#2  0x005db932 in abort () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#3  0x08278df5 in OnUnhandledException() ()
No symbol table info available.
#4  0x00576415 in ?? () from /usr/lib/libstdc++.so.6
No symbol table info available.
#5  0x00576452 in std::terminate() () from /usr/lib/libstdc++.so.6
No symbol table info available.
#6  0x00576591 in __cxa_throw () from /usr/lib/libstdc++.so.6
No symbol table info available.
#7  0x00576c0f in operator new(unsigned int) () from /usr/lib/libstdc++.so.6
No symbol table info available.
#8  0x08274e3e in CTimerEvent::Clone() const ()
No symbol table info available.
#9  0x00356888 in wxEvtHandler::AddPendingEvent(wxEvent&) ()
   from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#10 0x082751e0 in CTimerThread::Entry() ()
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#11 0x00355a98 in wxThreadInternal::PthreadStart(wxThread*) ()
   from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#12 0x00355afd in wxPthreadStart () from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#13 0x00fab80e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
#14 0x0067a7ee in clone () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.

(gdb) thread apply all bt full
Code: [Select]
Thread 5 (Thread 0xb63e5b70 (LWP 14776)):
#0  0x00ab2422 in __kernel_vsyscall ()
No symbol table info available.
#1  0x005d84d1 in raise () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#2  0x005db932 in abort () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#3  0x08278df5 in OnUnhandledException() ()
No symbol table info available.
#4  0x00576415 in ?? () from /usr/lib/libstdc++.so.6
No symbol table info available.
#5  0x00576452 in std::terminate() () from /usr/lib/libstdc++.so.6
No symbol table info available.
#6  0x00576591 in __cxa_throw () from /usr/lib/libstdc++.so.6
No symbol table info available.
#7  0x00576c0f in operator new(unsigned int) () from /usr/lib/libstdc++.so.6
No symbol table info available.
#8  0x08274e3e in CTimerEvent::Clone() const ()
No symbol table info available.
#9  0x00356888 in wxEvtHandler::AddPendingEvent(wxEvent&) ()
   from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#10 0x082751e0 in CTimerThread::Entry() ()
No symbol table info available.
#11 0x00355a98 in wxThreadInternal::PthreadStart(wxThread*) ()
   from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#12 0x00355afd in wxPthreadStart () from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#13 0x00fab80e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
#14 0x0067a7ee in clone () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.

Thread 3 (Thread 0xb73e8b70 (LWP 14774)):
#0  0x080ef655 in CEMSocket::Send(unsigned int, unsigned int, bool) ()
No symbol table info available.
#1  0x080b6c44 in CClientTCPSocket::SendFileAndControlData(unsigned int, unsigned int) ()
No symbol table info available.
#2  0x0813fa58 in UploadBandwidthThrottler::Entry() ()
No symbol table info available.
#3  0x00355a98 in wxThreadInternal::PthreadStart(wxThread*) ()
   from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#4  0x00355afd in wxPthreadStart () from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#5  0x00fab80e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
#6  0x0067a7ee in clone () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.

Thread 1 (Thread 0xb7fdd760 (LWP 14755)):
#0  0x00ab2422 in __kernel_vsyscall ()
No symbol table info available.
#1  0x005d84d1 in raise () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#2  0x005db932 in abort () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#3  0x08278df5 in OnUnhandledException() ()
No symbol table info available.
#4  0x00576415 in ?? () from /usr/lib/libstdc++.so.6
No symbol table info available.
#5  0x00576452 in std::terminate() () from /usr/lib/libstdc++.so.6
No symbol table info available.
#6  0x00576591 in __cxa_throw () from /usr/lib/libstdc++.so.6
No symbol table info available.
#7  0x00576c0f in operator new(unsigned int) () from /usr/lib/libstdc++.so.6
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
#8  0x009e37f9 in wxSocketEvent::Clone() const ()
   from /usr/lib/libwx_baseu_net-2.8.so.0
No symbol table info available.
#9  0x00356888 in wxEvtHandler::AddPendingEvent(wxEvent&) ()
   from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#10 0x009e2920 in wxSocketBase::OnRequest(wxSocketNotify) ()
   from /usr/lib/libwx_baseu_net-2.8.so.0
No symbol table info available.
#11 0x009e2a14 in wx_socket_callback () from /usr/lib/libwx_baseu_net-2.8.so.0
No symbol table info available.
#12 0x009e7a8b in GSocket::Detected_Write() ()
   from /usr/lib/libwx_baseu_net-2.8.so.0
No symbol table info available.
#13 0x010f7427 in ?? () from /usr/lib/libwx_gtk2u_core-2.8.so.0
No symbol table info available.
#14 0x008a5f7c in ?? () from /usr/lib/libgdk-x11-2.0.so.0
No symbol table info available.
#15 0x069cad5b in ?? () from /lib/libglib-2.0.so.0
No symbol table info available.
#16 0x06993e78 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#17 0x06997720 in ?? () from /lib/libglib-2.0.so.0
No symbol table info available.
#18 0x06997b8f in g_main_loop_run () from /lib/libglib-2.0.so.0
No symbol table info available.
#19 0x0704a419 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
No symbol table info available.
#20 0x010f5c78 in wxEventLoop::Run() () from /usr/lib/libwx_gtk2u_core-2.8.so.0
No symbol table info available.
#21 0x01188e3e in wxAppBase::MainLoop() ()
   from /usr/lib/libwx_gtk2u_core-2.8.so.0
No symbol table info available.
#22 0x01188a31 in wxAppBase::OnRun() () from /usr/lib/libwx_gtk2u_core-2.8.so.0
No symbol table info available.
#23 0x002f17aa in wxEntry(int&, wchar_t**) ()
   from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#24 0x002f1987 in wxEntry(int&, char**) () from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#25 0x0817e3eb in main ()
No symbol table info available.
Logged

RRM

  • Sr. Member
  • ****
  • Karma: 40
  • Offline Offline
  • Posts: 444
Re: RRM's epic struggle for a better aMule on high-speed connections
« Reply #335 on: December 16, 2009, 07:51:42 PM »

So, let me switch to the debug enabled version...
Code: [Select]
$ cd /usr/local/stow
$ sudo stow -D amule-opt
$ sudo stow amule-stu-opt-debug
$ cd
$ gdb amule
(gdb) run

Yes, its working!
im running amule-stu-opt-debug now...  8)
(it said: "Reading symbols from /usr/local/stow/amule-stu-opt-debug/bin/amule...done.")
« Last Edit: December 16, 2009, 07:57:21 PM by RRM »
Logged

RRM

  • Sr. Member
  • ****
  • Karma: 40
  • Offline Offline
  • Posts: 444
Re: RRM's epic struggle for a better aMule on high-speed connections
« Reply #336 on: December 16, 2009, 09:56:56 PM »

and aMule is frozen again...
no crash yet...
but now there is...

$ ps axl | grep amule
Code: [Select]
0  1000 15304 15274  20   0  37916  2624 poll_s S+   pts/0      0:00 gdb amule
0  1000 15306 15304  20   0 3145724 2751344 ptrace Tl pts/0   127:32 /usr/local/stow/amule-stu-opt-debug/bin/amule
0  1000 15809 15779  20   0   3036   792 pipe_w S+   pts/1      0:00 grep amule

Huh?
Still no symbol table info available...

Program received signal SIGABRT, Aborted.
0x00937422 in __kernel_vsyscall ()
(gdb) bt full
Code: [Select]
#0  0x00937422 in __kernel_vsyscall ()
No symbol table info available.
#1  0x006434d1 in raise () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#2  0x00646932 in abort () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#3  0x08278df5 in OnUnhandledException() ()
No symbol table info available.
#4  0x00481415 in ?? () from /usr/lib/libstdc++.so.6
No symbol table info available.
#5  0x00481452 in std::terminate() () from /usr/lib/libstdc++.so.6
No symbol table info available.
#6  0x00481591 in __cxa_throw () from /usr/lib/libstdc++.so.6
No symbol table info available.
#7  0x00481c0f in operator new(unsigned int) () from /usr/lib/libstdc++.so.6
No symbol table info available.
#8  0x00282463 in wxObjectList::CreateNode(wxNodeBase*, wxNodeBase*, void*, wxListKey const&) () from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#9  0x00294d4b in wxListBase::Append(void*) ()
   from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#10 0x002ee8e0 in wxEvtHandler::AddPendingEvent(wxEvent&) ()
---Type <return> to continue, or q <return> to quit---
   from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#11 0x001fa920 in wxSocketBase::OnRequest(wxSocketNotify) ()
   from /usr/lib/libwx_baseu_net-2.8.so.0
No symbol table info available.
#12 0x001faa14 in wx_socket_callback () from /usr/lib/libwx_baseu_net-2.8.so.0
No symbol table info available.
#13 0x001ffa8b in GSocket::Detected_Write() ()
   from /usr/lib/libwx_baseu_net-2.8.so.0
No symbol table info available.
#14 0x00ec5427 in ?? () from /usr/lib/libwx_gtk2u_core-2.8.so.0
No symbol table info available.
#15 0x004fff7c in ?? () from /usr/lib/libgdk-x11-2.0.so.0
No symbol table info available.
#16 0x05b9fd5b in ?? () from /lib/libglib-2.0.so.0
No symbol table info available.
#17 0x05b68e78 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
No symbol table info available.
#18 0x05b6c720 in ?? () from /lib/libglib-2.0.so.0
No symbol table info available.
#19 0x05b6cb8f in g_main_loop_run () from /lib/libglib-2.0.so.0
No symbol table info available.
#20 0x06ab6419 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
#21 0x00ec3c78 in wxEventLoop::Run() () from /usr/lib/libwx_gtk2u_core-2.8.so.0
No symbol table info available.
#22 0x00f56e3e in wxAppBase::MainLoop() ()
   from /usr/lib/libwx_gtk2u_core-2.8.so.0
No symbol table info available.
#23 0x00f56a31 in wxAppBase::OnRun() () from /usr/lib/libwx_gtk2u_core-2.8.so.0
No symbol table info available.
#24 0x002897aa in wxEntry(int&, wchar_t**) ()
   from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#25 0x00289987 in wxEntry(int&, char**) () from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#26 0x0817e3eb in main ()
No symbol table info available.

(gdb) thread apply all bt full
Code: [Select]
Thread 5 (Thread 0xb63e5b70 (LWP 15324)):
#0  0x00937422 in __kernel_vsyscall ()
No symbol table info available.
#1  0x0060c829 in __lll_lock_wait () from /lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
#2  0x00607f3b in _L_lock_752 () from /lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
#3  0x00607d51 in pthread_mutex_lock () from /lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
#4  0x002ebd1d in wxMutexInternal::Lock() () from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#5  0x002ebd68 in wxMutex::Lock() () from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#6  0x002ee8c2 in wxEvtHandler::AddPendingEvent(wxEvent&) ()
   from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#7  0x082751e0 in CTimerThread::Entry() ()
No symbol table info available.
#8  0x002eda98 in wxThreadInternal::PthreadStart(wxThread*) ()
   from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#9  0x002edafd in wxPthreadStart () from /usr/lib/libwx_baseu-2.8.so.0
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
#10 0x0060580e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
#11 0x006e57ee in clone () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.

Thread 3 (Thread 0xb73e8b70 (LWP 15322)):
#0  0x00937422 in __kernel_vsyscall ()
No symbol table info available.
#1  0x0060d466 in nanosleep () from /lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
#2  0x002f33b8 in wxMicroSleep(unsigned long) ()
   from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#3  0x002f33e1 in wxMilliSleep(unsigned long) ()
   from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#4  0x002eb69d in wxThread::Sleep(unsigned long) ()
   from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#5  0x0813fe88 in UploadBandwidthThrottler::Entry() ()
No symbol table info available.
#6  0x002eda98 in wxThreadInternal::PthreadStart(wxThread*) ()
---Type <return> to continue, or q <return> to quit---
   from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#7  0x002edafd in wxPthreadStart () from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#8  0x0060580e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
#9  0x006e57ee in clone () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.

Thread 1 (Thread 0xb7fdd760 (LWP 15306)):
#0  0x00937422 in __kernel_vsyscall ()
No symbol table info available.
#1  0x006434d1 in raise () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#2  0x00646932 in abort () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#3  0x08278df5 in OnUnhandledException() ()
No symbol table info available.
#4  0x00481415 in ?? () from /usr/lib/libstdc++.so.6
No symbol table info available.
#5  0x00481452 in std::terminate() () from /usr/lib/libstdc++.so.6
No symbol table info available.
#6  0x00481591 in __cxa_throw () from /usr/lib/libstdc++.so.6
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
#7  0x00481c0f in operator new(unsigned int) () from /usr/lib/libstdc++.so.6
No symbol table info available.
#8  0x00282463 in wxObjectList::CreateNode(wxNodeBase*, wxNodeBase*, void*, wxListKey const&) () from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#9  0x00294d4b in wxListBase::Append(void*) ()
   from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#10 0x002ee8e0 in wxEvtHandler::AddPendingEvent(wxEvent&) ()
   from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#11 0x001fa920 in wxSocketBase::OnRequest(wxSocketNotify) ()
   from /usr/lib/libwx_baseu_net-2.8.so.0
No symbol table info available.
#12 0x001faa14 in wx_socket_callback () from /usr/lib/libwx_baseu_net-2.8.so.0
No symbol table info available.
#13 0x001ffa8b in GSocket::Detected_Write() ()
   from /usr/lib/libwx_baseu_net-2.8.so.0
No symbol table info available.
#14 0x00ec5427 in ?? () from /usr/lib/libwx_gtk2u_core-2.8.so.0
No symbol table info available.
#15 0x004fff7c in ?? () from /usr/lib/libgdk-x11-2.0.so.0
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
#16 0x05b9fd5b in ?? () from /lib/libglib-2.0.so.0
No symbol table info available.
#17 0x05b68e78 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
No symbol table info available.
#18 0x05b6c720 in ?? () from /lib/libglib-2.0.so.0
No symbol table info available.
#19 0x05b6cb8f in g_main_loop_run () from /lib/libglib-2.0.so.0
No symbol table info available.
#20 0x06ab6419 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
No symbol table info available.
#21 0x00ec3c78 in wxEventLoop::Run() () from /usr/lib/libwx_gtk2u_core-2.8.so.0
No symbol table info available.
#22 0x00f56e3e in wxAppBase::MainLoop() ()
   from /usr/lib/libwx_gtk2u_core-2.8.so.0
No symbol table info available.
#23 0x00f56a31 in wxAppBase::OnRun() () from /usr/lib/libwx_gtk2u_core-2.8.so.0
No symbol table info available.
#24 0x002897aa in wxEntry(int&, wchar_t**) ()
   from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#25 0x00289987 in wxEntry(int&, char**) () from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#26 0x0817e3eb in main ()
No symbol table info available.

im taking my foot off the gaspedal now...
Logged

btkaos

  • Global Moderator
  • Sr. Member
  • *****
  • Karma: 110
  • Offline Offline
  • Posts: 486
  • Kaos is infinite!
Re: RRM's epic struggle for a better aMule on high-speed connections
« Reply #337 on: December 17, 2009, 02:28:02 AM »

All right good job RRM, I keep thinking amule is using too many sockets or something like that.

I need some days so I can inspect the results and think of a solution. Certainly, knowing that with a limit of 65536 aMule crashed is not helpful :(

Try the echo 2048 thing, but I highly doubt that will solve it.

By the way, when you refer to pushing the gas pedal, care to explain the settings (max connections/sec, max connections, slot, etc...) I got a little bit confused, so if you post "working settings" and "gas pedal settings" I'd appreciatte it. Sorry for that.

Maybe STU has some other idea.

I think a good idea would be to get a core dump and analyze it, but keep in mind it has the following drawbacks:
  • Personal information about RRM will be revealed (everything that aMule knows :()
  • The core+needed libs will be about 5Gb (uncompressed)
Logged

RRM

  • Sr. Member
  • ****
  • Karma: 40
  • Offline Offline
  • Posts: 444
Re: RRM's epic struggle for a better aMule on high-speed connections
« Reply #338 on: December 17, 2009, 06:59:02 AM »

Quote
Try the echo 2048 thing, but I highly doubt that will solve it.

OK, but when?
In between crashes?
Or now, as aMule is running?
Just the echo, or something else after it (special run code?)

Quote
when you refer to pushing the gas pedal, care to explain the settings (max connections/sec, max connections, slot, etc...)
 I got a little bit confused, so if you post "working settings" and "gas pedal settings"

OK, sorry for that.
Working settings (as read in stats):
Code: [Select]
1 downloads: 1
active connections: 60
max. connections: no
peak connections: 70
average download rate 6 kB/s
average uploadsrate 1.9 MB/s

Gas pedal settings:
Code: [Select]
1 downloads: 8
active connections: 130
max. connections: no
peak connections: 195
average download rate 340 kB/s
average uploadsrate 1.9 MB/s


Quote
I think a good idea would be to get a core dump and analyze it, but keep in mind it has the following drawbacks:
  • Personal information about RRM will be revealed (everything that aMule knows :()
Sure, no problem.
You are not going to post it, right  ;)
Logged

btkaos

  • Global Moderator
  • Sr. Member
  • *****
  • Karma: 110
  • Offline Offline
  • Posts: 486
  • Kaos is infinite!
Re: RRM's epic struggle for a better aMule on high-speed connections
« Reply #339 on: December 17, 2009, 01:55:20 PM »

Quote
Try the echo 2048 thing, but I highly doubt that will solve it.

OK, but when?
In between crashes?
Or now, as aMule is running?
Just the echo, or something else after it (special run code?)
It doesn't matter, as soon as you execute it the limit will be raised.

Quote
Quote
when you refer to pushing the gas pedal, care to explain the settings (max connections/sec, max connections, slot, etc...)
 I got a little bit confused, so if you post "working settings" and "gas pedal settings"

Sorry I wasn't clear, I'm talking about the settings as you set them in the preferences panel, not as seen in the stats.

I want this exactly again in order to try to reproduce it (I got some ideas, let's see if I have time)

Quote
Quote
I think a good idea would be to get a core dump and analyze it, but keep in mind it has the following drawbacks:
  • Personal information about RRM will be revealed (everything that aMule knows :()
Sure, no problem.
You are not going to post it, right  ;)
:) All right, anyways, getting a core dump is a last-resort measure, let's see what other thinks, I wan't to investigate more the gio crashes.[/list]
« Last Edit: December 17, 2009, 01:57:50 PM by btkaos »
Logged

RRM

  • Sr. Member
  • ****
  • Karma: 40
  • Offline Offline
  • Posts: 444
Re: RRM's epic struggle for a better aMule on high-speed connections
« Reply #340 on: December 17, 2009, 06:27:57 PM »

Quote
Try the echo 2048 thing, but I highly doubt that will solve it.

done.

Quote
I'm talking about the settings as you set them in the preferences panel, not as seen in the stats.

No difference in settings between "normal" and "stepping on the gaspedal",
for both it is:
Code: [Select]
Download bandwidth limit: 3 MB/s
Upload bandwidth limit: 3 MB/s
Max sources per downloading file: 150
Max simultaneous connections: 5000
Slot allocation: 1 kB/s

When stepping on the gaspedal, i just add a few popular files for uploading
and some downloads.
After the 3rd crash of last night,
i removed those files again. aMule has not crashed since.
Logged

btkaos

  • Global Moderator
  • Sr. Member
  • *****
  • Karma: 110
  • Offline Offline
  • Posts: 486
  • Kaos is infinite!
Re: RRM's epic struggle for a better aMule on high-speed connections
« Reply #341 on: December 17, 2009, 08:54:12 PM »

Quote
Try the echo 2048 thing, but I highly doubt that will solve it.

done.

Umm, you are using 5000 simultaneous connections! Try then to raise the number in the echo up to 16384. That's a lot of connections.

Quote
Quote
I'm talking about the settings as you set them in the preferences panel, not as seen in the stats.

No difference in settings between "normal" and "stepping on the gaspedal",
for both it is:
Code: [Select]
Download bandwidth limit: 3 MB/s
Upload bandwidth limit: 3 MB/s
Max sources per downloading file: 150
Max simultaneous connections: 5000
Slot allocation: 1 kB/s

When stepping on the gaspedal, i just add a few popular files for uploading
and some downloads.
After the 3rd crash of last night,
i removed those files again. aMule has not crashed since.

Good job RRM, thanks for the information. Now I see  several scenarios you may want to try:
  • Set ulimit to 65536 and max to 16386, let's call this scenario non-limited
  • Don't se anything

All right, what I suggest is to perform the following test in the two previous scenarios: Go to preferences and adjust the number of connections in a binary search. That is to say, start with a very high value, let call it n. If amule crashes then try n/2. If it crashes then reduce it to n/4,  otherwise use middle value of n/2, n. They key point here is find what is to get near the number of connections in the preferences that make amule crash, in both scenarios.

Apart from that, when you get a crash, please send the output of the following commands:

Code: [Select]
$ cd /proc/`pidof amule`
$ ls fd | wc
$ cd net
$ cat sockstat
$ cat sockstat6
$  wc tcp tcp6 udp udp6
Note that pidof amule should return the pid number you see in ps ax, maybe you need to use pidof gdb amule. This will give us detailed information about what sockets is amule using. None of those commands will reveal personal information about you.

Thanks for your patient RRM, I'm having fun with this bug!

Logged

Stu Redman

  • Administrator
  • Hero Member
  • *****
  • Karma: 214
  • Offline Offline
  • Posts: 3739
  • Engines screaming
Re: RRM's epic struggle for a better aMule on high-speed connections
« Reply #342 on: December 17, 2009, 10:36:01 PM »

From the last backtrace it looks to me like the upload thread is posting events like mad and the main thread doesn't get along with processing them anymore (so it's not a matter of running out of sockets). I think the core timer needs some throttling although it's not a recursion problem as I thought.
Quote
Huh?
Still no symbol table info available...
Symbols are for aMule and that's all wx or library code. No problem.
Quote
Maybe STU has some other idea.
Btw - it's just "Stu" (short for "Stuart"). STU is a secure telephone unit (according to Tom Clancy novels at least...)
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

RRM

  • Sr. Member
  • ****
  • Karma: 40
  • Offline Offline
  • Posts: 444
Re: RRM's epic struggle for a better aMule on high-speed connections
« Reply #343 on: December 18, 2009, 05:15:53 PM »

Quote from: btkaos
Umm, you are using 5000 simultaneous connections! Try then to raise the number in the echo up to 16384. That's a lot of connections.

Isnt it just a setting?
5000 connections maximally
I think i never get near that number...

Quote
  • Set ulimit to 65536 and max to 16386, let's call this scenario non-limited

Huh, didnt i do th e first thing already by typing
Code: [Select]
$ sudo bash -c "ulimit -n 65536; ulimit -n; su -m -c 'ulimit -n; id -nu' \"`id -un`\""?
7500 max connections seems to be the maximum setting possible.

Quote
All right, what I suggest is to perform the following test in the two previous scenarios: Go to preferences and adjust the number of connections in a binary search. That is to say, start with a very high value, let call it n. If amule crashes then try n/2. If it crashes then reduce it to n/4,  otherwise use middle value of n/2, n. They key point here is find what is to get near the number of connections in the preferences that make amule crash, in both scenarios.

I did that already a while ago.
Only if i set the maximum connections lower than 50, it has a positive effect.
However, this even affects my single download (max connections = download + upload connections)
and of course seriously diminishes uploading (people are waiting in queue)

Quote
Apart from that, when you get a crash, please send the output of the following commands:

Code: [Select]
$ cd /proc/`pidof amule`
$ ls fd | wc
$ cd net
$ cat sockstat
$ cat sockstat6
$  wc tcp tcp6 udp udp6
Note that pidof amule should return the pid number you see in ps ax, maybe you need to use pidof gdb amule.

OK, i will.
So far, so good; aMule has not crashed for 29 hours,
so i will have to step on the gas again...

Quote
Thanks for your patient RRM, I'm having fun with this bug!

Actually, i would really like to thank you guys for your patience and help.
The pleasure is all mine and im very grateful for the time and effort that you put into this (and in developing aMule in general)
« Last Edit: December 18, 2009, 05:25:24 PM by RRM »
Logged

RRM

  • Sr. Member
  • ****
  • Karma: 40
  • Offline Offline
  • Posts: 444
Re: RRM's epic struggle for a better aMule on high-speed connections
« Reply #344 on: December 18, 2009, 05:17:02 PM »

Quote from: Stu Redman
Btw - it's just "Stu" (short for "Stuart"). STU is a secure telephone unit (according to Tom Clancy novels at least...)

 ;D
Logged
Pages: 1 ... 21 22 [23] 24 25 ... 37