Push of certain branches gives:
abentley@lappy:~/stacktest/bug294274.abentley$ bzr push bzr+ssh://localhost/home/abentley/stacktest/bug294274 -Derror
bzr: ERROR: bzrlib.errors.RevisionNotPresent: Revision {set([('null:',)])} not present in "KnitVersionedFiles(_KnitGraphIndex(CombinedGraphIndex(GraphIndex('file:///home/abentley/push-probs/ubunet/.bzr/repository/indices/fdf501cffc4e2b5390a98e9bbd68eab8.iix'), GraphIndex('file:///home/abentley/push-probs/ubunet/.bzr/repository/indices/a59c0f4d58ad729a14e5e1ef7fbbe2c9.iix'), GraphIndex('file:///home/abentley/push-probs/ubunet/.bzr/repository/indices/8aad7c12b8b3a00c27187cb176b08c4f.iix'), GraphIndex('file:///home/abentley/push-probs/ubunet/.bzr/repository/indices/6e69b1cc9fb22870858b38a9a9fe15d1.iix'), GraphIndex('file:///home/abentley/push-probs/ubunet/.bzr/repository/indices/3de2dd3e6e4e17e366457af7376211e2.iix'))), <bzrlib.knit._DirectPackAccess object at 0x9740dec>)".
Traceback (most recent call last):
File "/home/abentley/bzr/bzr.dev/bzrlib/commands.py", line 893, in run_bzr_catch_errors
return run_bzr(argv)
File "/home/abentley/bzr/bzr.dev/bzrlib/commands.py", line 839, in run_bzr
ret = run(*run_argv)
File "/home/abentley/bzr/bzr.dev/bzrlib/commands.py", line 539, in run_argv_aliases
return self.run(**all_cmd_args)
File "/home/abentley/bzr/bzr.dev/bzrlib/builtins.py", line 913, in run
use_existing_dir=use_existing_dir)
File "/home/abentley/bzr/bzr.dev/bzrlib/push.py", line 162, in _show_push_branch
stop_revision=revision_id)
File "/home/abentley/bzr/bzr.dev/bzrlib/decorators.py", line 138, in read_locked
result = unbound(self, *args, **kwargs)
File "/home/abentley/bzr/bzr.dev/bzrlib/branch.py", line 1769, in push
_override_hook_source_branch=_override_hook_source_branch)
File "/home/abentley/bzr/bzr.dev/bzrlib/branch.py", line 2495, in _run_with_write_locked_target
result = callable(*args, **kwargs)
File "/home/abentley/bzr/bzr.dev/bzrlib/branch.py", line 1808, in _push_with_bound_branches
result = self._basic_push(target, overwrite, stop_revision)
File "/home/abentley/bzr/bzr.dev/bzrlib/branch.py", line 1831, in _basic_push
graph=graph)
File "/home/abentley/bzr/bzr.dev/bzrlib/decorators.py", line 192, in write_locked
result = unbound(self, *args, **kwargs)
File "/home/abentley/bzr/bzr.dev/bzrlib/remote.py", line 1747, in update_revisions
self.fetch(other, stop_revision)
File "/home/abentley/bzr/bzr.dev/bzrlib/decorators.py", line 192, in write_locked
result = unbound(self, *args, **kwargs)
File "/home/abentley/bzr/bzr.dev/bzrlib/branch.py", line 285, in fetch
pb=nested_pb)
File "/home/abentley/bzr/bzr.dev/bzrlib/remote.py", line 824, in fetch
return inter.fetch(revision_id=revision_id, pb=pb, find_ghosts=find_ghosts)
File "/home/abentley/bzr/bzr.dev/bzrlib/decorators.py", line 192, in write_locked
result = unbound(self, *args, **kwargs)
File "/home/abentley/bzr/bzr.dev/bzrlib/repository.py", line 2811, in fetch
pb, find_ghosts)
File "/home/abentley/bzr/bzr.dev/bzrlib/fetch.py", line 110, in __init__
self.__fetch()
File "/home/abentley/bzr/bzr.dev/bzrlib/fetch.py", line 140, in __fetch
self._fetch_everything_for_search(search, pp)
File "/home/abentley/bzr/bzr.dev/bzrlib/fetch.py", line 166, in _fetch_everything_for_search
for knit_kind, file_id, revisions in data_to_fetch:
File "/home/abentley/bzr/bzr.dev/bzrlib/repository.py", line 1501, in item_keys_introduced_by
file_ids = self.fileids_altered_by_revision_ids(revision_ids, inv_w)
File "/home/abentley/bzr/bzr.dev/bzrlib/repository.py", line 1345, in fileids_altered_by_revision_ids
selected_keys)
File "/home/abentley/bzr/bzr.dev/bzrlib/repository.py", line 1321, in _find_file_ids_from_xml_inventory_lines
line_iterator).iterkeys():
File "/home/abentley/bzr/bzr.dev/bzrlib/repository.py", line 1261, in _find_text_key_references_from_xml_inventory_lines
for line, line_key in line_iterator:
File "/home/abentley/bzr/bzr.dev/bzrlib/knit.py", line 1454, in iter_lines_added_or_present_in_keys
for line, key in source.iter_lines_added_or_present_in_keys(keys):
File "/home/abentley/bzr/bzr.dev/bzrlib/knit.py", line 1461, in iter_lines_added_or_present_in_keys
raise RevisionNotPresent(keys, repr(self))
RevisionNotPresent: Revision {set([('null:',)])} not present in "KnitVersionedFiles(_KnitGraphIndex(CombinedGraphIndex(GraphIndex('file:///home/abentley/push-probs/ubunet/.bzr/repository/indices/fdf501cffc4e2b5390a98e9bbd68eab8.iix'), GraphIndex('file:///home/abentley/push-probs/ubunet/.bzr/repository/indices/a59c0f4d58ad729a14e5e1ef7fbbe2c9.iix'), GraphIndex('file:///home/abentley/push-probs/ubunet/.bzr/repository/indices/8aad7c12b8b3a00c27187cb176b08c4f.iix'), GraphIndex('file:///home/abentley/push-probs/ubunet/.bzr/repository/indices/6e69b1cc9fb22870858b38a9a9fe15d1.iix'), GraphIndex('file:///home/abentley/push-probs/ubunet/.bzr/repository/indices/3de2dd3e6e4e17e366457af7376211e2.iix'))), <bzrlib.knit._DirectPackAccess object at 0x9740dec>)".
This is a smart-server problem. It does not exist in 1.8. Pushing with nosmart does not exhibit this problem.
So far, observed only in ubunet branches.
I've marked this private because the name "ubunet" is confidential.