Opened 3 months ago

Last modified 2 months ago

#3384 new bug

Libtorrent 1.2.x support issue.

Reported by: mhertz Owned by:
Priority: minor Milestone: needs verified
Component: GTK UI Version: develop
Keywords: Cc:

Description

After libtorrent 1.2.3, then tracker announcing behavior have changed, I believe because of multi-homed support added. Anyway, deluge sometimes show a tracker under error heading, even though only lo (obviously) failed(deluge logging states 127.0.0.1) and main connection announced fine. In short from Arvid: "One listen socket failing should not make the UI suggest the other announces to the tracker failed."

More info and logs in my libtorrent ticket here: https://github.com/arvidn/libtorrent/issues/4529

I tested this in win10 VM with deluge 2.0.3 and develop branch with libtorrent RC_1_2 branch builds, 1.2.3, 1.2.4 and 1.2.5.

Thanks in advance.

Change History (5)

comment:1 Changed 3 months ago by frmar

I just want to add that I also have this issue with libtorrent 1.2.5 and 1.2.6. Deluge's tracker status reports "file not found" or "no response". If I check on the torrent site itself, Deluge is connected and is also able to down- and upload. The torrent errors resolve itself after a while but they also come back.

I did test with Deluge 2.0.3, 2.0.4-dev23 and libtorrent 1.2.3, 1.2.5, 1.2.6.

Please let me know if you need any debug logs and in what detail.

comment:2 Changed 2 months ago by DjLegolas

From my investigation of this error I found that deluge is only showing the status of the last tracker update.
Therefore, If the last one was the 127.0.0.1, it will mark the torrent as having an error with its tracker. This behavior might be valid.
But the error message (The system cannot open the device or file specified) doesn't seem correct... Tested with deluge 2.0.4 and libtorrent 1.2.5.

comment:3 Changed 2 months ago by mhertz

Thanks, didn't knew it was based on last status. However, as stated by Arvid: "One listen socket failing should not make the UI suggest the other announces to the tracker failed." The new libtorrent change will make fails pretty much always, as e.g tries LO etc, so showing error in UI because LO failed seems wrong to me, but just my humble opinion of-course. Imho, if one announce succeed, then no error heading should occure, no matter last, first or middle. The new way libtorrent works after 1.2.3 is gonna fail often as will test every found socket accepting incoming connection, no matter internet access or not, hence this issue, which wasent the case when support for 1.2.x originally was introduced. Could be wrong of-course, and just my thought.

comment:4 Changed 2 months ago by DjLegolas

I know, that why I did some changes to the behavior of the torrent manager.
It will keep log the same errors (Tracker Error Alert: ...), but if there is at least one endpoint with successful announcement, it will set the torrent with Announce OK.
You can review the change in this PR.

comment:5 Changed 2 months ago by mhertz

I'm sorry, I thought after posting and rereadin it, why the heck I was explaining you something you already know, lol. Sorry about that. Anyway, that is awesome, thanks alot, much appreciated, works for me in quick testing. I hope it's okay I include your commits into the unofficial installers on deluge forum, if haven't been added upstream before that. Thanks again, much appreciate your work on deluge :)

Note: See TracTickets for help on using tickets.