I spent some time investigating this bug, and my conclusion is that the
problem lies elsewhere (i.e., it's not related to http_proxy being set).

In a nutshell, what I found is that the delay used in the "stop_server"
procedure is too low for armhf machines.  Here's the code in question:

200   def stop_server
201     @server.stop!
202     @thread.kill
203 
204     100.times do
205       break unless EM.reactor_running?
206       sleep 0.01
207     end
208 
209     raise "Reactor still running, wtf?" if EventMachine.reactor_running?
210   end

As can be seen, there's a 1 second delay to let the server actually
stop.  This seems to be enough in all architectures but armhf.

I don't know why the same problem doesn't manifest on Debian.  Maybe
because they have bare metal armhf servers, whereas we use lxd instances
inside arm64 machines?

Anyway, I was able to verify that if we extend this delay to, say, 10
seconds, the tests pass on armhf.  I also think that's something OK to
do, especially because the loop is actively checking if the server has
stopped and will break the loop if that's the case.

I'll put an MP up soon.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1939086

Title:
  autopkgtest failures due to squid "(111) Connection refused" on armhf

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/thin/+bug/1939086/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to