assert "m_fd != INVALID_SOCKET" failed in OnReadWaiting(): invalid socket ready for reading? #14

Closed
biergaizi opened this Issue Aug 29, 2016 · 11 comments

Comments

Projects
None yet
5 participants
Contributor

biergaizi commented Aug 29, 2016

Symptom

I'm trying to update the ebuild for amule-dlp in microcai/gentoo-zh in order to keep up with the latest version, and migrate to WxWidget 3.0, nevertheless, the results were many crashes.

Steps to Reproduce:

  1. Compile a aMule-DLP with debug symbols and the debug build option.
  2. rm -rf ~/.aMule to clear any configuration
  3. Start this new amule, amule reports the server list is empty and provide an option to update servers list.
  4. Click Update to update servers lists.
  5. aMule triggers an AssertionError before the list downloading is completed.

Backtrace

Assertion failed: /mnt/compile/compile/portage/x11-libs/wxGTK-3.0.2.0-r3/work/wxPython-src-3.0.2.0/src/unix/sockunix.cpp:OnReadWaiting:143: Assertion 'm_fd != INVALID_SOCKET' failed. invalid socket ready for reading?
Backtrace follows:
[3] wxOnAssert(char const*, int, char const*, char const*, char const*) in /usr/lib64/libwx_baseu-3.0.so.0[0x7b704ec83a46]
[4] ?? in /usr/lib64/libwx_baseu_net-3.0.so.0[0x7b704f12fa9e]
[5] ?? in /usr/lib64/libwx_gtk2u_core-3.0.so.0[0x7b704f5d3478]
[6] g_main_context_dispatch in /usr/lib64/libglib-2.0.so.0[0x7b704c805b0a]
[7] ?? in /usr/lib64/libglib-2.0.so.0[0x7b704c805eb8]
[8] g_main_loop_run in /usr/lib64/libglib-2.0.so.0[0x7b704c806352]
[9] gtk_main in /usr/lib64/libgtk-x11-2.0.so.0[0x7b704d5e86b7]
[10] wxGUIEventLoop::DoRun() in /usr/lib64/libwx_gtk2u_core-3.0.so.0[0x7b704f5c9f1d]
[11] wxEventLoopBase::Run() in /usr/lib64/libwx_baseu-3.0.so.0[0x7b704eccca83]
[12] wxAppConsoleBase::MainLoop() in /usr/lib64/libwx_baseu-3.0.so.0[0x7b704ec89415]
[13] wxEntry(int&, wchar_t**) in /usr/lib64/libwx_baseu-3.0.so.0[0x7b704ed24348]
[14] ?? in amule[0x58695746651]
[15] __libc_start_main in /lib64/libc.so.6[0x7b704dd917cc]
[16] ?? in amule[0x5869575a249]
Contributor

biergaizi commented Aug 29, 2016

References

There are multiple links indicate that it may be a bug in aMule:

But shouldn't it get fixed years ago? Maybe something was overlooked?

Owner

persmule commented Aug 29, 2016

body p { margin-bottom: 0cm; margin-top: 0pt; } 


Hi, Tom,

  In reality the official amule now uses Boost.Asio to manage
  network connections, rather than wx itself, but I forgot to update
  the wiki.

  Now the wiki gets updated. and you should build amule against
  libboost and try again.

  Persmule

  在 2016年08月30日 05:15, Tom Li 写道:


  Symptom
  I'm trying to update the ebuild for amule-dlp in
    microcai/gentoo-zh in order to keep up with the latest version,
    and migrate to WxWidget 3.0, nevertheless, the results were many
    crashes.
  Steps to Reproduce:
    1. Compile a aMule-DLP with debug symbols and the debug build
    option.
    2. rm -rf ~/.aMule to clear any configuration
    3. Start this new amule, amule reports the server
    list is empty and provide an option to update servers list.
    4. Click Update to update servers lists.
    5. aMule triggers a AssertionError before the list downloading
    is completed.
  Backtrace
  Assertion failed: /mnt/compile/compile/portage/x11-libs/wxGTK-3.0.2.0-r3/work/wxPython-src-3.0.2.0/src/unix/sockunix.cpp:OnReadWaiting:143: Assertion 'm_fd != INVALID_SOCKET' failed. invalid socket ready for reading?

