http cannot tunnel smart protocol

Bug #209570 reported by Vincent Ladeuil
4
Affects Status Importance Assigned to Milestone
Bazaar
New
Critical
Unassigned

Bug Description

When trying to pqm-submit a patch from a bounded branch, I got the following traceback:

bzr pqm-submit -m '(vila) Trivial test suite fixes'
Checking the working tree is clean ...
Checking that the public branch is up to date ...
bzr: ERROR: bzrlib.errors.NoSmartMedium: The transport '<bzrlib.transport.http._urllib.HttpTransport_urllib url=http://bazaar.launchpad.net/%7Ev-ladeuil/bzr/bzr.integration/>' cannot tunnel the smart protocol.

Traceback (most recent call last):
  File "/v/home/vila/src/bzr/trunk/bzrlib/commands.py", line 834, in run_bzr_catch_errors
    return run_bzr(argv)
  File "/v/home/vila/src/bzr/trunk/bzrlib/commands.py", line 790, in run_bzr
    ret = run(*run_argv)
  File "/v/home/vila/src/bzr/trunk/bzrlib/commands.py", line 492, in run_argv_aliases
    return self.run(**all_cmd_args)
  File "/home/vila/.bazaar/plugins/pqm/__init__.py", line 109, in run
    tree=tree)
  File "/home/vila/.bazaar/plugins/pqm/pqm_submit.py", line 205, in submit
    submission.check_public_branch()
  File "/home/vila/.bazaar/plugins/pqm/pqm_submit.py", line 151, in check_public_branch
    public_revision = Branch.open(self.public_location).last_revision()
  File "/v/home/vila/src/bzr/trunk/bzrlib/branch.py", line 110, in open
    possible_transports=possible_transports)
  File "/v/home/vila/src/bzr/trunk/bzrlib/bzrdir.py", line 651, in open
    return BzrDir.open_from_transport(t, _unsupported=_unsupported)
  File "/v/home/vila/src/bzr/trunk/bzrlib/bzrdir.py", line 693, in open_from_transport
    return format.open(transport, _found=True)
  File "/v/home/vila/src/bzr/trunk/bzrlib/bzrdir.py", line 1554, in open
    return self._open(transport)
  File "/v/home/vila/src/bzr/trunk/bzrlib/bzrdir.py", line 2431, in _open
    return remote.RemoteBzrDir(transport)
  File "/v/home/vila/src/bzr/trunk/bzrlib/remote.py", line 65, in __init__
    self._shared_medium = transport.get_shared_medium()
  File "/v/home/vila/src/bzr/trunk/bzrlib/transport/__init__.py", line 637, in get_shared_medium
    raise errors.NoSmartMedium(self)
NoSmartMedium: The transport '<bzrlib.transport.http._urllib.HttpTransport_urllib url=http://bazaar.launchpad.net/%7Ev-ladeuil/bzr/bzr.integration/>' cannot tunnel the smart protocol.

bzr 1.4dev on python 2.5.1 (linux2)
arguments: ['/home/vila/bin/bzr', 'pqm-submit', '-m', '(vila) Trivial test suite fixes']
encoding: 'UTF-8', fsenc: 'UTF-8', lang: 'en_US.UTF-8'
plugins:
  bzrtools /home/vila/.bazaar/plugins/bzrtools [1.3.0]
  defaultToUrllib /home/vila/.bazaar/plugins/defaultToUrllib [unknown]
  diffstat /home/vila/.bazaar/plugins/diffstat [unknown]
  difftools /home/vila/.bazaar/plugins/difftools [0.91.0]
  email /home/vila/.bazaar/plugins/email [unknown]
  grep /home/vila/.bazaar/plugins/grep [unknown]
  gtk /home/vila/.bazaar/plugins/gtk [0.94.0dev0]
  heads /home/vila/.bazaar/plugins/heads [unknown]
  hgrep /home/vila/.bazaar/plugins/hgrep [unknown]
  launchpad /v/home/vila/src/bzr/trunk/bzrlib/plugins/launchpad [unknown]
  loom /home/vila/.bazaar/plugins/loom [1.4.0dev0]
  multiparent /v/home/vila/src/bzr/trunk/bzrlib/plugins/multiparent.pyc [unknown]
  pqm /home/vila/.bazaar/plugins/pqm [1.3.0dev0]
  stats /home/vila/.bazaar/plugins/stats [unknown]
  transportstats /home/vila/.bazaar/plugins/transportstats [unknown]
  upload /home/vila/.bazaar/plugins/upload [unknown]
  usertest /home/vila/.bazaar/plugins/usertest [unknown]
*** 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.

Using bzr.dev@3308 avoid the problem.

