Test fails on Debian Wheezy, invalid sideband channel 3

Bug #1326213 reported by Nick Phillips
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Dulwich
Triaged
Medium
Unassigned

Bug Description

Fresh d/l of 0.9.6 on Debian Wheezy. Unpack. Run "make check", test fails:

======================================================================
FAIL: test_simple (dulwich.tests.test_porcelain.ArchiveTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "dulwich/tests/test_porcelain.py", line 62, in test_simple
    errstream=err)
  File "dulwich/porcelain.py", line 85, in archive
    client.archive(path, committish, outstream.write, errstream.write)
  File "dulwich/client.py", line 549, in archive
    self._read_side_band64k_data(proto, {1: write_data, 2: progress})
  File "dulwich/client.py", line 280, in _read_side_band64k_data
    raise AssertionError('Invalid sideband channel %d' % channel)
AssertionError: Invalid sideband channel 3

----------------------------------------------------------------------
Ran 863 tests in 73.071s

FAILED (failures=1, skipped=20)

Revision history for this message
Jelmer Vernooij (jelmer) wrote :

So, there are four separate issues here:

 * dulwich.porcelain.archive() is the only functionality in dulwich currently that relies on C git (besides the compat tests). This is a bug.
 * dulwich.client.GitClient.archive() should handle sideband 3 (errors)
 * anything that accesses C git from Dulwich tests should be guarded by require_git_version, as the testsuite should be runnable without having C git available
 * there is something going wrong here that triggers an error in C git, which shouldn't happen

Changed in dulwich:
status: New → Triaged
Revision history for this message
Jelmer Vernooij (jelmer) wrote :

Pushed two commits that address issue 2 and 3.

Changed in dulwich:
importance: Undecided → Low
importance: Low → Medium
Revision history for this message
Nick Phillips (nick-phillips) wrote :

OK, now fails slightly differently. Output during test is:

fatal: sent error to the client: git upload-archive: archiver died with error
Unpacking objects: 100% (3/3), done.3% (1/3)

And traceback:

======================================================================
ERROR: test_simple (dulwich.tests.test_porcelain.ArchiveTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "dulwich/tests/test_porcelain.py", line 65, in test_simple
    errstream=err)
  File "dulwich/porcelain.py", line 94, in archive
    errstream.write)
  File "dulwich/client.py", line 558, in archive
    1: write_data, 2: progress, 3: write_error})
  File "dulwich/client.py", line 276, in _read_side_band64k_data
    for pkt in proto.read_pkt_seq():
  File "dulwich/protocol.py", line 165, in read_pkt_seq
    pkt = self.read_pkt_line()
  File "dulwich/protocol.py", line 114, in read_pkt_line
    raise HangupException()
HangupException: The remote server unexpectedly closed the connection.

----------------------------------------------------------------------
Ran 876 tests in 118.539s

FAILED (errors=1, skipped=23)

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.