Bardzo poważny (wręcz krytyczny) problem z Sambą. sys_lseek failed. Error was Bad file descriptor
Wojciech Potaczek
wojciech w potaczek.pl
Wto, 16 Gru 2003, 12:06:42 CET
Witam Was bardzo serdecznie.
Od jakiegoś czasu mam następujący problem na dwóch moich sambowych
maszynach:
Losowo i w blizej nieokreślonych warunkach przy próbie odczytu lub zapisu
do pliku pojawia się nastepujący błąd w logach:
[2003/11/18 14:29:16, 0] smbd/fileio.c:seek_file(43)
seek_file: (ELPRO - DOTACJE/BIZNES PLAN - 18 listopada 03..doc) sys_lseek
failed. Error was Bad file descriptor
Problem pojawia sie niezależnie od wersji Windows na końcówce i dotyczy
zarówno Windows 98 SE jak i Windows 2000.
Problem dotyczy plików DOSowych udostepnianych na potrzeby FPP
jak i plików zapisywanych na serwerze przez Office.
Problem pojawia się zarówno przy odczycie plików
(np. gdy chcę uruchomić exe)
jak i przy zapisie, przy czym zapis NISZCZY TE PLIKI dodając na początku
pliku linijkę, która miała trafić do LOGÓW!
Krótko mówiąc Samba zapisuje nie tu, gdzie powinna i zapewne podczas odczytu
też dodaje coś, czego dodawać nie powinna, bo w przypadku pojawienia się
błędu exe wykonuje nieprawidłową operację.
Problem jest nieregularny i nie wiem od czego zależy jego pojawianie się.
Google pokazało mi bardzo niewiele, jednak z tego co pokazało wynika, że
błąd istnieje od ponad roku, jest niezależny od dystrybucji Linuxa
oraz wersji Samby i nie został niestety zdiagnozowany.
Tu są wygoglowane informacje na ten temat:
http://www.mail-archive.com/samba@lists.samba.org/msg23954.html
http://lists.samba.org/archive/samba-technical/2002-June/022465.html
Niestety w niczym mi to nie pomaga.
Nawet jeżeli nie macie pomysłu na rozwiązanie problemu
BARDZO PROSZĘ O SUGESTIE
gdzie szukać przyczyny. W momencie, gdy pojawiło się podejrzenie błędu w
glibc ja poprostu wymiękłem.
Konfiguracja serwerów jest nastepująca:
1) Serwer na płycie Intel L440GX+
System na dysku IDE, dane na softwareowym mirroringu na SCSI.
/dev/md0 oraz /dev/md1 zawierają dane i jest tam XFS.
/var (tam gdzie samba tworzy pliki tdb) i inne partycje są na ReiserFS
System to Ra + updates-security.
Kernel 2.4.20-9 Cięciwy.
Samba w wersji z updates-security a później z updates-general.
Partycje na IDE stawiałem na ReiserFS 3.5 a później zrobiłem to na ReiserFS
3.6 (przenosząc system na nowy dysk IDE)
Próbowałem także przenieść /var/lock/samba na partycję XFS.
2) Zwykły pecet z dyskami IDE przy czym partycja z danymi to XFS
a pozostałe partycje to ReiserFS.
Pozostała konfiguracja Ra jest identyczna.
Dawno temu, za czasów 2.4.19-2.8 chyba nie miałem tego problemu.
Nie wiem jednak co jescze od tamtego czasu aktualizowałem,
glibc na pewno tak.
Poniżej przedstawiam wynik testparma, pominąłem tylko definicje udziałów.
Z góry dziękuję za pomoc i wszelkie sugestie.
Pozdrawiam,
Wojtek Potaczek
=====
Load smb config files from /etc/samba/smb.conf
Processing section "[netlogon]"
Processing section "[homes]"
Processing section "[f]"
Processing section "[g]"
Processing section "[i]"
Processing section "[t]"
Processing section "[backup]"
Processing section "[pdfy]"
Processing section "[pdf-gen]"
Processing section "[print$]"
Loaded services file OK.
Press enter to see a dump of your service definitions
# Global parameters
[global]
coding system =
client code page = 852
code page directory = /etc/samba/codepages
workgroup = ELPRONET
netbios name = CZUJKA
netbios aliases =
netbios scope =
server string = DG-ELPRO SMB Server
interfaces = 192.168.5.1/24 127.0.0.1
bind interfaces only = Yes
security = USER
encrypt passwords = Yes
update encrypted = No
allow trusted domains = No
hosts equiv =
min passwd length = 2
map to guest = Never
null passwords = No
obey pam restrictions = No
password server =
smb passwd file = /etc/samba/smbpasswd
root directory =
pam password change = No
passwd program = /usr/bin/passwd %u
passwd chat = *New*UNIX*password* %n\n *ReType*new*UNIX*password* %n\n
*passwd:*all*authentication*tokens*updated*successfully*
passwd chat debug = No
username map =
password level = 0
username level = 0
unix password sync = Yes
restrict anonymous = No
lanman auth = Yes
use rhosts = No
ssl = No
ssl hosts =
ssl hosts resign =
ssl CA certDir =
ssl CA certFile =
ssl server cert =
ssl server key =
ssl client cert =
ssl client key =
ssl egd socket =
ssl entropy file =
ssl entropy bytes = 256
ssl require clientcert = No
ssl require servercert = No
ssl ciphers =
ssl version = ssl2or3
ssl compatibility = No
admin log = No
log level = 2
syslog = 1
syslog only = No
log file = /var/log/samba/log.%m
max log size = 0
timestamp logs = Yes
debug hires timestamp = No
debug pid = Yes
debug uid = Yes
protocol = NT1
large readwrite = Yes
max protocol = NT1
min protocol = CORE
read bmpx = No
read raw = Yes
write raw = Yes
acl compatibility =
nt smb support = Yes
nt pipe support = Yes
nt status support = Yes
announce version = 4.9
announce as = NT
max mux = 50
max xmit = 16644
name resolve order = bcast wins lmhosts hosts
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
name cache timeout = 660
read size = 16384
socket options = IPTOS_LOWDELAY TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
stat cache size = 50
use mmap = Yes
total print jobs = 0
load printers = Yes
printcap name = /etc/printcap
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 = ISO8859-2
mangled stack = 50
stat cache = Yes
domain admin group =
domain guest group =
machine password timeout = 604800
add user script =
delete user script =
logon script = %U.bat
logon path = \\%N\%U\ntprofile
logon drive =
logon home = \\%N\%U\profile
domain logons = Yes
os level = 65
lm announce = Auto
lm interval = 60
preferred master = Yes
local master = Yes
domain master = Yes
browse list = Yes
enhanced browsing = Yes
dns proxy = No
wins proxy = No
wins server =
wins support = Yes
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 = /var/lock/samba
pid directory = /var/run
utmp directory =
wtmp directory =
utmp = No
default service =
message command =
dfree command =
valid chars =
remote announce =
remote browse sync =
socket address = 192.168.5.1
homedir map = auto.home
time offset = 0
NIS homedir = No
source environment =
panic action =
hide local users = No
host msdfs = 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 = nobody
invalid users =
valid users =
admin users =
read list =
write list =
printer admin = @firma
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 = 192.168.5.
hosts deny =
status = Yes
nt acl support = Yes
profile acls = No
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 = bsd
print command = lpr -r -P%p %s
lpq command = lpq -P%p
lprm command = lprm -P%p %j
lppause command =
lpresume command =
queuepause command =
queueresume command =
printer name =
use client driver = No
default devmode = No
printer driver =
printer driver file = /etc/samba/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 = Yes
dos filetime resolution = No
fake directory create times = No
vfs object =
vfs options =
msdfs root = No
Więcej informacji o liście dyskusyjnej pld-users-pl