[Error 35] Resource temporarily unavailable on MacOS

Bug #552596 reported by Luis Arias
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Bazaar
Confirmed
Medium
Unassigned
Bazaar Explorer
Incomplete
Undecided
Unassigned

Bug Description

Our MacOS users are systematically getting the above error when updating a branch from our repositories. I have no such issues on lucid with the same repositories. Relaunching the update command gets a little more files from the server each time until all the revisions are up to date. It seems that somehow the update process is depleting resources and hitting a limit, but which ones ?

Wed 2010-03-31 16:59:17 +0200
0.034 bazaar version: 2.1.0
0.034 bzr arguments: [u'qsubprocess', u'--bencode', u'l6:updatee']
0.046 looking for plugins in /Users/peldi/.bazaar/plugins
0.049 looking for plugins in /Library/Python/2.6/site-packages/bzrlib/plugins
0.049 Plugin name explorer already loaded
0.148 encoding stdout as osutils.get_user_encoding() 'UTF-8'
0.216 bazaar version: 2.1.0
0.216 bzr arguments: [u'update']
0.217 encoding stdout as osutils.get_user_encoding() 'UTF-8'
0.249 opening working tree '/Users/peldi/code/mockups'
0.346 bzr-svn: using Subversion 1.6.5 ()
0.396 ssh implementation is OpenSSH
5.165 Using fetch logic to copy between RemoteRepository(bzr+ssh://bmockups.com/bzr/mockups/.bzr/)(<RemoteRepositoryFormat>) and CHKInventoryRepository('file:///Users/peldi/code/mockups/.bzr/branches/.bzr/repository/')(<RepositoryFormat2a>)

....

  File "/Library/Python/2.6/site-packages/bzrlib/commands.py", line 853, in exception_to_return_code
    return the_callable(*args, **kwargs)
  File "/Library/Python/2.6/site-packages/bzrlib/commands.py", line 1055, in run_bzr
    ret = run(*run_argv)
  File "/Library/Python/2.6/site-packages/bzrlib/commands.py", line 661, in run_argv_aliases
    return self.run_direct(**all_cmd_args)
  File "/Library/Python/2.6/site-packages/bzrlib/commands.py", line 665, in run_direct
    return self._operation.run_simple(*args, **kwargs)
  File "/Library/Python/2.6/site-packages/bzrlib/cleanup.py", line 122, in run_simple
    self.cleanups, self.func, *args, **kwargs)
  File "/Library/Python/2.6/site-packages/bzrlib/cleanup.py", line 156, in _do_with_cleanups
    result = func(*args, **kwargs)
  File "/Library/Python/2.6/site-packages/bzrlib/plugins/qbzr/lib/commands.py", line 784, in run
    return run_subprocess_command(cmd, bencoded)
  File "/Library/Python/2.6/site-packages/bzrlib/plugins/qbzr/lib/subprocess.py", line 811, in run_subprocess_command
    return commands.run_bzr(argv)
  File "/Library/Python/2.6/site-packages/bzrlib/commands.py", line 1055, in run_bzr
    ret = run(*run_argv)
  File "/Library/Python/2.6/site-packages/bzrlib/commands.py", line 661, in run_argv_aliases
    return self.run_direct(**all_cmd_args)
  File "/Library/Python/2.6/site-packages/bzrlib/commands.py", line 665, in run_direct
    return self._operation.run_simple(*args, **kwargs)
  File "/Library/Python/2.6/site-packages/bzrlib/cleanup.py", line 122, in run_simple
    self.cleanups, self.func, *args, **kwargs)
  File "/Library/Python/2.6/site-packages/bzrlib/cleanup.py", line 156, in _do_with_cleanups
    result = func(*args, **kwargs)
  File "/Library/Python/2.6/site-packages/bzrlib/builtins.py", line 1427, in run
    old_tip=old_tip)
  File "/Library/Python/2.6/site-packages/bzrlib/workingtree.py", line 2243, in update
    return self._update_tree(old_tip, change_reporter, revision)
  File "/Library/Python/2.6/site-packages/bzrlib/mutabletree.py", line 49, in tree_write_locked
    return unbound(self, *args, **kwargs)
  File "/Library/Python/2.6/site-packages/bzrlib/workingtree.py", line 2290, in _update_tree
    change_reporter=change_reporter)
  File "/Library/Python/2.6/site-packages/bzrlib/merge.py", line 1752, in merge_inner
    return merger.do_merge()
  File "/Library/Python/2.6/site-packages/bzrlib/merge.py", line 658, in do_merge
    merge = operation.run_simple()
  File "/Library/Python/2.6/site-packages/bzrlib/cleanup.py", line 122, in run_simple
    self.cleanups, self.func, *args, **kwargs)
  File "/Library/Python/2.6/site-packages/bzrlib/cleanup.py", line 156, in _do_with_cleanups
    result = func(*args, **kwargs)
  File "/Library/Python/2.6/site-packages/bzrlib/merge.py", line 629, in _do_merge_to
    merge.do_merge()
  File "/Library/Python/2.6/site-packages/bzrlib/merge.py", line 766, in do_merge
    operation.run()
  File "/Library/Python/2.6/site-packages/bzrlib/cleanup.py", line 118, in run
    self.cleanups, self.func, self, *args, **kwargs)
  File "/Library/Python/2.6/site-packages/bzrlib/cleanup.py", line 156, in _do_with_cleanups
    result = func(*args, **kwargs)
  File "/Library/Python/2.6/site-packages/bzrlib/merge.py", line 772, in _do_merge
    self._compute_transform()
  File "/Library/Python/2.6/site-packages/bzrlib/merge.py", line 832, in _compute_transform
    self.tt.iter_changes(), self.change_reporter)
  File "/Library/Python/2.6/site-packages/bzrlib/delta.py", line 439, in report_changes
    exe_change, kind)
  File "/Library/Python/2.6/site-packages/bzrlib/delta.py", line 394, in report
    old_path, path)
  File "/Library/Python/2.6/site-packages/bzrlib/trace.py", line 121, in note
    _bzr_logger.info(*args, **kwargs)
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/logging/__init__.py", line 1021, in info
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/logging/__init__.py", line 1129, in _log
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/logging/__init__.py", line 1139, in handle
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/logging/__init__.py", line 1176, in callHandlers
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/logging/__init__.py", line 662, in handle
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/logging/__init__.py", line 770, in emit
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/logging/__init__.py", line 713, in handleError
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/traceback.py", line 124, in print_exception
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/traceback.py", line 13, in _print
IOError: [Errno 35] Resource temporarily unavailable

