put of branch.conf followed by bzr lock/unlock causes traceback from server, corrupts branch.conf

Bug #590628 reported by Andrew Bennetts
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Launchpad itself
Triaged
High
Unassigned

Bug Description

~nigelbabu got this error when attempting to use the workaround for bug 377519:

"""
nigelbabu@nigelbabu-laptop:~$ python touch-branch.py lp:~nigelbabu/ubuntu-review-overview/report-debian
Traceback (most recent call last):
  File "/srv/bazaar.launchpad.net/production/launchpad-rev-9420/lib/lp/codehosting/vfs/branchfs.py", line 498, in rename
    deferred = self.server.branchChanged(abs_from)
  File "/srv/bazaar.launchpad.net/production/launchpad-rev-9420/lib/lp/codehosting/vfs/branchfs.py", line 672, in branchChanged
    return deferred.addCallback(got_path_info).addErrback(log.err)
  File "/home/pqm/for_rollouts/production/eggs/Twisted-10.0.0-py2.5-linux-x86_64.egg/twisted/internet/defer.py", line 224, in addCallback

  File "/home/pqm/for_rollouts/production/eggs/Twisted-10.0.0-py2.5-linux-x86_64.egg/twisted/internet/defer.py", line 213, in addCallbacks

--- <exception caught here> ---
  File "/home/pqm/for_rollouts/production/eggs/Twisted-10.0.0-py2.5-linux-x86_64.egg/twisted/internet/defer.py", line 371, in _runCallbacks

  File "/srv/bazaar.launchpad.net/production/launchpad-rev-9420/lib/lp/codehosting/vfs/branchfs.py", line 652, in got_path_info
    stacked_on_url = self._normalize_stacked_on_url(branch)
  File "/srv/bazaar.launchpad.net/production/launchpad-rev-9420/lib/lp/codehosting/vfs/branchfs.py", line 609, in _normalize_stacked_on_url
    stacked_on_url = get_stacked_on_url(branch)
  File "/srv/bazaar.launchpad.net/production/launchpad-rev-9420/lib/lp/codehosting/bzrutils.py", line 349, in get_stacked_on_url
    return branch.get_stacked_on_url()
  File "/home/pqm/for_rollouts/production/eggs/bzr-2.1.0-py2.5-linux-x86_64.egg/bzrlib/branch.py", line 2685, in get_stacked_on_url

  File "/home/pqm/for_rollouts/production/eggs/bzr-2.1.0-py2.5-linux-x86_64.egg/bzrlib/branch.py", line 1033, in _get_config_location

  File "/home/pqm/for_rollouts/production/eggs/bzr-2.1.0-py2.5-linux-x86_64.egg/bzrlib/config.py", line 187, in get_user_option

  File "/home/pqm/for_rollouts/production/eggs/bzr-2.1.0-py2.5-linux-x86_64.egg/bzrlib/config.py", line 733, in _get_user_option

  File "/home/pqm/for_rollouts/production/eggs/bzr-2.1.0-py2.5-linux-x86_64.egg/bzrlib/config.py", line 406, in _get_user_option

  File "/home/pqm/for_rollouts/production/eggs/bzr-2.1.0-py2.5-linux-x86_64.egg/bzrlib/config.py", line 997, in _get_parser

  File "/home/pqm/for_rollouts/production/eggs/bzr-2.1.0-py2.5-linux-x86_64.egg/bzrlib/config.py", line 1505, in _get_configobj

  File "/home/pqm/for_rollouts/production/eggs/bzr-2.1.0-py2.5-linux-x86_64.egg/bzrlib/config.py", line 143, in ConfigObj

  File "/home/pqm/for_rollouts/production/eggs/bzr-2.1.0-py2.5-linux-x86_64.egg/bzrlib/util/configobj/configobj.py", line 1223, in __init__

  File "/home/pqm/for_rollouts/production/eggs/bzr-2.1.0-py2.5-linux-x86_64.egg/bzrlib/util/configobj/configobj.py", line 1306, in _load

bzrlib.util.configobj.configobj.ParseError: Invalid line at line "2".
"""

Before using the touch-branch.py script, the branch.conf file contains one line, "stacked_on_location = /~ubuntu-reviewers/ubuntu-review-overview/trunk". After, it also contains a second line, "trunk". It appears that the stacked-on location normalisation is not working correctly in this case, and instead adds a nonsensical 2nd line and triggering this traceback.

Note that that is a traceback happening on the *server* that is being relayed to the client.

So there are multiple issues here:

 * that bug 377519 happens in the first place
 * that the normalisation is corrupting the file
 * that a server-side traceback is transmitted to the sftp client, rather than caught and logged as an OOPS.

I think the primary issue for this bug report is the failure to accept a corrected branch.conf successfully.

See the IRC log from #launchpad for today for more details, if necessary. The affected branch has been renamed to <https://code.edge.launchpad.net/~nigelbabu/ubuntu-review-overview/report-debian-broken>

Tim Penhey (thumper)
tags: added: branch-stacking codehosting-ssh
Changed in launchpad-code:
status: New → Triaged
importance: Undecided → Medium
Changed in launchpad:
importance: Medium → High
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.