threads / discuss / 27568

old but persistent problem: bad line length character

Subject: old but persistent problem: bad line length character

## tl;dr

6 messages between Jun 7, 2011 and Jun 8, 2011.

replies: 5people: 5as markdown or json

Peter Kleiweg· Jun 7, 2011, 16:33 UTC · lore
I get this error message with git version 1.7.5.GIT: 
    fatal: protocol error: bad line length character:
Git version 1.4.4.4 works fine.

I have read this was a very old problem, and there were some fixes, then how come I still get this in the latest version of Git? All the explanations I could find about this bug don't seem to apply for my case.

How do bugs in Git get solved? I can't find an issue tracker. 
Details:

$ export GIT_TRACE=1 $ export GIT_TRACE_PACKET=1 $ git push trace: built-in: git 'push' trace: run_command: 'ssh' 'github' 'git-receive-pack '\''pebbe/Gabmap.git'\''' fatal: protocol error: bad line length character:

The output above comes immediately. When I run the ssh command listed above, it takes time before I get a response. So even if Git does run the command, it doesn't wait for a response from the server.

Setting GIT_TRACE_PACKET doesn't seem to have any effect. 

I added some debug code in pkt-line.c, function packet_read_line(). This tells me that 'buffer' that is passed to packet_read_line() contains nothing but null characters, while 'size' is set to 1000.

Running the ssh command as listed by trace works fine:

$ ssh github git-receive-pack 'pebbe/Gabmap.git' 00720444852406fd34c3eb0c8cdcb05cd2af979d2b34 refs/heads/master report-status delete-refs side-band-64k ofs-delta 0000

-- 
Peter Kleiweg
http://pkleiweg.home.xs4all.nl/
Jeff King· Jun 7, 2011, 18:06 UTC · re: Peter Kleiweg · lore

Re: old but persistent problem: bad line length character

On Tue, Jun 07, 2011 at 06:33:07PM +0200, Peter Kleiweg wrote:
Show 5 quoted lines
> I get this error message with git version 1.7.5.GIT: 
> 
>     fatal: protocol error: bad line length character:
> 
> Git version 1.4.4.4 works fine.

I can't reproduce the problem here. Can you try bisecting to find the commit that introduces the problem?

> How do bugs in Git get solved? I can't find an issue tracker. 
You send an email to the mailing list and people work on it. :)
Show 8 quoted lines
> Details:
> 
> $ export GIT_TRACE=1
> $ export GIT_TRACE_PACKET=1
> $ git push 
> trace: built-in: git 'push'
> trace: run_command: 'ssh' 'github' 'git-receive-pack '\''pebbe/Gabmap.git'\''' 
> fatal: protocol error: bad line length character:

Your "ssh github" is weird. Usually that would be "ssh git@github.com", unless you have set up an alias in .ssh/config. Is that the case? If so, can you show us the alias? Is it going through a proxy machine or anything exotic?

> Setting GIT_TRACE_PACKET doesn't seem to have any effect.

That's probably because we never get any packets; the very first one is bogus, and we abort.

> I added some debug code in pkt-line.c, function 
> packet_read_line(). This tells me that 'buffer' that is passed 
> to packet_read_line() contains nothing but null characters, 
> while 'size' is set to 1000.

Yeah, it's expecting data to be written into it. You need to see what packet_read_line reads into linelen via safe_read (which is also printed in the error message, so it looks from the above like it contains NULs).

Show 5 quoted lines
> Running the ssh command as listed by trace works fine:
> 
> $ ssh github git-receive-pack 'pebbe/Gabmap.git'
> 00720444852406fd34c3eb0c8cdcb05cd2af979d2b34 refs/heads/master report-status delete-refs side-band-64k ofs-delta
> 0000
That looks normal. I wonder why git is not getting the same data.
-Peff
Peter Kleiweg· Jun 7, 2011, 22:32 UTC · re: Jeff King · lore

Re: old but persistent problem: bad line length character

