[Samba] repeatedly crashing smbd when printing: broken pipe

Daniel.Ammann at u-blox.com Daniel.Ammann at u-blox.com
Wed Oct 23 15:52:02 GMT 2002


Jerry,
Jeremy,

Thanks for your hints on further tracking down 
the problem.

I did some tcpdump-ing. Not knowing TCP too well, 
I can only conclude the following: It really is 
the client that finishes, BUT it only does so 
after waiting for quite some time (timeout mechanism 
in windows?)

This is what the relevant lines from the tcpdump 
say (butterfly is the client, whale is the 2.2.6 samba 
server):

16:46:31.138352 butterfly.u-blox.ch.1353 > whale.u-blox.ch.netbios-ssn: 
P [tcp sum ok] 397:436(39) ack 78222 win 16767NBT Packet (DF) (ttl 128, 
id 2950, len 79)
16:46:31.138955 whale.u-blox.ch.netbios-ssn > butterfly.u-blox.ch.1353: 
P [tcp sum ok] 78222:78261(39) ack 436 win 32120NBT Packet (DF) (ttl 64, 
id 6006, len 79)
16:46:31.326826 butterfly.u-blox.ch.1353 > whale.u-blox.ch.netbios-ssn: 
. [tcp sum ok] ack 78261 win 16728 (DF) (ttl 128, id 2951, len 40)
16:46:49.102646 butterfly.u-blox.ch.1395 > whale.u-blox.ch.netbios-ssn: 
F [tcp sum ok] 3284:3284(0) ack 1 win 17291 (DF) (ttl 128, id 3091, len 
40)
16:46:49.102667 whale.u-blox.ch.netbios-ssn > butterfly.u-blox.ch.1395: 
. [tcp sum ok] ack 3285 win 28527 (DF) (ttl 64, id 15101, len 40)
16:46:49.115899 butterfly.u-blox.ch.1420 > whale.u-blox.ch.netbios-ssn: 
S [tcp sum ok] 298143836:298143836(0) win 16384 <mss 
1460,nop,nop,sackOK> (DF) (ttl 128, id 3093, len 48)
16:46:49.115930 whale.u-blox.ch.netbios-ssn > butterfly.u-blox.ch.1420: 
S [tcp sum ok] 3359992752:3359992752(0) ack 298143837 win 32120 <mss 
1460,nop,nop,sackOK> (DF) (ttl 64, id 15119, len 48)

Any ideas? 

Best regards,

Daniel

--
Daniel Ammann            Direct: +41 1 7227481
u-blox AG           Switchboard: +41 1 7227444
Zuercherstrasse 68          Fax: +41 1 7227447
8800 Thalwil, Switzerland http://www.u-blox.ch

> -----Original Message-----
> From: jra at dp.samba.org [mailto:jra at dp.samba.org]
> Sent: Tuesday, October 22, 2002 7:53 PM
> To: Ammann, Daniel
> Cc: samba at lists.samba.org
> Subject: Re: [Samba] repeatedly crashing smbd when printing: 
> broken pipe
> 
> 
> On Tue, Oct 22, 2002 at 06:29:30PM +0200, 
> Daniel.Ammann at u-blox.com wrote:
> > for months, we keep fighting issues with smbd 
> > (now at released 2.2.6), config is with spoolss, 
> > domain logon, and the client in question is an 
> > NT4 machine. server is a i386/linux 2.2.19
> > 
> > For a very long time, we thought it was related 
> > to oplocks, but now after having them disabled, 
> > it still is there.
> > 
> > Level 3 Log is as follows:
> > 
> > [2002/10/22 17:08:18, 3] smbd/ipc.c:reply_trans(480)
> >   trans <\PIPE\> data=1224 params=0 setup=2
> > [2002/10/22 17:08:18, 3] smbd/ipc.c:named_pipe(334)
> >   named pipe command on <> name
> > [2002/10/22 17:08:18, 3] smbd/ipc.c:api_fd_reply(296)
> >   Got API command 0x26 on pipe "spoolss" (pnum 
> 7222)free_pipe_context: 
> > destroying talloc pool of size 0
> > [2002/10/22 17:08:18, 3] 
> rpc_server/srv_pipe.c:api_pipe_request(1148)
> >   Doing \PIPE\spoolss
> > [2002/10/22 17:08:18, 3] rpc_server/srv_pipe.c:api_rpcTNP(1180)
> >   api_rpcTNP: pipe 29218 rpc command: SPOOLSS_GETPRINTER
> > [2002/10/22 17:08:18, 3] 
> > rpc_server/srv_pipe_hnd.c:free_pipe_context(448)
> >   free_pipe_context: destroying talloc pool of size 1740
> > [2002/10/22 17:08:18, 0] lib/util_sock.c:write_socket_data(499)
> >   write_socket_data: write failure. Error = Broken pipe
> > [2002/10/22 17:08:18, 0] lib/util_sock.c:write_socket(524)
> >   write_socket: Error writing 1264 bytes to socket 6: ERRNO 
> = Broken 
> > pipe
> > [2002/10/22 17:08:18, 0] lib/util_sock.c:send_smb(704)
> >   Error writing 1264 bytes to client. -1. (Broken pipe)
> > 
> > And in the end, it will exit:
> > 
> > [2002/10/22 17:08:18, 3] smbd/server.c:exit_server(495)
> >   Server exit (send_trans_reply: send_smb failed.
> 
> This means the client disconnected from the server.
> 
> A debug level 10 probably wouldn't help, capture the
> ethernet packets with ethereal and find out whether
> it's the server or client sending a TCP FIN or RST
> packet - that's who to pin the blame on.
> 
> In this log my guess would be it's the client that
> is doing the FIN or RST - there's nothing that smbd
> can do about it. If I'm correct, as to why the client
> is doing this, I don't have a clue unfortunately. You
> will have to wade into the oily pool of Windows :-) :-).
> 
> Jeremy
> 
> 




More information about the samba mailing list