Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 406499 - emerge failure when compiling on separate machines in Prefix on a shared NFS mount
Summary: emerge failure when compiling on separate machines in Prefix on a shared NFS ...
Status: CONFIRMED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core (show other bugs)
Hardware: All All
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-03-01 23:39 UTC by Richard Yao (RETIRED)
Modified: 2022-10-20 02:43 UTC (History)
0 users

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


Attachments
System information (emerge.info,10.28 KB, text/plain)
2012-03-01 23:39 UTC, Richard Yao (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Richard Yao (RETIRED) gentoo-dev 2012-03-01 23:39:20 UTC
Created attachment 303897 [details]
System information

I tried building packages on two disjoint sets of packages (@world rebuild, plus mplayer compilation) on two separate iMacs that have NFS mounted home directories. The PORTAGE_TMPDIR was on the local disk while the Prefix install was in the NFS mounted home directory.

One machine had the follow occur and it continued compiling:

!!! Unable to read COUNTER file: '/home/stufs1/ryao/Gentoo/var/cache/edb/counter'                                                                                                                
!!! [Errno 70] Stale NFS file handle: '/home/stufs1/ryao/Gentoo/var/cache/edb/counter'

The other had the following failure:

>>> Jobs: 3 of 33 complete, 17 running              Load avg: 27.1, 18.5, 8.9open('/home/stufs1/ryao/Gentoo/etc/profile.env', 'r'): [Errno 70] Stale NFS file handle: '/home/stufs1/ryao/Gentoo/etc/profile.env'                                                               
                                                                                                                                                                                                                                                                               
Traceback (most recent call last):                                                                                                                                                                                                                                             
  File "/home/stufs1/ryao/Gentoo/usr/bin/emerge", line 44, in <module>                                                                                                                                                                                                         
    retval = emerge_main()                                                                                                                                                                                                                                                     
  File "/home/stufs1/ryao/Gentoo/usr/lib/portage/pym/_emerge/main.py", line 2031, in emerge_main                                                                                                                                                                               
    myopts, myaction, myfiles, spinner)                                                                                                                                                                                                                                        
  File "/home/stufs1/ryao/Gentoo/usr/lib/portage/pym/_emerge/actions.py", line 442, in action_build                                                                                                                                                                            
    retval = mergetask.merge()                                                                                                                                                                                                                                                 
  File "/home/stufs1/ryao/Gentoo/usr/lib/portage/pym/_emerge/Scheduler.py", line 1002, in merge                                                                                                                                                                                
    rval = self._merge()                                                                                                                                                                                                                                                       
  File "/home/stufs1/ryao/Gentoo/usr/lib/portage/pym/_emerge/Scheduler.py", line 1352, in _merge                                                                                                                                                                               
    self._main_loop()                                                                                                                                                                                                                                                          
  File "/home/stufs1/ryao/Gentoo/usr/lib/portage/pym/_emerge/PollScheduler.py", line 148, in _main_loop                                                                                                                                                                        
    self.sched_iface.iteration()                                                                                                                                                                                                                                               
  File "/home/stufs1/ryao/Gentoo/usr/lib/portage/pym/portage/util/_eventloop/EventLoop.py", line 166, in iteration                                                                                                                                                             
    if not x.callback(f, event, *x.args):                                                                                                                                                                                                                                      
  File "/home/stufs1/ryao/Gentoo/usr/lib/portage/pym/_emerge/SpawnProcess.py", line 173, in _output_handler                                                                                                                                                                    
    self.wait()                                                                                                                                                                                                                                                                
  File "/home/stufs1/ryao/Gentoo/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 53, in wait                                                                                                                                                                            
    self._wait_hook()                                                                                                                                                                                                                                                          
  File "/home/stufs1/ryao/Gentoo/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 146, in _wait_hook                                                                                                                                                                     
    self._exit_listener_stack.pop()(self)                                                                                                                                                                                                                                      
  File "/home/stufs1/ryao/Gentoo/usr/lib/portage/pym/_emerge/EbuildMerge.py", line 58, in _merge_exit                                                                                                                                                                          
    self.wait()                                                                                                                                                                                                                                                                
  File "/home/stufs1/ryao/Gentoo/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 53, in wait                                                                                                                                                                            
    self._wait_hook()                                                                                                                                                                                                                                                          
  File "/home/stufs1/ryao/Gentoo/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 146, in _wait_hook                                                                                                                                                                     
    self._exit_listener_stack.pop()(self)                                                                                                                                                                                                                                      
  File "/home/stufs1/ryao/Gentoo/usr/lib/portage/pym/_emerge/CompositeTask.py", line 134, in _default_final_exit                                                                                                                                                               
    return self.wait()                                                                                                                                                                                                                                                         
  File "/home/stufs1/ryao/Gentoo/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 53, in wait                                                                                                                                                                            
    self._wait_hook()                                                                                                                                                                                                                                                          
  File "/home/stufs1/ryao/Gentoo/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 146, in _wait_hook                                                                                                                                                                     
    self._exit_listener_stack.pop()(self)                                                                                                                                                                                                                                      
  File "/home/stufs1/ryao/Gentoo/usr/lib/portage/pym/_emerge/Scheduler.py", line 1244, in _merge_exit                                                                                                                                                                          
    self._schedule()                                                                                                                                                                                                                                                           
  File "/home/stufs1/ryao/Gentoo/usr/lib/portage/pym/_emerge/PollScheduler.py", line 134, in _schedule                                                                                                                                                                         
    self._schedule_tasks()                                                                                                                                                                                                                                                     
  File "/home/stufs1/ryao/Gentoo/usr/lib/portage/pym/_emerge/Scheduler.py", line 1516, in _schedule_tasks                                                                                                                                                                      
    if self._schedule_tasks_imp():                                                                                                                                                                                                                                             
  File "/home/stufs1/ryao/Gentoo/usr/lib/portage/pym/_emerge/Scheduler.py", line 1581, in _schedule_tasks_imp                                                                                                                                                                  
    task = self._task(pkg)                                                                                                                                                                                                                                                     
  File "/home/stufs1/ryao/Gentoo/usr/lib/portage/pym/_emerge/Scheduler.py", line 1649, in _task                                                                                                                                                                                
    settings=self._allocate_config(pkg.root),                                                                                                                                                                                                                                  
  File "/home/stufs1/ryao/Gentoo/usr/lib/portage/pym/_emerge/Scheduler.py", line 1481, in _allocate_config                                                                                                                                                                     
    temp_settings.reload()                                                                                                                                                                                                                                                     
  File "/home/stufs1/ryao/Gentoo/usr/lib/portage/pym/portage/package/ebuild/config.py", line 1817, in reload                                                                                                                                                                   
    env_d = getconfig(env_d_filename, expand=False)                                                                                                                                                                                                                            
  File "/home/stufs1/ryao/Gentoo/usr/lib/portage/pym/portage/util/__init__.py", line 548, in getconfig                                                                                                                                                                         
    encoding=_encodings['fs'], errors='strict'), 'rb')                                                                                                                                                                                                                         
IOError: [Errno 70] Stale NFS file handle: '/home/stufs1/ryao/Gentoo/etc/profile.env'
Comment 1 Zac Medico gentoo-dev 2012-03-01 23:56:29 UTC
(In reply to comment #0)
> "/home/stufs1/ryao/Gentoo/usr/lib/portage/pym/portage/util/__init__.py",
> line 548, in getconfig                                                      
> 
>     encoding=_encodings['fs'], errors='strict'), 'rb')                      
> 
> IOError: [Errno 70] Stale NFS file handle:
> '/home/stufs1/ryao/Gentoo/etc/profile.env'

Maybe we can handle this ESTALE like an EAGAIN errr, and just retry until it succeeds.
Comment 2 Richard Yao (RETIRED) gentoo-dev 2012-03-02 00:09:48 UTC
(In reply to comment #1)
> Maybe we can handle this ESTALE like an EAGAIN errr, and just retry until it
> succeeds.

That should work.