Jeff King schreef op de 7e dag van de zomermaand van het jaar 2011:
Show 5 quoted lines
> On Tue, Jun 07, 2011 at 06:33:07PM +0200, Peter Kleiweg wrote:
> 
> > How do bugs in Git get solved? I can't find an issue tracker. 
> 
> You send an email to the mailing list and people work on it. :)
Is that git@vger.kernel.org ?
Show 8 quoted lines
> > I added some debug code in pkt-line.c, function 
> > packet_read_line(). This tells me that 'buffer' that is passed 
> > to packet_read_line() contains nothing but null characters, 
> > while 'size' is set to 1000.
> 
> Yeah, it's expecting data to be written into it. You need to see what
> packet_read_line reads into linelen via safe_read (which is also printed
> in the error message, so it looks from the above like it contains NULs).
I made it read some more than 4 bytes. And this is what I get:
{27}]0;github git-receive-pack 'pebbe/Gabmap.git'{7}

Ah, I see! I have a wrapper set-up around ssh that sets the window title of the shell to the ssh command argument. That is what messes things up!

OK. Fixed now.
-- 
Peter Kleiweg
http://pkleiweg.home.xs4all.nl/
Junio C Hamano· Jun 8, 2011, 14:56 UTC · re: Peter Kleiweg · lore

Re: old but persistent problem: bad line length character

Peter Kleiweg <pkleiweg@xs4all.nl> writes:
Show 9 quoted lines
> I made it read some more than 4 bytes. And this is what I get:
>
> {27}]0;github git-receive-pack 'pebbe/Gabmap.git'{7}
>
> Ah, I see! I have a wrapper set-up around ssh that sets the 
> window title of the shell to the ssh command argument. That is 
> what messes things up!
>
> OK. Fixed now.

That does not explain why you earlier said 1.4.4.4 works and more recent versions do not, though.

Jakub Narebski· Jun 8, 2011, 17:33 UTC · re: Junio C Hamano · lore

Re: old but persistent problem: bad line length character

Junio C Hamano <gitster@pobox.com> writes:
Show 14 quoted lines
> Peter Kleiweg <pkleiweg@xs4all.nl> writes:
> 
> > I made it read some more than 4 bytes. And this is what I get:
> >
> > {27}]0;github git-receive-pack 'pebbe/Gabmap.git'{7}
> >
> > Ah, I see! I have a wrapper set-up around ssh that sets the 
> > window title of the shell to the ssh command argument. That is 
> > what messes things up!
> >
> > OK. Fixed now.
> 
> That does not explain why you earlier said 1.4.4.4 works and more recent
> versions do not, though.
>From my #git channel logs:
Jun 03 19:09:42 <ShadeHawk>     Hmmm... for a while I had transient (i.e. fixed now) error
                                when fetching from git.kernel.org repositories
Jun 03 19:09:50 <ShadeHawk>     $ git fetch origin
Jun 03 19:09:59 <ShadeHawk>     fatal: protocol error: bad line length character: git:
Jun 03 19:10:24 <ShadeHawk>     but when I wanted to debug it (with GIT_TRACE_PACKET=2),
                                it was already fixed ;-P

$ git version git version 1.7.5

It might be not related with issue that Peter encountered, though.
-- 
Jakub Narebski
Poland
ShadeHawk on #git
Peter Kleiweg· Jun 8, 2011, 18:33 UTC · re: Junio C Hamano · lore

Re: old but persistent problem: bad line length character

Junio C Hamano schreef op de 8e dag van de zomermaand van het jaar 2011:
Show 14 quoted lines
> Peter Kleiweg <pkleiweg@xs4all.nl> writes:
> 
> > I made it read some more than 4 bytes. And this is what I get:
> >
> > {27}]0;github git-receive-pack 'pebbe/Gabmap.git'{7}
> >
> > Ah, I see! I have a wrapper set-up around ssh that sets the 
> > window title of the shell to the ssh command argument. That is 
> > what messes things up!
> >
> > OK. Fixed now.
> 
> That does not explain why you earlier said 1.4.4.4 works and more recent
> versions do not, though.

I downloaded the sources of 1.4.4.4 and compiled it. I get the same problem. I guess the pre-compiled version that comes from Debian uses /usr/bin/ssh, and when I compile it myself it uses the version of ssh it finds in PATH.

-- 
Peter Kleiweg
http://pkleiweg.home.xs4all.nl/

← back to recent threads