-
Improvement
-
Resolution: Unresolved
-
Normal
-
None
-
None
During a recent experiment using fchroot to compile the latest Firefox as part of the Funtoo Raspiberry Pi 4 initiatives, I created a foobar situation accidentally, here is it:
- I was compiling Firefox in a cortex-a72 fchroot in one terminal tab
- I opened another cortex-a72 fchroot for the same setup to check on the compilation status
- Then I accidentally exited out of the second chroot
The the long running merge failed with a portage exception as the bind mounts in the fchroot were automatically cleaned up by the second fchroot upon exit, which is expected behavior:
unknownException in callback AsynchronousTask._exit_listener_cb(<bound method...0x5503d838b0>>) handle: <Handle AsynchronousTask._exit_listener_cb(<bound method...0x5503d838b0>>)> Traceback (most recent call last): File "/usr/lib/python3.9/asyncio/events.py", line 80, in _run self._context.run(self._callback, *self._args) File "/usr/lib/python3.9/site-packages/_emerge/AsynchronousTask.py", line 201, in _exit_listener_cb listener(self) File "/usr/lib/python3.9/site-packages/_emerge/EbuildPhase.py", line 227, in _ebuild_exit self._ebuild_exit_unlocked(ebuild_process) File "/usr/lib/python3.9/site-packages/_emerge/EbuildPhase.py", line 271, in _ebuild_exit_unlocked self._die_hooks() File "/usr/lib/python3.9/site-packages/_emerge/EbuildPhase.py", line 379, in _die_hooks self._start_task(die_hooks, self._die_hooks_exit) File "/usr/lib/python3.9/site-packages/_emerge/CompositeTask.py", line 113, in _start_task task.start() File "/usr/lib/python3.9/site-packages/_emerge/AsynchronousTask.py", line 30, in start self._start() File "/usr/lib/python3.9/site-packages/_emerge/MiscFunctionsProcess.py", line 29, in _start AbstractEbuildProcess._start(self) File "/usr/lib/python3.9/site-packages/_emerge/AbstractEbuildProcess.py", line 169, in _start self._start_post_builddir_lock(start_ipc_daemon=start_ipc_daemon) File "/usr/lib/python3.9/site-packages/_emerge/AbstractEbuildProcess.py", line 195, in _start_post_builddir_lock null_fd = os.open('/dev/null', os.O_RDONLY) File "/usr/lib/python3.9/site-packages/portage/__init__.py", line 231, in __call__ rval = self._func(*wrapped_args, **wrapped_kwargs) FileNotFoundError: [Errno 2] No such file or directory: b'/dev/null' Terminated real 144m42.607s
As requested by drobbins this improvement issue will track improving the above fchroot scenario by adding some type of robustness around the auto-cleanup of bind mounts.
- is duplicated by
-
FL-10980 funtoo lxd image wrong permissions on /dev/null
- Closed