Closed imaami closed 1 day ago
Reverting libcurl to 8.9.0 would be a giant pain in the ass. And patching it to revert the commit responsible doesn't sound especially appealing either.
I guess it comes down to 3 main questions
transmission
the only curl dependency effected?transmission
side of the issue?Reverting libcurl to 8.9.0 would be a giant pain in the ass. And patching it to revert the commit responsible doesn't sound especially appealing either.
I guess it comes down to 3 main questions
* Is there an upstream PR to fix this yet? * preferably with an ETA. * Is `transmission` the only curl dependency effected? * Are there viable workarounds from the `transmission` side of the issue?
No upstream PRs for libcurl or transmission exist yet, only the bug reports.
Apparently transmission-gtk suffers from the same problem, but that's hardly surprising. It's possible that there are other affected codebases out there, as libcurl 8.9.1 inadvertently alters the behavior of existing programs using it (depending on how they deal with signals generally), but I haven't heard of any so far.
There isn't a workaround unfortunately. Preventing the abrupt exit is only possible by catching SIGPIPE
inside transmission-daemon or libcurl. Reverting the libcurl commit I mentioned is the least complicated fix right now as it only takes one commit diff and patch -Rp1
before build.
I think this comes dangerously close to a "Don't ship WIP"^1 scenario. Whatever we do about this issue should be coordinated with the upstream projects.
I agree that we should wait for the changes in both upstream projects. Meanwhile, aria2c could be used with torrent files.
I think this comes dangerously close to a "Don't ship WIP"1 scenario. Whatever we do about this issue should be coordinated with the upstream projects.
Footnotes
1. https://dont-ship.it/ [↩](#user-content-fnref-1-978850acb11c3fc9962927135d84f531)
Whatever you decide to do as a package maintainer is at your discretion, as it should be of course. :) I do have one kind request though: would you happen to know where I can download the Termux aarch64 deb for libcurl 8.9.0? This left me empty-handed:
$ apt-get download --print-uris libcurl|cut -d"'" -f2|sed 's/8\.9\.1/8.9.0/'|xargs wget
--2024-08-03 21:26:23-- https://mirrors.sahilister.in/termux/termux-main/pool/main/libc/libcurl/libcurl_8.9.0_aarch64.deb
Resolving mirrors.sahilister.in (mirrors.sahilister.in)... 89.58.46.93, 2a03:4000:67:e6b::
Connecting to mirrors.sahilister.in (mirrors.sahilister.in)|89.58.46.93|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2024-08-03 21:26:23 ERROR 404: Not Found.
We don't keep older versions of packages around, but I (or you) can spin up a github actions run for the libcurl
package with it reverted to 8.9.0
We don't keep older versions of packages around, but I (or you) can spin up a github actions run for the
libcurl
package with it reverted to 8.9.0
Much appreciated!
Much appreciated!
Heads up, there's a tentative upstream fix, and it looks like 8.9.2 8.10.0 should be just around the corner: https://github.com/curl/curl/commit/3eec5afbd0b6377eca893c392569b2faf094d970
Thanks for the heads up. If it's pending immediate release I think it should be fine to wait for that instead of cherry picking it for a 8.9.1-1 revision.
Though I can provide such a cherry pick in #21037 if desired.
Thanks for the heads up. If it's pending immediate release I think it should be fine to wait for that instead of cherry picking it for a 8.9.1-1 revision.
Though I can provide such a cherry pick in #21037 if desired.
I agree it's best to wait for an actual release for packaging, but I could test a patched build too just in case there's anything surprising there I should report to upstream.
Closing this as curl 8.10 is out and packaged now.
Problem description
There's a change in libcurl 8.9.1 that causes transmission-daemon to exit within 30 seconds. The cause is unhandled
SIGPIPE
and the details are already covered here:https://github.com/curl/curl/pull/14296#issuecomment-2263711275 https://github.com/curl/curl/issues/14344 https://github.com/transmission/transmission/issues/7035
It seems that currently the only way to fix it is to either downgrade libcurl or to revert this commit:
https://github.com/curl/curl/commit/17e6f06ea37136c36d2712b3433ef0d3b118ec0d
There is no mention yet about when to expect a proper fix upstream, so my hope is that you could roll back the Termux libcurl package to 8.9.0 until then. Transmission is literally unusable right now.
What steps will reproduce the bug?
With libcurl 8.9.1 and transmission 4.0.6, run transmission-daemon in the foreground and wait for approximately 15-30 seconds for it to exit by itself, then echo the return value.
You should see exit code 141, which is 128 +
SIGPIPE
.What is the expected behavior?
Being able to download Linux distro images via torrent.
System information