[Samba] smbclient 2.2.5 segfaults on Solaris 7 x86 (long article)

Marius Strumyla MStrumyla at Accordant.net
Wed Jul 17 15:25:02 GMT 2002


i'm running samba on solaris x86 only for accessing NT shares. samba is 
not running as a domain master or anything.

the problem is that when i try to upload 18mb file to NT share, 
smbclient crashes.

$ smbclient //<box 1>/<share A>
added interface ip=x.x.1.30 bcast=x.x.255.255 nmask=255.255.0.0
Domain=[ACCORD] OS=[Windows NT 4.0] Server=[NT LAN Manager 4.0]
smb: \> put backup.tar
putting file backup.tar as \backup.tar Error writing file: SUCCESS - 0
SUCCESS - 0 closing remote file \backup.tar
smb: \> Segmentation Fault - core dumped


it starts uploading the file, the upload progress goes _very_ slowly and 
then it crashes.

sometimes it manages to upload 3mb, sometimes even less. it takes about 
two minutes to upload the 3mb.

i need you to help me locate where the problem is. i suspect the problem 
is within my solaris x86 box, because using another solaris 7 sparc and 
samba 2.2.5 with the identical configuration (i checked with 
*testparm*), i can upload the same file just fine.


my configuration:
  share A on box 1 (nt 4.0)
  share B on box 2 (nt 4.0)

  solaris 7 sparc running samba 2.2.5
  solaris 7 x86 running samba 2.2.5


  x86 --uploads 18 mb file--> share A 	[upload is very slow. segfaults]
  x86 --uploads 18 mb file--> share B	[OK]

  sparc --uploads 18mb file--> share A	[OK]
  sparc --uploads 18mb file--> share B	[OK]


here's a stack trace from the core dump:

(gdb) bt
#0  0x08063fed in readline_callback ()
#1  0x080a4d47 in smb_readline ()
#2  0x080640bc in process_stdin ()
#3  0x0806476d in process ()
#4  0x08065e37 in main ()
#5  0x0805f76f in _start ()


