Control: tags -1 moreinfo

On Fri, 18 Jul 2025 18:23:29 +1000 Cameron Davidson wrote:

> Package: apt-listbugs
> Version: 0.1.47
> Severity: normal
> Tags: ipv6
> 
> Dear Maintainer,

Hello Cameron,
thanks for your bug report.

> 
> * Verified in Debian 12 as well as Deb 13 testing.
> 
> If apt-listbugs is installed in a system then,  when there are problems
> with IPv6, "apt install/update" can appear to hang at
> "Retrieving bug reports...0%"
> Requires ctrl-C, and after saying do not try to retrieve bugs again
> apt asks if it should continue installation.
> When I select "yes" it then fails to continue installation.

This looks like a [known issue] with the dash shell, which, as far as I
can tell, is still used by libapt to invoke hooks. I have [repeatedly]
[asked] the APT Development Team for a status update on this issue, but I
haven't yet received any reply...

[known issue]: <https://bugs.debian.org/832593#80>
[repeatedly]: <https://bugs.debian.org/960442#15>
[asked]: <https://bugs.debian.org/960442#37>

> 
> Also "apt-listbugs -d list apt-listbugs" initally reports:
>  Exception `LoadError' at 
> <internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:136 
> - cannot load such file -- soap/rpc/driver
>  Exception `LoadError' at 
> <internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:136 
> - cannot load such file -- xml/encoding-ja
>  Exception `LoadError' at 
> <internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:144 
> - cannot load such file -- xml/encoding-ja
>  Set XSD::XMLParser::XMLParser as XML processor.
>  Exception `LoadError' at 
> <internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:136 
> - cannot load such file -- httpclient
>  Exception `LoadError' at 
> <internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:136 
> - cannot load such file -- addressable/uri
>  Exception `LoadError' at 
> <internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:144 
> - cannot load such file -- addressable/uri
>  Exception `KeyError' at 
> /usr/lib/ruby/vendor_ruby/http/cookie_jar/abstract_store.rb:15 - key not 
> found: :hash

Well, this is debug output coming from the Ruby library (I think).
You cannot expect a perfectly clean and beautiful output, when you pass
the debug option...    ;-)

> 
> and then gets to...
> "! CONNECT TO bugs.debian.org 80"  (Debian 12)
> at which point it seems to hang. But if I wait for 
> over 6 MINUTES  then it does seem to fall back to IPv4 to get the details.

Over 6 min, you say?
How much more than 6 min?

Could it be almost 17 min, by chance?

The only [timeout] set by apt-listbugs itself is 999 s long (which
corresponds to almost 17 min), for the SOAP connection.

[timeout]: 
<https://salsa.debian.org/frx-guest/apt-listbugs/-/blob/f9053c84c6cd3ab30556bea10a44ca64a929d3b0/lib/aptlistbugs/debian/btssoap.rb#L38>

This was changed almost [19 years ago], before I began to maintain and
develop apt-listbugs. And it seems it was done in response to a bug
report...

[19 years ago]: 
<https://salsa.debian.org/frx-guest/apt-listbugs/-/commit/481b5e6e7adc3d557d17d3ed471c4f78e126c0e0>

If there's another timeout that kicks in before 999 s at about 360 s or
so, I cannot understand where it is coming from, to be honest.
I haven't found any default timeout set by [ruby-soap4r], apart from
the ones that apt-listbugs sets to 999 s ...

[ruby-soap4r]: 
<https://salsa.debian.org/ruby-team/ruby-soap4r/-/tree/f60e60bbfaf557b1c7a2a42285d3d4349d0a6eef>

And the default timeout for [ruby-httpclient] seems to be 60 s, if I
understand correctly...

[ruby-httpclient]: 
<https://salsa.debian.org/ruby-team/ruby-httpclient/-/blob/d35b14cda69bbce6ab7e63ab7199c98d4d060a51/lib/httpclient/session.rb#L145>


I am really puzzled...

> 
> So perhaps my subject line is wrong, but the timeouts are obviously too
> long and, coupled with the multiple redirects, means nobody is going to wait 
> that
> long unless they've gone off for a coffee.

You have to admit that the main purpose of the connection timeout is
not to fall back to IPv4, when IPv6 fails.

Moreover, it looks unfortunate that your IPv6 network makes the clients
wait indefinitely (until some timeout kicks in, I mean), rather than
failing with some immediate error...

> 
> 
> The cause of the problem is that my ISP broke routing for my IPv6 address a
> week ago, but it was not immediately obvious and is still not fixed.
> 
> workaround: is to either uninstall apt-listbugs, or temporarily disable
> IPv6  (if convenient). In either case apt then works quickly.

Well, if you remove apt-listbugs, you won't enjoy its services, of
course!   ;-)

On the other hand, if you temporarily disable IPv6, you have to do
something inconvenient, whenever you want to use apt or aptitude...


I think that you could try to set another timeout
in /usr/lib/ruby/vendor_ruby/aptlistbugs/debian/btssoap.rb (lines 38,
39, and 40) and see whether your wait changes.
This way, we could perhaps check whether this is indeed the timeout
that kicks in. And whether reducing it helps your use case.

Please let me know, if you perform this test. 
Thanks for your time and patience.


-- 
 http://www.inventati.org/frx/
 There's not a second to spare! To the laboratory!
..................................................... Francesco Poli .
 GnuPG key fpr == CA01 1147 9CD2 EFDF FB82  3925 3E1C 27E1 1F69 BFFE

Attachment: pgpVy_Y0C5yYs.pgp
Description: PGP signature

Reply via email to