I've updated the bug description to hopefully make the fix for affected
branches more explicit: currently the only way to fix an affected branch
is to delete it and push it again with a fixed client (such as 1.14rc2).
Some other workarounds are listed in the bug description too.

Thanks for the update, it sounds like this isn't a new instance of this
bug, so I'll close this bug again.

** Description changed:

  When bzr 1.13.1 and earlier push a stacked branch they do not take care
  to push all the parent inventories for the transferred revisions.  This
  means that a smart server serving that branch often cannot calculate
  inventory deltas for the branch (because smart server does not/cannot
  open fallback repositories).  Prior to 1.13 the server did not have a
  verb to stream revisions out of a repository, so that's why this bug has
  appeared now.
  
  This manifests as exceptions from the server involving
  'AbsentContentFactory'.
  
  e.g. The exception below occurred while pulling lp:~rivenx/rivenx/domes
  using bzr.dev r4237.
  
  bzr: ERROR: bzrlib.errors.ErrorFromSmartServer: Error received from
  smart server: ('error', "'AbsentContentFactory' object has no attribute
  'get_bytes_as'")
  
  Traceback (most recent call last):
    File "/Library/Python/2.6/site-packages/bzrlib/commands.py", line 727, in 
exception_to_return_code
      return the_callable(*args, **kwargs)
    File "/Library/Python/2.6/site-packages/bzrlib/commands.py", line 922, in 
run_bzr
      ret = run(*run_argv)
    File "/Library/Python/2.6/site-packages/bzrlib/commands.py", line 559, in 
run_argv_aliases
      return self.run(**all_cmd_args)
    File "/Library/Python/2.6/site-packages/bzrlib/builtins.py", line 1103, in 
run
      source_branch=br_from)
    File "/Library/Python/2.6/site-packages/bzrlib/bzrdir.py", line 1139, in 
sprout
      result_repo.fetch(source_repository, revision_id=revision_id)
    File "/Library/Python/2.6/site-packages/bzrlib/repository.py", line 1465, 
in fetch
      find_ghosts=find_ghosts, fetch_spec=fetch_spec)
    File "/Library/Python/2.6/site-packages/bzrlib/decorators.py", line 192, in 
write_locked
      result = unbound(self, *args, **kwargs)
    File "/Library/Python/2.6/site-packages/bzrlib/repository.py", line 2991, 
in fetch
      pb=pb, find_ghosts=find_ghosts)
    File "/Library/Python/2.6/site-packages/bzrlib/fetch.py", line 84, in 
__init__
      self.__fetch()
    File "/Library/Python/2.6/site-packages/bzrlib/fetch.py", line 110, in 
__fetch
      self._fetch_everything_for_search(search)
    File "/Library/Python/2.6/site-packages/bzrlib/fetch.py", line 138, in 
_fetch_everything_for_search
      stream, from_format, [])
    File "/Library/Python/2.6/site-packages/bzrlib/repository.py", line 3791, 
in insert_stream
      return self._locked_insert_stream(stream, src_format)
    File "/Library/Python/2.6/site-packages/bzrlib/repository.py", line 3819, 
in _locked_insert_stream
      for substream_type, substream in stream:
    File "/Library/Python/2.6/site-packages/bzrlib/remote.py", line 1709, in 
missing_parents_chain
      for kind, substream in stream:
    File "/Library/Python/2.6/site-packages/bzrlib/smart/repository.py", line 
447, in record_stream
      for bytes in byte_stream:
    File "/Library/Python/2.6/site-packages/bzrlib/smart/message.py", line 336, 
in read_streamed_body
      _translate_error(self._body_error_args)
    File "/Library/Python/2.6/site-packages/bzrlib/smart/message.py", line 355, 
in _translate_error
      raise errors.ErrorFromSmartServer(error_tuple)
  ErrorFromSmartServer: Error received from smart server: ('error', 
"'AbsentContentFactory' object has no attribute 'get_bytes_as'")
  
  bzr 1.14dev on python 2.6.1 (darwin)
  arguments: ['/usr/local/bin/bzr', 'branch', 'lp:~rivenx/rivenx/domes']
  encoding: 'UTF-8', fsenc: 'utf-8', lang: 'en_US.UTF-8'
  plugins:
    bzrtools             
/Library/Python/2.6/site-packages/bzrlib/plugins/bzrtools [1.13]
    keychain_credential_store 
/Volumes/Crossroads/bahamut/.bazaar/plugins/keychain_credential_store [0.1dev]
    launchpad            
/Library/Python/2.6/site-packages/bzrlib/plugins/launchpad [unknown]
    netrc_credential_store 
/Library/Python/2.6/site-packages/bzrlib/plugins/netrc_credential_store 
[unknown]
    svn                  /Volumes/Crossroads/bahamut/.bazaar/plugins/svn 
[0.5.4dev]
  *** Bazaar has encountered an internal error.
      Please report a bug at https://bugs.launchpad.net/bzr/+filebug
      including this traceback, and a description of what you
      were doing when the error occurred.
  
  A workaround is to use non-smart URLs, e.g. sftp:// or
  nosmart+bzr+ssh://.  This works because the client can access the
  stacked-on repository, and the missing data is present there.
  
- bzr.dev has been fixed to push up complete branches always, and a fix
- for the server to make unfixed clients send the missing records has been
- sent to the list for review.
+ To fix an affected branch, delete it and push it again with a fixed
+ client (1.14rc2 or newer).  (Andrew will write a script to push just the
+ missing data to an existing branch, but for now this is the only way to
+ fix an affected branch.)
+ 
+ bzr.devand 1.14rc2 have been fixed to push up complete branches always,
+ and a fix for the server to make unfixed clients send the missing
+ records has been sent to the list for review.

** Changed in: bzr
       Status: Incomplete => Fix Released

-- 
ErrorFromSmartServer - AbsentContentFactory object has no attribute 
'get_bytes_as' exception while pulling from Launchpad
https://bugs.launchpad.net/bugs/354036
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to