[Pkg-samba-maint] Bug#520794: Bug#520794: samba: smbd memory usage always increase - memory leak

Peter Cordes peter at cordes.ca
Thu Apr 30 21:49:18 UTC 2009


Christian Perrier <bubulle at debian.org> wrote:
> Quoting Peter Cordes (peter at cordes.ca):
> >  I compiled Samba packages for myself with bug_520794.patch (thanks
> > Christian).  I'll keep an eye on it to see if it's still leaking.
> > ping me in a week if I forget to update this.
>
> Any news about this ?

 I wasn't subscribed to the bug (I thought that would happen
automatically after sending mail to nnn at b.d.o), so I didn't get that
email.  I have subscribed now, though, so you can just reply to the bug.

 It doesn't leak memory anymore, but I'm seeing smbd panics every
few days.

Here's a sample from my /var/log/samba/log.smbd:
[2009/04/29 17:38:20,  0] printing/print_cups.c:cups_connect(68)
  Unable to connect to CUPS server localhost:631 - Connection refused
    (these CUPS messages happen at this frequency all the time.  I guess
    I should turn that off whatever wants it, since I don't run CUPS on
    this machine.)
[2009/04/29 17:38:20,  0] printing/print_cups.c:cups_connect(68)
  Unable to connect to CUPS server localhost:631 - Connection refused
[2009/04/29 17:50:29,  0] printing/print_cups.c:cups_connect(68)
  Unable to connect to CUPS server localhost:631 - Connection refused
[2009/04/29 17:50:29,  0] printing/print_cups.c:cups_connect(68)
  Unable to connect to CUPS server localhost:631 - Connection refused
[2009/04/29 18:03:17,  0] printing/print_cups.c:cups_connect(68)
  Unable to connect to CUPS server localhost:631 - Connection refused
[2009/04/29 18:03:17,  0] printing/print_cups.c:cups_connect(68)
  Unable to connect to CUPS server localhost:631 - Connection refused
[2009/04/29 18:06:28,  0] lib/util_tdb.c:tdb_wrap_log(886)
  tdb(/var/lib/samba/passdb.tdb): tdb_transaction_commit: failed to setup recovery data
[2009/04/29 18:06:28,  0] passdb/pdb_tdb.c:tdb_update_sam(1193)
  Could not commit transaction
[2009/04/29 18:06:28,  0] lib/util.c:smb_panic(1663)
  PANIC (pid 14712): transaction_cancel failed
[2009/04/29 18:06:28,  0] lib/util.c:log_stack_trace(1767)
  BACKTRACE: 0 stack frames:
[2009/04/29 18:06:28,  0] lib/util.c:smb_panic(1668)
  smb_panic(): calling panic action [/usr/share/samba/panic-action 14712]
[2009/04/29 18:06:36,  0] lib/util.c:smb_panic(1676)
  smb_panic(): action returned status 0
[2009/04/29 18:06:36,  0] lib/fault.c:dump_core(201)
  dumping core in /var/log/samba/cores/smbd
[2009/04/29 18:06:38,  0] printing/print_cups.c:cups_connect(68)

 All the Samba crashes generate the same series of log file lines.
all with 0 stack frames of backtrace :(

The panic-action script sends email with this backtrace
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread 0xb79f06d0 (LWP 21277)]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
0xb7eeb424 in __kernel_vsyscall ()
#0  0xb7eeb424 in __kernel_vsyscall ()
#1  0xb7b2d6f3 in waitpid () from /lib/i686/cmov/libc.so.6
#2  0xb7acb46b in ?? () from /lib/i686/cmov/libc.so.6
#3  0xb7cb74ad in system () from /lib/i686/cmov/libpthread.so.0
#4  0x08201ef9 in smb_panic ()
#5  0x081d3a5b in ?? ()
#6  0x084f2c97 in ?? ()
#7  0x00000008 in ?? ()
#8  0x0852d3b9 in ?? ()
#9  0x0852dceb in ?? ()
#10 0x000004a9 in ?? ()
#11 0x1db3b1f8 in ?? ()
#12 0xbfc055a8 in ?? ()
#13 0x081dfc3b in memcache_flush ()
#14 0x081d3a85 in ?? ()
#15 0x00000003 in ?? ()
#16 0x091f9ad0 in ?? ()
#17 0xbfc055c8 in ?? ()
#18 0x081b46af in pdb_update_sam_account ()
Backtrace stopped: frame did not save the PC


