Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 578204

Summary: sys-apps/portage: FEATURES=parallel-install: IOError: [Errno 2] No such file or directory: '/var/tmp/portage/app-arch/unrar-5.3.11/build-info/BINPKGMD5'
Product: Portage Development Reporter: Rick Farina (Zero_Chaos) <zerochaos>
Component: CoreAssignee: Portage team <dev-portage>
Status: RESOLVED FIXED    
Severity: normal Keywords: InVCS
Priority: Normal    
Version: 2.2   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 573774    

Description Rick Farina (Zero_Chaos) gentoo-dev 2016-03-24 20:38:25 UTC
I was running with FEATURES=parallel-install, not sure if it matters here.

Traceback (most recent call last):
  File "/usr/lib/python-exec/python2.7/emerge", line 50, in <module>
    retval = emerge_main()
  File "/usr/lib64/python2.7/site-packages/_emerge/main.py", line 1185, in emerge_main
    return run_action(emerge_config)
  File "/usr/lib64/python2.7/site-packages/_emerge/actions.py", line 3236, in run_action
    emerge_config.args, spinner)
  File "/usr/lib64/python2.7/site-packages/_emerge/actions.py", line 505, in action_build
    retval = mergetask.merge()
  File "/usr/lib64/python2.7/site-packages/_emerge/Scheduler.py", line 1032, in merge
    rval = self._merge()
  File "/usr/lib64/python2.7/site-packages/_emerge/Scheduler.py", line 1434, in _merge
    self._main_loop()
  File "/usr/lib64/python2.7/site-packages/_emerge/Scheduler.py", line 1405, in _main_loop
    self._event_loop.iteration()
  File "/usr/lib64/python2.7/site-packages/portage/util/_eventloop/EventLoop.py", line 270, in iteration
    if not x.callback(f, event, *x.args):
  File "/usr/lib64/python2.7/site-packages/portage/util/_async/PipeLogger.py", line 92, in _output_handler
    self.wait()   
  File "/usr/lib64/python2.7/site-packages/_emerge/AsynchronousTask.py", line 57, in wait
    self._wait_hook()
  File "/usr/lib64/python2.7/site-packages/_emerge/AsynchronousTask.py", line 175, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "/usr/lib64/python2.7/site-packages/_emerge/SpawnProcess.py", line 174, in _pipe_logger_exit
    self.wait()
  File "/usr/lib64/python2.7/site-packages/_emerge/AsynchronousTask.py", line 57, in wait
    self._wait_hook()
  File "/usr/lib64/python2.7/site-packages/_emerge/AsynchronousTask.py", line 175, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "/usr/lib64/python2.7/site-packages/_emerge/EbuildPhase.py", line 266, in _ebuild_exit
    self.wait()
  File "/usr/lib64/python2.7/site-packages/_emerge/AsynchronousTask.py", line 57, in wait
    self._wait_hook()
  File "/usr/lib64/python2.7/site-packages/_emerge/AsynchronousTask.py", line 175, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "/usr/lib64/python2.7/site-packages/_emerge/EbuildBinpkg.py", line 50, in _package_phase_exit
    self.wait()
  File "/usr/lib64/python2.7/site-packages/_emerge/AsynchronousTask.py", line 57, in wait
    self._wait_hook()
  File "/usr/lib64/python2.7/site-packages/_emerge/AsynchronousTask.py", line 175, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "/usr/lib64/python2.7/site-packages/_emerge/EbuildBuild.py", line 385, in _record_binpkg_info
    errors='strict') as f:
IOError: [Errno 2] No such file or directory: '/var/tmp/portage/app-arch/unrar-5.3.11/build-info/BINPKGMD5'
Comment 1 Zac Medico gentoo-dev 2016-03-26 21:36:16 UTC
Since _record_binpkg_info is called via addExitListener, the order call in relation to other exit listeners is somewhat fragile. The issue may be similar to bug 562264 in this respect, where the problem was solved by using a CompositeTask instance was used to ensure that _sync_callback was called before exit listeners:

https://gitweb.gentoo.org/proj/portage.git/commit/?id=4205ec912aebf2e3b0bd673fcacb576b1f344329

We can certainly do the same for _record_binpkg_info.
Comment 2 Zac Medico gentoo-dev 2016-03-26 23:44:58 UTC
There's a patch in the following branch:

https://github.com/zmedico/portage/tree/bug_578204

It can be applied as follows:

mkdir -p /etc/portage/patches/sys-apps/portage
wget -O /etc/portage/patches/sys-apps/portage/bug_578204.patch \
https://github.com/zmedico/portage/commit/617a78c8e9123b3df8725a2ac2cf16043895ed5b.patch
emerge -1 portage
Comment 4 Zac Medico gentoo-dev 2017-08-11 20:02:07 UTC
Fixed in 2.3.0.