Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 286527 - sys-apps/portage-2.2_rc42: Portage update results in crash
Summary: sys-apps/portage-2.2_rc42: Portage update results in crash
Status: RESOLVED NEEDINFO
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Unclassified (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: preserve-libs
  Show dependency tree
 
Reported: 2009-09-26 15:08 UTC by Martin von Gagern
Modified: 2011-04-22 03:40 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin von Gagern 2009-09-26 15:08:04 UTC
Updating portage 2.2 from rc41 to rc42 caused a Python backtrace for me:

>>> Installing (1 of 1) sys-apps/portage-2.2_rc42
 * Cleaning orphaned Python bytecode from /usr/lib/portage/pym ..
Traceback (most recent call last):
  File "/usr/bin/emerge", line 40, in <module>
    from portage.exception import ParseError, PermissionDenied
  File "/usr/lib/portage/pym/_emerge/main.py", line 1415, in emerge_main
    msg = []
  File "/usr/lib/portage/pym/_emerge/actions.py", line 457, in action_build
    pkglist = mydepgraph.altlist()
  File "/usr/lib/portage/pym/_emerge/Scheduler.py", line 824, in merge
    mtimedb = self._mtimedb
  File "/usr/lib/portage/pym/_emerge/Scheduler.py", line 1132, in _merge
    portage.elog.add_listener(self._elog_listener)
  File "/usr/lib/portage/pym/_emerge/Scheduler.py", line 1279, in _main_loop
    self._schedule()
  File "/usr/lib/portage/pym/_emerge/PollScheduler.py", line 134, in _poll_loop
    handler(f, event)
  File "/usr/lib/portage/pym/_emerge/SpawnProcess.py", line 192, in _output_handler
    self._unregister_if_appropriate(event)
  File "/usr/lib/portage/pym/_emerge/AbstractPollTask.py", line 27, in _unregister_if_appropriate
    self.wait()
  File "/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 42, in wait
    self._wait_hook()
  File "/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 115, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "/usr/lib/portage/pym/_emerge/EbuildPhase.py", line 84, in _post_phase_exit
    self.wait()
  File "/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 42, in wait
    self._wait_hook()
  File "/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 115, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "/usr/lib/portage/pym/_emerge/TaskSequence.py", line 44, in _task_exit_handler
    self.wait()
  File "/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 42, in wait
    self._wait_hook()
  File "/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 115, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "/usr/lib/portage/pym/_emerge/CompositeTask.py", line 106, in _default_final_exit
    return self.wait()
  File "/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 42, in wait
    self._wait_hook()
  File "/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 115, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "/usr/lib/portage/pym/_emerge/EbuildBuild.py", line 178, in _build_exit
    self.wait()
  File "/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 42, in wait
    self._wait_hook()
  File "/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 115, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "/usr/lib/portage/pym/_emerge/CompositeTask.py", line 106, in _default_final_exit
    return self.wait()
  File "/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 42, in wait
    self._wait_hook()
  File "/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 115, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "/usr/lib/portage/pym/_emerge/Scheduler.py", line 1111, in _build_exit
    self._status_display.failed = len(self._failed_pkgs)
  File "/usr/lib/portage/pym/_emerge/PollScheduler.py", line 43, in _schedule
    return self._schedule_tasks()
  File "/usr/lib/portage/pym/_emerge/Scheduler.py", line 1301, in _schedule_tasks
    self._status_display.display()
  File "/usr/lib/portage/pym/_emerge/SequentialTaskQueue.py", line 55, in schedule
    task.addExitListener(self._task_exit)
  File "/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 24, in start
    self._start()
  File "/usr/lib/portage/pym/_emerge/PackageMerge.py", line 44, in _start
    self.returncode = self.merge.merge()
  File "/usr/lib/portage/pym/_emerge/MergeListItem.py", line 148, in merge
    retval = self._install_task.install()
  File "/usr/lib/portage/pym/_emerge/EbuildBuild.py", line 269, in install
    rval = merge.execute()
  File "/usr/lib/portage/pym/_emerge/EbuildMerge.py", line 27, in execute
    blockers=self.find_blockers)
  File "/usr/lib/portage/pym/portage/__init__.py", line 7374, in merge
    for hardlink_src in hardlink_candidates:
  File "/usr/lib/portage/pym/portage/dbapi/vartree.py", line 4277, in merge
    base_path_tmp = mkdtemp("", "._portage_reinstall_.",
  File "/usr/lib/portage/pym/portage/dbapi/vartree.py", line 4287, in _merge
    settings.backup_changes(var_name)
  File "/usr/lib/portage/pym/portage/dbapi/vartree.py", line 3839, in treewalk
    pass
  File "/usr/lib/portage/pym/portage/dbapi/vartree.py", line 2169, in unmerge
    retval = doebuild(myebuildpath, ebuild_phase, self.myroot,
  File "/usr/lib/portage/pym/portage/dbapi/vartree.py", line 2972, in _find_unused_preserved_libs
    preserved_nodes.add(preserved_node)
  File "/usr/lib/portage/pym/portage/dbapi/vartree.py", line 662, in findProviders
    if not self._libs:
KeyError: "[u'/usr/bin/same-gnome'] not in object list"

Re-emerging portage again complained about possible collisions, as the first emerge wasn't fully recorded, but otherwise went all right.
Comment 1 Zac Medico gentoo-dev 2009-10-09 06:23:24 UTC
This doesn't seem like it should have happened. I'm not sure what could caused it. If anyone can reproduce this then please comment.
Comment 2 Zac Medico gentoo-dev 2011-04-22 03:40:42 UTC
Maybe this has been fixed by now. Please re-open if it happens again.