From 79ce7f1c8234139cf8f2984c1c6d36aa04692742 Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Thu, 17 Sep 2020 14:24:48 +0000 Subject: bitbake: bitbake: hashserv: Fix localhost sometimes resolved to a wrong IP Using localhost for direct builds on host is fine. A case with a misbehavior has been sighted on a Docker build. Even when the host supports IPv6, but Docker is not configured correspondingly - some versions of the asyncio Python module seem to misbehave and try to use IPv6 where it's not supported in the container. This happens at least on some Ubuntu 18.04 based containers, resolving the IP explicitly appears to be the fix. (Bitbake rev: 0e20f91c11afdc17ea776aa02e0cc8b0d59a23d4) Signed-off-by: Anatol Belski Signed-off-by: Richard Purdie --- bitbake/lib/hashserv/tests.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'bitbake') diff --git a/bitbake/lib/hashserv/tests.py b/bitbake/lib/hashserv/tests.py index b34c436876..4566f24738 100644 --- a/bitbake/lib/hashserv/tests.py +++ b/bitbake/lib/hashserv/tests.py @@ -14,6 +14,7 @@ import sys import tempfile import threading import unittest +import socket class TestHashEquivalenceServer(object): @@ -163,4 +164,8 @@ class TestHashEquivalenceUnixServer(TestHashEquivalenceServer, unittest.TestCase class TestHashEquivalenceTCPServer(TestHashEquivalenceServer, unittest.TestCase): def get_server_addr(self): - return "localhost:0" + # Some hosts cause asyncio module to misbehave, when IPv6 is not enabled. + # If IPv6 is enabled, it should be safe to use localhost directly, in general + # case it is more reliable to resolve the IP address explicitly. + return socket.gethostbyname("localhost") + ":0" + -- cgit v1.2.3-54-g00ecf