Backtrace follows:
[3] wxOnAssert(char const_, int, char const_, char const_, char const_) in /usr/lib64/libwx_baseu-3.0.so.0[0x7b704ec83a46]
[4] ?? in /usr/lib64/libwx_baseu_net-3.0.so.0[0x7b704f12fa9e]
[5] ?? in /usr/lib64/libwx_gtk2u_core-3.0.so.0[0x7b704f5d3478]
[6] g_main_context_dispatch in /usr/lib64/libglib-2.0.so.0[0x7b704c805b0a]
[7] ?? in /usr/lib64/libglib-2.0.so.0[0x7b704c805eb8]
[8] g_main_loop_run in /usr/lib64/libglib-2.0.so.0[0x7b704c806352]
[9] gtk_main in /usr/lib64/libgtk-x11-2.0.so.0[0x7b704d5e86b7]
[10] wxGUIEventLoop::DoRun() in /usr/lib64/libwx_gtk2u_core-3.0.so.0[0x7b704f5c9f1d]
[11] wxEventLoopBase::Run() in /usr/lib64/libwx_baseu-3.0.so.0[0x7b704eccca83]
[12] wxAppConsoleBase::MainLoop() in /usr/lib64/libwx_baseu-3.0.so.0[0x7b704ec89415]
[13] wxEntry(int&, wchar_t**) in /usr/lib64/libwx_baseu-3.0.so.0[0x7b704ed24348]
[14] ?? in amule[0x58695746651]
[15] __libc_start_main in /lib64/libc.so.6[0x7b704dd917cc]
[16] ?? in amule[0x5869575a249]

  —
    You are receiving this because you are subscribed to this
    thread.
    Reply to this email directly, view it
      on GitHub, or mute
      the thread.







  {"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/persmule/amule-dlp","title":"persmule/amule-dlp","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/persmule/amule-dlp"}},"updates":{"snippets":[{"icon":"DESCRIPTION","message":"assert \"m_fd != INVALID_SOCKET\" failed in OnReadWaiting(): invalid socket ready for reading? (#14)"}],"action":{"name":"View Issue","url":"https://github.com/persmule/amule-dlp/issues/14"}}}
Contributor

biergaizi commented Aug 30, 2016

Switching to Boost fixed the memleak and infinite loop, but this one is still present. And I think it causes by GeoIP downloading, gonna figure it out.

@persmule persmule closed this Mar 22, 2017

dprotti commented Jun 12, 2017

I ran into same issue with amule 2.3.2-1build2 for Ubuntu 17.04.
On first time use, when I select to download servers list:

ASSERT INFO:
../src/unix/sockunix.cpp(143): assert "m_fd != INVALID_SOCKET" failed in OnReadWaiting(): invalid socket ready for reading?

BACKTRACE:
[1] wxOnAssert(char const*, int, char const*, char const*, char const*)
[2] g_main_context_dispatch
[3] g_main_loop_run
[4] gtk_main
[5] wxGUIEventLoop::DoRun()
[6] wxEventLoopBase::Run()
[7] wxAppConsoleBase::MainLoop()
[8] wxEntry(int&, wchar_t**)
[9] __libc_start_main

Owner

persmule commented Jun 12, 2017

On which version is your amule 2.3.2-1build2 based? My amule-dlp or official amule?

dprotti commented Jun 12, 2017

Not sure. This is the package and the maintainer is @LocutusOfBorg

Owner

persmule commented Jun 12, 2017

If so, you should file this bug to HIM, not me.

it is the same as this one
https://packages.qa.debian.org/a/amule.html, so I guess not the dlp version... should we switch upstream? I can reproduce the crash

dprotti commented Jun 12, 2017

OK we should go to the official version. @LocutusOfBorg you think should be reported in bugs.amule.org or in launchpad?

rubo77 commented Sep 6, 2017

workaround:

install Wine, then copy eMule 0.50a (from Windows) into home dir and it works if you go to the eMule folder and right click on the emule.exe fíle and choose Open with Wine Windows Program

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment