You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Victor Sudakov <su...@sibptus.tomsk.ru> on 2013/08/30 07:23:25 UTC

svn: E000032: Can't write to connection: Broken pipe

Dear Colleagues,

I have a very strange random problem with svnserve (subversion-1.7.10) on
FreeBSD. When trying to import sources into svn, I get the following
message at random moments:


$ svn import -m 'Imported from http://people.freebsd.org/~ae/' .  svn://relay.sibptus.ru:3691/src/netmond-2.3.7
Adding         trap.c
Adding         mib.c
Adding         variables.c
svn: E000032: Can't write to connection: Broken pipe
$

WireShark shows that the connection to svnserve is indeed abruptly terminated.

On the host running svnserve there is the following in syslog:

Aug 30 09:04:50 <auth.err> relay svnserve: encoded packet size too big (4156 > 4096)
Aug 30 09:05:03 <auth.err> relay svnserve: encoded packet size too big (4156 > 4096)

What could be the cause of the problem? 

-- 
Victor Sudakov,  VAS4-RIPE, VAS47-RIPN
sip:sudakov@sibptus.tomsk.ru

Re: svn: E000032: Can't write to connection: Broken pipe

Posted by Philip Martin <ph...@wandisco.com>.
Victor Sudakov <su...@sibptus.tomsk.ru> writes:

> Philip Martin wrote:
>> 
>> > Setting "max-encryption = 0" really fixes the problem. Am I not
>> > supposed to use any encryption or what?
>> 
>> It is supposed to work.
>
> With "max-encryption = 0", is at least my Kerberos key encrypted (not
> sent in the clear over the wire)?

I don't know.  Would it be a problem?  Kerberos is designed to provide
authentication across an insecure network.

>> The error "encoded packet size too big (4152 > 4096)" comes from the
>> SASL library.  Subversion sets the SASL buffersize to 16384 on the
>> client and the server.  It's not clear to me why the SASL GSSAPI module
>> is using 4096.
>
> Is there any debug I could enable and look at? Something in
> lib/sasl2/svn.conf perhaps?

I have no experience debugging SASL.

The best way from my point of view would be to build Subversion and SASL
from source with debug symbols enabled and then use a debugger.

-- 
Philip Martin | Subversion Committer
WANdisco // *Non-Stop Data*

Re: svn: E000032: Can't write to connection: Broken pipe

Posted by Victor Sudakov <su...@sibptus.tomsk.ru>.
Philip Martin wrote:
> 
> > Setting "max-encryption = 0" really fixes the problem. Am I not
> > supposed to use any encryption or what?
> 
> It is supposed to work.

With "max-encryption = 0", is at least my Kerberos key encrypted (not
sent in the clear over the wire)?

> 
> The error "encoded packet size too big (4152 > 4096)" comes from the
> SASL library.  Subversion sets the SASL buffersize to 16384 on the
> client and the server.  It's not clear to me why the SASL GSSAPI module
> is using 4096.

Is there any debug I could enable and look at? Something in
lib/sasl2/svn.conf perhaps?

-- 
Victor Sudakov,  VAS4-RIPE, VAS47-RIPN
sip:sudakov@sibptus.tomsk.ru

Re: svn: E000032: Can't write to connection: Broken pipe

Posted by Philip Martin <ph...@wandisco.com>.
Victor Sudakov <su...@sibptus.tomsk.ru> writes:

> Setting "max-encryption = 0" really fixes the problem. Am I not
> supposed to use any encryption or what?

It is supposed to work.

The error "encoded packet size too big (4152 > 4096)" comes from the
SASL library.  Subversion sets the SASL buffersize to 16384 on the
client and the server.  It's not clear to me why the SASL GSSAPI module
is using 4096.

-- 
Philip Martin | Subversion Committer
WANdisco // *Non-Stop Data*

Re: svn: E000032: Can't write to connection: Broken pipe