I apologize for not diagnosing it further, but my first bet is on rev 3309: Move smart protocol version query logic into the medium, so that we no longer make redundant version queries. (Andrew Bennetts).
The second bet (very lower) being on rev 3315: (jam) avoid opening the master branch during update when it isn't used.

Vincent Ladeuil (vila)
Changed in bzr:
importance: Undecided → Critical
Revision history for this message
Vincent Ladeuil (vila) wrote :

I forgot to mention the setup:

bzr info
Repository checkout (format: pack-0.92)
Location:
  repository checkout root: .
        checkout of branch: sftp://<email address hidden>/%7Ev-ladeuil/bzr/bzr.integration/
         shared repository: /v/home/vila/src/bzr

Related branches:
  public branch: http://bazaar.launchpad.net/~v-ladeuil/bzr/bzr.integration/
    push branch: sftp://<email address hidden>/%7Ev-ladeuil/bzr/bzr.integration/
  parent branch: http://bazaar-vcs.org/bzr/bzr.dev/
  submit branch: http://bazaar-vcs.org/bzr/bzr.dev

I.e. I don't *use* bzr+http, only http.

Revision history for this message
Sabin Iacob (iacobs) wrote :

also happens to me when trying to branch from launchpad:

web tmp # bzr branch lp:bzr-svn bzr-svn
bzr: ERROR: bzrlib.errors.NoSmartMedium: The transport '<bzrlib.transport.http._urllib.HttpTransport_urllib url=http://bazaar.launchpad.net/%7Ejelmer/bzr-svn/0.4/>' cannot tunnel the smart protocol.

Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/bzrlib/commands.py", line 834, in run_bzr_catch_errors
    return run_bzr(argv)
  File "/usr/lib/python2.4/site-packages/bzrlib/commands.py", line 790, in run_bzr
    ret = run(*run_argv)
  File "/usr/lib/python2.4/site-packages/bzrlib/commands.py", line 492, in run_argv_aliases
    return self.run(**all_cmd_args)
  File "/usr/lib/python2.4/site-packages/bzrlib/builtins.py", line 920, in run
    accelerator_tree, br_from = bzrdir.BzrDir.open_tree_or_branch(
  File "/usr/lib/python2.4/site-packages/bzrlib/bzrdir.py", line 773, in open_tree_or_branch
    bzrdir = klass.open(location)
  File "/usr/lib/python2.4/site-packages/bzrlib/bzrdir.py", line 651, in open
    return BzrDir.open_from_transport(t, _unsupported=_unsupported)
  File "/usr/lib/python2.4/site-packages/bzrlib/bzrdir.py", line 693, in open_from_transport
    return format.open(transport, _found=True)
  File "/usr/lib/python2.4/site-packages/bzrlib/bzrdir.py", line 1554, in open
    return self._open(transport)
  File "/usr/lib/python2.4/site-packages/bzrlib/bzrdir.py", line 2431, in _open
    return remote.RemoteBzrDir(transport)
  File "/usr/lib/python2.4/site-packages/bzrlib/remote.py", line 65, in __init__
    self._shared_medium = transport.get_shared_medium()
  File "/usr/lib/python2.4/site-packages/bzrlib/transport/__init__.py", line 637, in get_shared_medium
    raise errors.NoSmartMedium(self)
NoSmartMedium: The transport '<bzrlib.transport.http._urllib.HttpTransport_urllib url=http://bazaar.launchpad.net/%7Ejelmer/bzr-svn/0.4/>' cannot tunnel the smart protocol.

bzr 1.4dev on python 2.4.4 (linux2)
arguments: ['/usr/bin/bzr', 'branch', 'lp:bzr-svn', 'bzr-svn']
encoding: 'ANSI_X3.4-1968', fsenc: 'ANSI_X3.4-1968', lang: None
plugins:
  bzrtools /usr/lib/python2.4/site-packages/bzrlib/plugins/bzrtools [1.1.0]
  launchpad /usr/lib/python2.4/site-packages/bzrlib/plugins/launchpad [unknown]
  multiparent /usr/lib/python2.4/site-packages/bzrlib/plugins/multiparent.py [unknown]
*** 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.

Revision history for this message
Sabin Iacob (iacobs) wrote :

it is probably r3309, reverted to 3308 and it doesn't happen any more (tried 3314 and had the same problem)

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

Sabin, your problem is bug 207558.

It's possible, even likely, that vila's original report in this bug is also a dupe of that bug, although I'm not certain off the top of my head. It's certainly a bug revealed by the same revision, 3309, which enabled auto-probing for a smart server when using http:// URLs.

Revision history for this message
Sabin Iacob (iacobs) wrote :

The crashes seem to originate from the same code, so it's quite likely that this is a dupe. I would suggest changing the summary line on bug 207558, just in case anyone else will search for it (I looked for the error message, i.e. "cannot tunnel smart protocol").

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.