a few pointers needed for solving a bug

Sabin Iacob iacobs at m0n5t3r.info
Thu Mar 22 15:54:10 GMT 2007


John Arbash Meinel wrote:
>> iacobs at moria ~/tmp/tst $ bzr init --dirstate-tags
>>     
>
> I would guess that --dirstate or --dirstate-tags should perform the same
> here. (since they use the same working tree format).
>   

looks like you are right :); I was trying to reproduce the exact 
conditions under which I first ran into problems

reverted to 2365, and still getting the same:

sequence of operations:
 * move everything from a directory somewhere else
 * delete the directory (forgetting to unversion it)
 * try to commit

I get:

missing some/test
renamed some/test/dir => some/dir
bzr: ERROR: The file id file-20070322150508-p1rbbllqejwguoi3-8 is not 
present in the tree <WorkingTree4 of /home/iacobs/tmp/tst2>.

do bzr revert; results in assertion error:

+N  some/test/
R   some/dir/ => some/test/dir/
R   some/filee => some/test/filee
bzr: ERROR: exceptions.AssertionError:

Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/bzrlib/commands.py", line 650, 
in run_bzr_catch_errors
    return run_bzr(argv)
  File "/usr/lib/python2.4/site-packages/bzrlib/commands.py", line 612, 
in run_bzr
    ret = run(*run_argv)
  File "/usr/lib/python2.4/site-packages/bzrlib/commands.py", line 304, 
in run_argv_aliases
    return self.run(**all_cmd_args)
  File "/usr/lib/python2.4/site-packages/bzrlib/builtins.py", line 2751, 
in run
    not no_backup, pb, report_changes=True)
  File "/usr/lib/python2.4/site-packages/bzrlib/mutabletree.py", line 
38, in tree_write_locked
    return unbound(self, *args, **kwargs)
  File "/usr/lib/python2.4/site-packages/bzrlib/workingtree.py", line 
1835, in revert
    report_changes)
  File "/usr/lib/python2.4/site-packages/bzrlib/transform.py", line 
1428, in revert
    tt.apply()
  File "/usr/lib/python2.4/site-packages/bzrlib/transform.py", line 751, 
in apply
    self._tree._write_inventory(inv)
  File "/usr/lib/python2.4/site-packages/bzrlib/mutabletree.py", line 
38, in tree_write_locked
    return unbound(self, *args, **kwargs)
  File "/usr/lib/python2.4/site-packages/bzrlib/workingtree_4.py", line 
1207, in _write_inventory
    self.current_dirstate().set_state_from_inventory(inv)
  File "/usr/lib/python2.4/site-packages/bzrlib/dirstate.py", line 2007, 
in set_state_from_inventory
    self._make_absent(current_old)
  File "/usr/lib/python2.4/site-packages/bzrlib/dirstate.py", line 2055, 
in _make_absent
    assert update_tree_details[0][0] != 'a' # absent
AssertionError

bzr 0.16.0dev0 on python 2.4.4.final.0 (linux2)
arguments: ['/usr/bin/bzr', 'revert']

the branch seems to be hosed after this, bzr st dies, too:

bzr: ERROR: exceptions.TypeError: unsubscriptable object

Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/bzrlib/commands.py", line 650, 
in run_bzr_catch_errors
    return run_bzr(argv)
  File "/usr/lib/python2.4/site-packages/bzrlib/commands.py", line 612, 
in run_bzr
    ret = run(*run_argv)
  File "/usr/lib/python2.4/site-packages/bzrlib/commands.py", line 304, 
in run_argv_aliases
    return self.run(**all_cmd_args)
  File "/usr/lib/python2.4/site-packages/bzrlib/commands.py", line 622, 
in ignore_pipe
    result = func(*args, **kwargs)
  File "/usr/lib/python2.4/site-packages/bzrlib/builtins.py", line 201, 
in run
    to_file=self.outf, short=short, versioned=versioned)
  File "/usr/lib/python2.4/site-packages/bzrlib/status.py", line 157, in 
show_tree_status
    want_unversioned=want_unversioned)
  File "/usr/lib/python2.4/site-packages/bzrlib/tree.py", line 91, in 
changes_from
    want_unversioned=want_unversioned,
  File "/usr/lib/python2.4/site-packages/bzrlib/decorators.py", line 
127, in read_locked
    return unbound(self, *args, **kwargs)
  File "/usr/lib/python2.4/site-packages/bzrlib/tree.py", line 595, in 
compare
    want_unversioned=want_unversioned)
  File "/usr/lib/python2.4/site-packages/bzrlib/delta.py", line 222, in 
_compare_trees
    want_unversioned=want_unversioned):
  File "/usr/lib/python2.4/site-packages/bzrlib/workingtree_4.py", line 
2128, in _iter_changes
    for result in _process_entry(current_entry, None):
  File "/usr/lib/python2.4/site-packages/bzrlib/workingtree_4.py", line 
1909, in _process_entry
    target_parent_id = target_parent_entry[0][2]
TypeError: unsubscriptable object

bzr 0.16.0dev0 on python 2.4.4.final.0 (linux2)
arguments: ['/usr/bin/bzr', 'st']

However, revert actually does what it's supposed to do, the file tree 
gets restored to the previous state.
I attached a script containing the sequence of operations (I attempted 
to build a proper blackbox test, but got lost :( )

HTH

-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.ubuntu.com/archives/bazaar/attachments/20070322/ef19145a/attachment-0001.htm 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: crashme.sh
Type: application/x-sh
Size: 321 bytes
Desc: not available
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20070322/ef19145a/attachment-0001.sh 


More information about the bazaar mailing list