*testparm* output on solaris 7 x86 (it's identical to solaris 7 sparc):

Load smb config files from /opt/samba/lib/smb.conf
Processing section "[tmp]"
Processing section "[vartmp]"
Loaded services file OK.
Press enter to see a dump of your service definitions
# Global parameters
[global]
	coding system =
	client code page = 850
	code page directory = /opt/samba/lib/codepages
	workgroup = ACCORD
	netbios name = AHSWEBDEV
	netbios aliases =
	netbios scope =
	server string = CVS Repository (SunOS 5.7)
	interfaces =
	bind interfaces only = No
	security = SERVER
	encrypt passwords = Yes
	update encrypted = No
	allow trusted domains = Yes
	hosts equiv =
	min passwd length = 5
	map to guest = Never
	null passwords = No
	obey pam restrictions = No
	password server = AHSHOME
	smb passwd file = /opt/samba/private/smbpasswd
	root directory =
	pam password change = No
	passwd program = /usr/bin/passwd
	passwd chat = *new*password* %n\n *new*password* %n\n *changed*
	passwd chat debug = No
	username map =
	password level = 0
	username level = 0
	unix password sync = No
	restrict anonymous = No
	lanman auth = Yes
	use rhosts = No
	admin log = No
	log level = 0
	syslog = 1
	syslog only = No
	log file = /var/log/samba/log.%m
	max log size = 50
	timestamp logs = Yes
	debug hires timestamp = No
	debug pid = No
	debug uid = No
	protocol = NT1
	large readwrite = No
	max protocol = NT1
	min protocol = CORE
	read bmpx = No
	read raw = Yes
	write raw = Yes
	nt smb support = Yes
	nt pipe support = Yes
	nt status support = Yes
	announce version = 4.5
	announce as = NT Workstation
	max mux = 50
	max xmit = 65535
	name resolve order = lmhosts host wins bcast
	max packet = 65535
	max ttl = 259200
	max wins ttl = 518400
	min wins ttl = 21600
	time server = No
	unix extensions = No
	change notify timeout = 60
	deadtime = 0
	getwd cache = Yes
	keepalive = 300
	lpq cache time = 10
	max smbd processes = 0
	max disk size = 0
	max open files = 10000
	read size = 16384
	socket options = TCP_NODELAY
	stat cache size = 50
	use mmap = Yes
	total print jobs = 0
	load printers = Yes
	printcap name = lpstat
	disable spoolss = No
	enumports command =
	addprinter command =
	deleteprinter command =
	show add printer wizard = Yes
	os2 driver map =
	strip dot = No
	mangling method = hash
	character set =
	mangled stack = 50
	stat cache = Yes
	domain admin group =
	domain guest group =
	machine password timeout = 604800
	add user script =
	delete user script =
	logon script =
	logon path = \\%N\%U\profile
	logon drive =
	logon home = \\%N\%U
	domain logons = No
	os level = 20
	lm announce = Auto
	lm interval = 60
	preferred master = False
	local master = No
	domain master = False
	browse list = Yes
	enhanced browsing = Yes
	dns proxy = No
	wins proxy = No
	wins server = x.x.1.23
	wins support = No
	wins hook =
	kernel oplocks = Yes
	lock spin count = 3
	lock spin time = 10
	oplock break wait time = 0
	add share command =
	change share command =
	delete share command =
	config file =
	preload =
	lock dir = /opt/samba/var/locks
	pid directory = /opt/samba/var/locks
	default service =
	message command =
	dfree command =
	valid chars =
	remote announce =
	remote browse sync =
	socket address = 0.0.0.0
	homedir map =
	time offset = 0
	NIS homedir = No
	source environment =
	panic action =
	hide local users = No
	winbind uid =
	winbind gid =
	template homedir = /home/%D/%U
	template shell = /bin/false
	winbind separator = \
	winbind cache time = 15
	winbind enum users = Yes
	winbind enum groups = Yes
	winbind use default domain = No
	comment =
	path =
	alternate permissions = No
	username =
	guest account = guest
	invalid users =
	valid users =
	admin users =
	read list =
	write list =
	printer admin =
	force user =
	force group =
	read only = Yes
	create mask = 0744
	force create mode = 00
	security mask = 0777
	force security mode = 00
	directory mask = 0755
	force directory mode = 00
	directory security mask = 0777
	force directory security mode = 00
	force unknown acl user = 00
	inherit permissions = No
	inherit acls = No
	guest only = No
	guest ok = No
	only user = No
	hosts allow =
	hosts deny =
	status = Yes
	nt acl support = Yes
	block size = 1024
	max connections = 0
	min print space = 0
	strict allocate = No
	strict sync = No
	sync always = No
	write cache size = 0
	max print jobs = 1000
	printable = No
	postscript = No
	printing = sysv
	print command = lp -c -d%p %s; rm %s
	lpq command = lpstat -o%p
	lprm command = cancel %p-%j
	lppause command = lp -i %p-%j -H hold
	lpresume command = lp -i %p-%j -H resume
	queuepause command = disable %p
	queueresume command = enable %p
	printer name =
	use client driver = No
	default devmode = No
	printer driver =
	printer driver file = /opt/samba/lib/printers.def
	printer driver location =
	default case = lower
	case sensitive = No
	preserve case = Yes
	short preserve case = Yes
	mangle case = No
	mangling char = ~
	hide dot files = Yes
	hide unreadable = No
	delete veto files = No
	veto files =
	hide files =
	veto oplock files =
	map system = No
	map hidden = No
	map archive = Yes
	mangled names = Yes
	mangled map =
	browseable = Yes
	blocking locks = Yes
	csc policy = manual
	fake oplocks = No
	locking = Yes
	oplocks = Yes
	level2 oplocks = Yes
	oplock contention limit = 2
	posix locking = Yes
	strict locking = No
	share modes = Yes
	copy =
	include =
	exec =
	preexec close = No
	postexec =
	root preexec =
	root preexec close = No
	root postexec =
	available = Yes
	volume =
	fstype = NTFS
	set directory = No
	wide links = Yes
	follow symlinks = Yes
	dont descend =
	magic script =
	magic output =
	delete readonly = No
	dos filemode = No
	dos filetimes = No
	dos filetime resolution = No
	fake directory create times = No
	vfs object =
	vfs options =

[tmp]
	comment = temporary file space
	path = /tmp
	read only = No
	guest ok = Yes

[vartmp]
	comment = persistent file space
	path = /var/tmp
	guest ok = Yes




More information about the samba mailing list