My smb.conf is not very modern either.  It still uses security=share,
because I set it up that way >6 years ago, and haven't wanted to re-do
my Windows home network since then.  (file attached)

 It's not the parent daemon that panics, and Windows clients seem to
reconnect ok.  Anyway, my users haven't noticed any actual service
interruptions.

-- 
#define X(x,y) x##y
Peter Cordes ;  e-mail: X(peter at cor , des.ca)

"The gods confound the man who first found out how to distinguish the hours!
 Confound him, too, who in this place set up a sundial, to cut and hack
 my day so wretchedly into small pieces!" -- Plautus, 200 BC
-------------- next part --------------
[global]

# Do something sensible when Samba crashes: mail the admin a backtrace
   panic action = /usr/share/samba/panic-action %d

	netbios aliases = llama
#yeti
	workgroup = cordes

# allow stuff like symlinks	
	unix extensions = yes

# access control
;	security = user
	security = share
	invalid users = root
	guest account = samba
; samba is in the users group: files in shares will be accessable
	create mask = 0664
	directory mask = 0775

;	null passwords = yes

; Passwords are encrypted by default. This way the latest Windows 95 and NT
;	clients can connect to the Samba server with no problems.
	encrypt passwords = true
   passdb backend = tdbsam 

	unix password sync = false

; network options
	allow hosts = 192.168.0. 10.0.0. 127.
	
; need llama in allow hosts because it looks up to 24.222.24.77 in /etc/hosts

; these don't have an effect when running from inetd (but matter for e.g. nmblookup)
	interfaces =  10.0.0.0/8 127.0.0.0/8
	#192.168.0.0/24
	bind interfaces only = yes

; This socket options really speed up Samba under Linux, according to my
;	own tests.
	socket options = IPTOS_LOWDELAY TCP_NODELAY
; SO_SNDBUF=4096 SO_RCVBUF=4096

; Please read BROWSING.txt and set the next four parameters according
;	to your network setup. There is no valid default so they are commented
;	out.
;	os level = 0
;	domain master = no
;	local master = no
;	preferred master = no

	name resolve order = host bcast
	dns proxy = no


# logging
; The default maximum log file size is 5 MBytes. That's too big so this
;	next parameter sets it to 1 MByte. Currently, Samba rotates log
;   files (/var/log/{smb,nmb} in Debian) when these files reach 1000 KBytes.
;	A better solution would be to have Samba rotate the log file upon
;	reception of a signal, but for now on, we have to live with this.
	max log size = 500
;	log level = 1
	log level = 0

# misc.
;	printing = bsd
;	printcap name = /etc/printcap
;	load printers = yes

;	lock directory = /var/lock/samba

	server string = %h server (Samba %v)

	preserve case = yes
	short preserve case = yes

# 2008.04.09 - Karen's Replicator failing; try strict locking = no
	strict locking = no

# don't set the execute bit all over the place
	map archive = no

; The following parameter is useful only if you have the linpopup package
;	installed. The samba maintainer and the linpopup maintainer are 
;	working to ease installation and configuration of linpopup and samba.
;	message command = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s; rm %s' &


#============================ Share Declarations ==============================
[homes]
	comment = Home Directories
	guest ok = no
	browseable = no
	read only = no

# can r/w in pub as user:group "samba:users"
[pub]
	comment = PUBLIC space
	path = /pub
	guest ok = yes
	read only = no
	force user = samba
	force group = users

[stuff]
	comment = shared space
	path = /stuff
#	guest only = yes
	guest ok = yes
	read only = no
	force user = samba
	force group = users

[programs]
	comment = Windows software
	path = /stuff/programs
	guest ok = yes
	read only = no
	force user = samba
	force group = users

[large] 
	comment = big files
	path = /mnt/large
	guest ok = yes
	read only = no
	force user = samba
	force group = users

#[cdrom]
#	available = no
#	comment = CD-ROM
#	path = /cdrom
#	read only = yes
#	guest ok = yes

#[cdrw]
#	available = no
#	comment = CD-ROM
#	path = /cdrw
#	read only = yes
#	guest ok = yes

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 359 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-samba-maint/attachments/20090430/204c2452/attachment.pgp>


More information about the Pkg-samba-maint mailing list