Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 266211 - emerge: don't break on "Stale NFS file handle" error
Summary: emerge: don't break on "Stale NFS file handle" error
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Repoman (show other bugs)
Hardware: All All
: High enhancement (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords: InVCS
Depends on:
Blocks: 210077 268228
  Show dependency tree
 
Reported: 2009-04-15 07:45 UTC by Krzysztof Olędzki
Modified: 2009-05-02 02:42 UTC (History)
0 users

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


Attachments
Handle ENOENT and ESTALE in the same way, patch against portage-2.2_rc30 (portage-dont-break-on-Stale-NFS-file-handle.patch,411 bytes, patch)
2009-04-15 07:46 UTC, Krzysztof Olędzki
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Krzysztof Olędzki 2009-04-15 07:45:13 UTC
Running portage over nfs can lead sometimes into problems like:

# emerge -f busybox
Calculating dependencies... done!

>>> Fetching (1 of 1) sys-apps/busybox-1.13.4
Traceback (most recent call last):
  File "/usr/bin/emerge", line 40, in <module>
    retval = _emerge.emerge_main()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 15715, in emerge_main
    myopts, myaction, myfiles, spinner)
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 14659, in action_build
    retval = mergetask.merge()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 10723, in merge
    rval = self._merge()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 11024, in _merge
    self._main_loop()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 11152, in _main_loop
    while self._schedule():
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 9456, in _schedule
    return self._schedule_tasks()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 11183, in _schedule_tasks
    if q.schedule():
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 9325, in schedule
    task.start()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1836, in start
    self._start()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 3963, in _start
    self._start_task(build, self._default_final_exit)
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 2154, in _start_task
    task.start()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1836, in start
    self._start()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 2725, in _start
    self._prefetch_exit(prefetcher)
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 2738, in _prefetch_exit
    retval = fetcher.execute()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1751, in execute
    mydbapi=portdb, tree="porttree")
  File "//usr/lib64/portage/pym/portage/__init__.py", line 6156, in doebuild
    fetchme, mysettings, listonly=listonly, fetchonly=fetchonly):
  File "//usr/lib64/portage/pym/portage/__init__.py", line 3867, in fetch
    mysize = os.stat(myfile_path).st_size
OSError: [Errno 116] Stale NFS file handle: '/usr/gentoo-nfs/portage/distfiles/busybox-1.13.4.tar.bz2'

I think we should handle ENOENT and ESTALE in the same way.
Comment 1 Krzysztof Olędzki 2009-04-15 07:46:39 UTC
Created attachment 188387 [details, diff]
Handle ENOENT and ESTALE in the same way, patch against portage-2.2_rc30
Comment 2 Zac Medico gentoo-dev 2009-04-15 18:44:20 UTC
Thanks, this is in svn r13347.
Comment 3 Zac Medico gentoo-dev 2009-04-19 23:34:17 UTC
This is fixed in 2.2_rc31.
Comment 4 Zac Medico gentoo-dev 2009-05-02 02:42:29 UTC
This is fixed in 2.1.6.12.