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