Separate builds on network-level #113

Open
opened 2022-05-12 21:08:48 +02:00 by RubenKelevra · 3 comments
Contributor

Well, I think there's a conflict between building some packages at the same time - maybe even Firefox twice - as the build process wants to start a server on an IP/Port which is already in use and fails:

Traceback (most recent call last):
  File "/startdir/src/firefox-100.0/build/pgo/profileserver.py", line 85, in <module>
    httpd.start(block=False)
  File "/startdir/src/firefox-100.0/testing/mozbase/mozhttpd/mozhttpd/mozhttpd.py", line 274, in start
    self.httpd = EasyServer((self.host, self.port), self.handler_class)
  File "/usr/lib/python3.10/socketserver.py", line 452, in __init__
    self.server_bind()
  File "/usr/lib/python3.10/http/server.py", line 136, in server_bind
    socketserver.TCPServer.server_bind(self)
  File "/usr/lib/python3.10/socketserver.py", line 466, in server_bind
    self.socket.bind(self.server_address)
OSError: [Errno 98] Address already in use
Running "pip check" to verify compatibility between the system Python and the "mach" site.
Running "pip check" to verify compatibility between the system Python and the "common" site.
==> ERROR: A failure occurred in build().
    Aborting...
Well, I think there's a conflict between building some packages at the same time - maybe even Firefox twice - as the build process wants to start a server on an IP/Port which is already in use and fails: ``` Traceback (most recent call last): File "/startdir/src/firefox-100.0/build/pgo/profileserver.py", line 85, in <module> httpd.start(block=False) File "/startdir/src/firefox-100.0/testing/mozbase/mozhttpd/mozhttpd/mozhttpd.py", line 274, in start self.httpd = EasyServer((self.host, self.port), self.handler_class) File "/usr/lib/python3.10/socketserver.py", line 452, in __init__ self.server_bind() File "/usr/lib/python3.10/http/server.py", line 136, in server_bind socketserver.TCPServer.server_bind(self) File "/usr/lib/python3.10/socketserver.py", line 466, in server_bind self.socket.bind(self.server_address) OSError: [Errno 98] Address already in use Running "pip check" to verify compatibility between the system Python and the "mach" site. Running "pip check" to verify compatibility between the system Python and the "common" site. ==> ERROR: A failure occurred in build(). Aborting... ```
Owner

Yep, this is a know issue. I already experimented with separating the builds on a network level via systemd-nspawn. There is only firewall integration left, otherwise this already worked in my tests. But this change probably should go upstream in devtools - there is already an open issue for that: https://gitlab.archlinux.org/archlinux/devtools/-/issues/72

Yep, this is a know issue. I already experimented with separating the builds on a network level via systemd-nspawn. There is only firewall integration left, otherwise this already worked in my tests. But this change probably should go upstream in devtools - there is already an open issue for that: https://gitlab.archlinux.org/archlinux/devtools/-/issues/72
anonfunc added the
enhancement
blocked upstream
labels 2022-05-12 21:19:22 +02:00
anonfunc changed title from Firefox (x86_64v2) build failed to Separate builds on network-level 2022-05-12 21:19:46 +02:00
Author
Contributor

Ah cool 😎

Thanks for the fast update!

Ah cool 😎 Thanks for the fast update!
Owner

Quick update here: Since ece8c4c7d9 we do not build the same packages concurrently. That does not solve this issue completely, there can still be a overlap of used ports between different package builds, but it lowered the chance of occurring significantly.

Quick update here: Since ece8c4c7d91e1a9e167bbadc634e3b5bfccbaa37 we do not build the same packages concurrently. That does not solve this issue completely, there can still be a overlap of used ports between different package builds, but it lowered the chance of occurring significantly.
Sign in to join this conversation.
No description provided.