Posted by Victor Sudakov <su...@sibptus.tomsk.ru>.
Philip Martin wrote:
> >> > On the host running svnserve there is the following in syslog:
> >> >
> >> > Aug 30 09:04:50 <auth.err> relay svnserve: encoded packet size too big (4156 > 4096)
> >> > Aug 30 09:05:03 <auth.err> relay svnserve: encoded packet size too big (4156 > 4096)
> >> >
> >> > What could be the cause of the problem? 
> >> 
> >> Google suggests that "encoded packet size too big" is a SASL error.
> >> Does you conf/svnserve.conf on the server have "use-sasl = true"?
> >
> > Certainly. I have always used GSSAPI for SVN authentication, but never
> > encountered this problem before.
> 
> The obvious question: what has changed?

Volume. It has been a long time since I imported anything large.

If I add a small file or commit a small change, everything still
works. But when trying to import a whole project, it breaks after
committing several files, maybe three or four.

> 
> >> If so what are the min/max-enryption settings?
> >
> > These settings are commented out, so I guess some default is being
> > used.
> 
> I suppose you could try setting them, perhaps max to zero
> or min to non-zero.

Setting "max-encryption = 0" really fixes the problem. Am I not
supposed to use any encryption or what?

-- 
Victor Sudakov,  VAS4-RIPE, VAS47-RIPN
sip:sudakov@sibptus.tomsk.ru

Re: svn: E000032: Can't write to connection: Broken pipe

Posted by Philip Martin <ph...@wandisco.com>.
Victor Sudakov <su...@sibptus.tomsk.ru> writes:

> Philip Martin wrote:
>> 
>> > On the host running svnserve there is the following in syslog:
>> >
>> > Aug 30 09:04:50 <auth.err> relay svnserve: encoded packet size too big (4156 > 4096)
>> > Aug 30 09:05:03 <auth.err> relay svnserve: encoded packet size too big (4156 > 4096)
>> >
>> > What could be the cause of the problem? 
>> 
>> Google suggests that "encoded packet size too big" is a SASL error.
>> Does you conf/svnserve.conf on the server have "use-sasl = true"?
>
> Certainly. I have always used GSSAPI for SVN authentication, but never
> encountered this problem before.

The obvious question: what has changed?

>> If so what are the min/max-enryption settings?
>
> These settings are commented out, so I guess some default is being
> used.

I suppose you could try setting them, perhaps max to zero
or min to non-zero.

-- 
Philip Martin | Subversion Committer
WANdisco // *Non-Stop Data*

Re: svn: E000032: Can't write to connection: Broken pipe

Posted by Victor Sudakov <su...@sibptus.tomsk.ru>.
Philip Martin wrote:
> 
> > On the host running svnserve there is the following in syslog:
> >
> > Aug 30 09:04:50 <auth.err> relay svnserve: encoded packet size too big (4156 > 4096)
> > Aug 30 09:05:03 <auth.err> relay svnserve: encoded packet size too big (4156 > 4096)
> >
> > What could be the cause of the problem? 
> 
> Google suggests that "encoded packet size too big" is a SASL error.
> Does you conf/svnserve.conf on the server have "use-sasl = true"?

Certainly. I have always used GSSAPI for SVN authentication, but never
encountered this problem before.

> If so what are the min/max-enryption settings?

These settings are commented out, so I guess some default is being
used. I only have this

[svn@relay ~] grep -v ^# repos/src/conf/svnserve.conf | uniq

[general]
anon-access = none
auth-access = write
realm = SIBPTUS.TOMSK.RU

[sasl]
use-sasl = true
[svn@relay ~]

-- 
Victor Sudakov,  VAS4-RIPE, VAS47-RIPN
sip:sudakov@sibptus.tomsk.ru

Re: svn: E000032: Can't write to connection: Broken pipe

Posted by Philip Martin <ph...@wandisco.com>.
Victor Sudakov <su...@sibptus.tomsk.ru> writes:

> On the host running svnserve there is the following in syslog:
>
> Aug 30 09:04:50 <auth.err> relay svnserve: encoded packet size too big (4156 > 4096)
> Aug 30 09:05:03 <auth.err> relay svnserve: encoded packet size too big (4156 > 4096)
>
> What could be the cause of the problem? 

Google suggests that "encoded packet size too big" is a SASL error.
Does you conf/svnserve.conf on the server have "use-sasl = true"?
If so what are the min/max-enryption settings?

-- 
Philip Martin | Subversion Committer
WANdisco // *Non-Stop Data*