Revision history for this message
Luis Arias (kaaloo) wrote :

Some new information on this. Apparently bzr update on the command line completes successfully. This seems to occur only when running update from bzr-explorer.

Revision history for this message
Andrew Bennetts (spiv) wrote :

Somehow calling bzrlib.trace.note is triggering a EAGAIN or similar... presumably it's trying to write to stderr, and that is what is failing. I wouldn't expect that error from a non-blocking file descriptor, and I wouldn't expect stderr to be non-blocking, but I guess at least one of my assumptions there is wrong.

It might be triggered by something like the parent process not reading the stderr output as fast the child is generating it (or not reading stderr at all until the process is finished)?

Changed in bzr:
importance: Undecided → Medium
status: New → Confirmed
Revision history for this message
Martin Pool (mbp) wrote : Re: [Bug 552596] Re: [Error 35] Resource temporarily unavailable on MacOS

On 1 April 2010 12:34, Andrew Bennetts <email address hidden> wrote:
> Somehow calling bzrlib.trace.note is triggering a EAGAIN or similar...
> presumably it's trying to write to stderr, and that is what is failing.
> I wouldn't expect that error from a non-blocking file descriptor, and I
> wouldn't expect stderr to be non-blocking, but I guess at least one of
> my assumptions there is wrong.

I wouldn't be surprised if bzr explorer makes it a pipe, and that pipe
may somehow be in nonblocking mode, perhaps accidentally. We could,
for instance, force stderr into blocking mode if this theory is true.

> It might be triggered by something like the parent process not reading
> the stderr output as fast the child is generating it (or not reading
> stderr at all until the process is finished)?

--
Martin <http://launchpad.net/~mbp/>

tags: added: mac
Changed in bzr-explorer:
status: New → Incomplete
Revision history for this message
jus (jus) wrote :

Trying to merge some branches from launchpad and getting the same [Error 35] on MacOS 10.6.8 with bzr-explorer 1.1.2 "Bartolomeu Dias" , QBzr 0.21.0dev2, bzrlib 2.4b5, PyQt 4.8.2, Qt 4.7.1, Python 2.6.1

Jelmer Vernooij (jelmer)
tags: added: check-for-breezy
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.