EFT.Eric Devolder
1999-Jun-01 15:08 UTC
" ERROR! Out of file structures" with smbd, and Arcserve IT on sm b share
Hi again, I was previously writing for a problem with Arcserve IT and Samba (with linux). The connection drops after 15 minutes. Continuing to understand what's happening, I discovered the following message in the logs: [1999/06/01 14:42:08, 0] smbd/files.c:file_new(85) ERROR! Out of file structures Immediatly I ran into the samba code to try to understand the cause of the problem. Everything was as if the smbd process could not allocate any new file handler (to my best understanding of the samba code). However, if I use a tool like qps to track the open files of the process, Arcserve gets only one file simultaneously from the server (only one fd is open for the file). After some thousend of open files, it crashes ( please refer to the logs below). I tried to simulate it. First, I wrote a little batch to get files and copy tehm to NUL: device, but no chance! DOS (4DOS, in fact) open simultaneously 50 files. And i works perfectly. So I wrote a C program to open a file, read some stuff and close. It performs the operation on several files, and work in a cyclic way. However, I was unable to crash the connection again. Something is perhaps wrong in the way Arcserve talk to Samba :), or perhaps something in Samba :( ? I would ask to a samba code guru please what's *really* happening ? I still have to say that /proc/sys/fs/max-file = 4096, and /proc/sys/fs/nr_file is far below this. Thank you again, Enjoy Samba! P.S. Here are the logs: +++++ ... ERROR! Out of file structures [1999/06/01 14:42:08, 3] smbd/error.c:error_packet(138) error packet at line 710 cmd=162 (SMBntcreateX) eclass=2 ecode=4 [1999/06/01 14:42:08, 3] smbd/process.c:process_smb(615) Transaction 209037 of length 126 [1999/06/01 14:42:08, 3] smbd/process.c:switch_message(448) switch message SMBtrans2 (pid 29675) [1999/06/01 14:42:08, 3] lib/doscalls.c:dos_ChDir(336) dos_ChDir to /etc [1999/06/01 14:42:08, 3] lib/doscalls.c:dos_ChDir(336) dos_ChDir to / [1999/06/01 14:42:08, 3] smbd/trans2.c:call_trans2findfirst(665) call_trans2findfirst: dirtype = 22, maxentries = 3, close_after_first=1, close_if_end = 0 requires_resume_key = 1 level = 260, max_data_bytes = 352 [1999/06/01 14:42:08, 3] lib/util.c:unix_clean_name(609) unix_clean_name [/home/admin/labels/cd-rom/eft/cdlabe3.cdr] [1999/06/01 14:42:08, 3] lib/util.c:unix_clean_name(609) unix_clean_name [home/admin/labels/cd-rom/eft/cdlabe3.cdr] [1999/06/01 14:42:08, 3] lib/util.c:unix_clean_name(609) unix_clean_name [home/admin/labels/cd-rom/eft] [1999/06/01 14:42:08, 3] smbd/dir.c:dptr_create(474) creating new dirptr 256 for path home/admin/labels/cd-rom/eft, expect_close = 1 [1999/06/01 14:42:08, 3] smbd/process.c:process_smb(615) Transaction 209038 of length 120 [1999/06/01 14:42:08, 3] smbd/process.c:switch_message(448) switch message SMBtrans2 (pid 29675) [1999/06/01 14:42:08, 3] lib/doscalls.c:dos_ChDir(336) dos_ChDir to /etc [1999/06/01 14:42:08, 3] lib/doscalls.c:dos_ChDir(336) dos_ChDir to / [1999/06/01 14:42:08, 3] smbd/trans2.c:call_trans2qfilepathinfo(1310) call_trans2qfilepathinfo: TRANSACT2_QPATHINFO: level = 257 [1999/06/01 14:42:08, 3] lib/util.c:unix_clean_name(609) unix_clean_name [/home/admin/labels/cd-rom/eft/cdlabe3.cdr] [1999/06/01 14:42:08, 3] lib/util.c:unix_clean_name(609) unix_clean_name [home/admin/labels/cd-rom/eft/cdlabe3.cdr] [1999/06/01 14:42:08, 3] smbd/trans2.c:call_trans2qfilepathinfo(1328) call_trans2qfilepathinfo home/admin/labels/cd-rom/eft/cdlabe3.cdr level=257 call=5 total_data=0 [1999/06/01 14:42:08, 3] smbd/process.c:process_smb(615) Transaction 209039 of length 129 [1999/06/01 14:42:08, 3] smbd/process.c:switch_message(448) switch message SMBntcreateX (pid 29675) [1999/06/01 14:42:08, 3] lib/doscalls.c:dos_ChDir(336) dos_ChDir to /etc [1999/06/01 14:42:08, 3] lib/doscalls.c:dos_ChDir(336) dos_ChDir to / [1999/06/01 14:42:08, 3] lib/util.c:unix_clean_name(609) unix_clean_name [/home/admin/labels/cd-rom/eft/cdlabe3.cdr] [1999/06/01 14:42:08, 0] smbd/files.c:file_new(85) ERROR! Out of file structures [1999/06/01 14:42:08, 3] smbd/error.c:error_packet(138) error packet at line 710 cmd=162 (SMBntcreateX) eclass=2 ecode=4 [1999/06/01 14:42:08, 3] smbd/process.c:process_smb(615) Transaction 209040 of length 125 [1999/06/01 14:42:08, 3] smbd/process.c:switch_message(448) switch message SMBtrans2 (pid 29675) [1999/06/01 14:42:08, 3] lib/doscalls.c:dos_ChDir(336) dos_ChDir to /etc [1999/06/01 14:42:08, 3] lib/doscalls.c:dos_ChDir(336) dos_ChDir to / [1999/06/01 14:42:08, 3] smbd/trans2.c:call_trans2findfirst(665) call_trans2findfirst: dirtype = 22, maxentries = 3, close_after_first=1, close_if_end = 0 requires_resume_key = 1 level = 260, max_data_bytes = 352 [1999/06/01 14:42:08, 3] lib/util.c:unix_clean_name(609) unix_clean_name [/home/admin/labels/cd-rom/eft/livret.dsn] [1999/06/01 14:42:08, 3] lib/util.c:unix_clean_name(609) unix_clean_name [home/admin/labels/cd-rom/eft/livret.dsn] [1999/06/01 14:42:08, 3] lib/util.c:unix_clean_name(609) unix_clean_name [home/admin/labels/cd-rom/eft] [1999/06/01 14:42:08, 3] smbd/dir.c:dptr_create(474) creating new dirptr 256 for path home/admin/labels/cd-rom/eft, expect_close = 1 [1999/06/01 14:42:08, 3] smbd/process.c:process_smb(615) Transaction 209041 of length 119 [1999/06/01 14:42:08, 3] smbd/process.c:switch_message(448) switch message SMBtrans2 (pid 29675) [1999/06/01 14:42:08, 3] lib/doscalls.c:dos_ChDir(336) dos_ChDir to /etc [1999/06/01 14:42:08, 3] lib/doscalls.c:dos_ChDir(336) dos_ChDir to / [1999/06/01 14:42:08, 3] smbd/trans2.c:call_trans2qfilepathinfo(1310) call_trans2qfilepathinfo: TRANSACT2_QPATHINFO: level = 257 [1999/06/01 14:42:08, 3] lib/util.c:unix_clean_name(609) unix_clean_name [/home/admin/labels/cd-rom/eft/livret.dsn] [1999/06/01 14:42:08, 3] lib/util.c:unix_clean_name(609) unix_clean_name [home/admin/labels/cd-rom/eft/livret.dsn] [1999/06/01 14:42:08, 3] smbd/trans2.c:call_trans2qfilepathinfo(1328) call_trans2qfilepathinfo home/admin/labels/cd-rom/eft/livret.dsn level=257 call=5 total_data=0 [1999/06/01 14:42:08, 3] smbd/process.c:process_smb(615) Transaction 209042 of length 128 [1999/06/01 14:42:08, 3] smbd/process.c:switch_message(448) switch message SMBntcreateX (pid 29675) [1999/06/01 14:42:08, 3] lib/doscalls.c:dos_ChDir(336) dos_ChDir to /etc [1999/06/01 14:42:08, 3] lib/doscalls.c:dos_ChDir(336) dos_ChDir to / [1999/06/01 14:42:08, 3] lib/util.c:unix_clean_name(609) unix_clean_name [/home/admin/labels/cd-rom/eft/livret.dsn] [1999/06/01 14:42:08, 0] smbd/files.c:file_new(85) ERROR! Out of file structures [1999/06/01 14:42:08, 3] smbd/error.c:error_packet(138) error packet at line 710 cmd=162 (SMBntcreateX) eclass=2 ecode=4 [1999/06/01 14:42:09, 3] smbd/process.c:process_smb(615) Transaction 209043 of length 126 [1999/06/01 14:42:09, 3] smbd/process.c:switch_message(448) switch message SMBtrans2 (pid 29675) [1999/06/01 14:42:09, 3] lib/doscalls.c:dos_ChDir(336) dos_ChDir to /etc [1999/06/01 14:42:09, 3] lib/doscalls.c:dos_ChDir(336) dos_ChDir to / [1999/06/01 14:42:09, 3] smbd/trans2.c:call_trans2findfirst(665) call_trans2findfirst: dirtype = 22, maxentries = 3, close_after_first=1, close_if_end = 0 requires_resume_key = 1 level = 260, max_data_bytes = 352 [1999/06/01 14:42:09, 3] lib/util.c:unix_clean_name(609) unix_clean_name [/home/admin/labels/cd-rom/eft/livret2.dsn] [1999/06/01 14:42:09, 3] lib/util.c:unix_clean_name(609) unix_clean_name [home/admin/labels/cd-rom/eft/livret2.dsn] [1999/06/01 14:42:09, 3] lib/util.c:unix_clean_name(609) unix_clean_name [home/admin/labels/cd-rom/eft] [1999/06/01 14:42:09, 3] smbd/dir.c:dptr_create(474) creating new dirptr 256 for path home/admin/labels/cd-rom/eft, expect_close = 1 [1999/06/01 14:42:09, 3] smbd/process.c:process_smb(615) Transaction 209044 of length 120 [1999/06/01 14:42:09, 3] smbd/process.c:switch_message(448) switch message SMBtrans2 (pid 29675) [1999/06/01 14:42:09, 3] lib/doscalls.c:dos_ChDir(336) dos_ChDir to /etc [1999/06/01 14:42:09, 3] lib/doscalls.c:dos_ChDir(336) dos_ChDir to / [1999/06/01 14:42:09, 3] smbd/trans2.c:call_trans2qfilepathinfo(1310) call_trans2qfilepathinfo: TRANSACT2_QPATHINFO: level = 257 [1999/06/01 14:42:09, 3] lib/util.c:unix_clean_name(609) unix_clean_name [/home/admin/labels/cd-rom/eft/livret2.dsn] [1999/06/01 14:42:09, 3] lib/util.c:unix_clean_name(609) unix_clean_name [home/admin/labels/cd-rom/eft/livret2.dsn] [1999/06/01 14:42:09, 3] smbd/trans2.c:call_trans2qfilepathinfo(1328) call_trans2qfilepathinfo home/admin/labels/cd-rom/eft/livret2.dsn level=257 call=5 total_data=0 [1999/06/01 14:42:09, 3] smbd/process.c:process_smb(615) Transaction 209045 of length 129 [1999/06/01 14:42:09, 3] smbd/process.c:switch_message(448) switch message SMBntcreateX (pid 29675) [1999/06/01 14:42:09, 3] lib/doscalls.c:dos_ChDir(336) dos_ChDir to /etc [1999/06/01 14:42:09, 3] lib/doscalls.c:dos_ChDir(336) dos_ChDir to / [1999/06/01 14:42:09, 3] lib/util.c:unix_clean_name(609) unix_clean_name [/home/admin/labels/cd-rom/eft/livret2.dsn] [1999/06/01 14:42:09, 0] smbd/files.c:file_new(85) ERROR! Out of file structures [1999/06/01 14:42:09, 3] smbd/error.c:error_packet(138) error packet at line 710 cmd=162 (SMBntcreateX) eclass=2 ecode=4 [1999/06/01 14:42:10, 3] smbd/process.c:process_smb(615) Transaction 209046 of length 126 [1999/06/01 14:42:10, 3] smbd/process.c:switch_message(448) switch message SMBtrans2 (pid 29675) [1999/06/01 14:42:10, 3] lib/doscalls.c:dos_ChDir(336) dos_ChDir to /etc [1999/06/01 14:42:10, 3] lib/doscalls.c:dos_ChDir(336) dos_ChDir to / [1999/06/01 14:42:10, 3] smbd/trans2.c:call_trans2findfirst(665) call_trans2findfirst: dirtype = 22, maxentries = 3, close_after_first=1, close_if_end = 0 requires_resume_key = 1 level = 260, max_data_bytes = 352 [1999/06/01 14:42:10, 3] lib/util.c:unix_clean_name(609) unix_clean_name [/home/admin/labels/cd-rom/eft/cdlabe2.cdr] [1999/06/01 14:42:10, 3] lib/util.c:unix_clean_name(609) unix_clean_name [home/admin/labels/cd-rom/eft/cdlabe2.cdr] [1999/06/01 14:42:10, 3] lib/util.c:unix_clean_name(609) unix_clean_name [home/admin/labels/cd-rom/eft] [1999/06/01 14:42:10, 3] smbd/dir.c:dptr_create(474) creating new dirptr 256 for path home/admin/labels/cd-rom/eft, expect_close = 1 [1999/06/01 14:42:10, 3] smbd/process.c:process_smb(615) Transaction 209047 of length 120 [1999/06/01 14:42:10, 3] smbd/process.c:switch_message(448) switch message SMBtrans2 (pid 29675) [1999/06/01 14:42:10, 3] lib/doscalls.c:dos_ChDir(336) dos_ChDir to /etc [1999/06/01 14:42:10, 3] lib/doscalls.c:dos_ChDir(336) dos_ChDir to / [1999/06/01 14:42:10, 3] smbd/trans2.c:call_trans2qfilepathinfo(1310) call_trans2qfilepathinfo: TRANSACT2_QPATHINFO: level = 257 [1999/06/01 14:42:10, 3] lib/util.c:unix_clean_name(609) unix_clean_name [/home/admin/labels/cd-rom/eft/cdlabe2.cdr] [1999/06/01 14:42:10, 3] lib/util.c:unix_clean_name(609) unix_clean_name [home/admin/labels/cd-rom/eft/cdlabe2.cdr] [1999/06/01 14:42:10, 3] smbd/trans2.c:call_trans2qfilepathinfo(1328) call_trans2qfilepathinfo home/admin/labels/cd-rom/eft/cdlabe2.cdr level=257 call=5 total_data=0 [1999/06/01 14:42:10, 3] smbd/process.c:process_smb(615) Transaction 209048 of length 129 [1999/06/01 14:42:10, 3] smbd/process.c:switch_message(448) switch message SMBntcreateX (pid 29675) [1999/06/01 14:42:10, 3] lib/doscalls.c:dos_ChDir(336) dos_ChDir to /etc [1999/06/01 14:42:10, 3] lib/doscalls.c:dos_ChDir(336) dos_ChDir to / [1999/06/01 14:42:10, 3] lib/util.c:unix_clean_name(609) unix_clean_name [/home/admin/labels/cd-rom/eft/cdlabe2.cdr] [1999/06/01 14:42:10, 0] smbd/files.c:file_new(85) ERROR! Out of file structures [1999/06/01 14:42:10, 3] smbd/error.c:error_packet(138) error packet at line 710 cmd=162 (SMBntcreateX) eclass=2 ecode=4 [1999/06/01 14:42:10, 3] smbd/process.c:process_smb(615) Transaction 209049 of length 132 [1999/06/01 14:42:10, 3] smbd/process.c:switch_message(448) switch message SMBtrans2 (pid 29675) [1999/06/01 14:42:10, 3] lib/doscalls.c:dos_ChDir(336) dos_ChDir to /etc [1999/06/01 14:42:10, 3] lib/doscalls.c:dos_ChDir(336) dos_ChDir to / [1999/06/01 14:42:10, 3] smbd/trans2.c:call_trans2findfirst(665) call_trans2findfirst: dirtype = 22, maxentries = 3, close_after_first=1, close_if_end = 0 requires_resume_key = 1 level = 260, max_data_bytes = 352 [1999/06/01 14:42:10, 3] lib/util.c:unix_clean_name(609) unix_clean_name [/home/admin/labels/cd-rom/eft/cdXtractlabel.cdr] [1999/06/01 14:42:10, 3] lib/util.c:unix_clean_name(609) unix_clean_name [home/admin/labels/cd-rom/eft/cdXtractlabel.cdr] [1999/06/01 14:42:10, 3] lib/util.c:unix_clean_name(609) unix_clean_name [home/admin/labels/cd-rom/eft] [1999/06/01 14:42:10, 3] smbd/dir.c:dptr_create(474) creating new dirptr 256 for path home/admin/labels/cd-rom/eft, expect_close = 1 [1999/06/01 14:42:10, 3] smbd/process.c:process_smb(615) Transaction 209050 of length 126 [1999/06/01 14:42:10, 3] smbd/process.c:switch_message(448) switch message SMBtrans2 (pid 29675) [1999/06/01 14:42:10, 3] lib/doscalls.c:dos_ChDir(336) dos_ChDir to /etc [1999/06/01 14:42:10, 3] lib/doscalls.c:dos_ChDir(336) dos_ChDir to / [1999/06/01 14:42:10, 3] smbd/trans2.c:call_trans2qfilepathinfo(1310) call_trans2qfilepathinfo: TRANSACT2_QPATHINFO: level = 257 [1999/06/01 14:42:10, 3] lib/util.c:unix_clean_name(609) unix_clean_name [/home/admin/labels/cd-rom/eft/cdXtractlabel.cdr] [1999/06/01 14:42:10, 3] lib/util.c:unix_clean_name(609) unix_clean_name [home/admin/labels/cd-rom/eft/cdXtractlabel.cdr] [1999/06/01 14:42:10, 3] smbd/trans2.c:call_trans2qfilepathinfo(1328) call_trans2qfilepathinfo home/admin/labels/cd-rom/eft/cdXtractlabel.cdr level=257 call=5 total_data=0 [1999/06/01 14:42:10, 3] smbd/process.c:process_smb(615) Transaction 209051 of length 135 [1999/06/01 14:42:10, 3] smbd/process.c:switch_message(448) switch message SMBntcreateX (pid 29675) [1999/06/01 14:42:10, 3] lib/doscalls.c:dos_ChDir(336) dos_ChDir to /etc [1999/06/01 14:42:10, 3] lib/doscalls.c:dos_ChDir(336) dos_ChDir to / [1999/06/01 14:42:10, 3] lib/util.c:unix_clean_name(609) unix_clean_name [/home/admin/labels/cd-rom/eft/cdXtractlabel.cdr] [1999/06/01 14:42:10, 0] smbd/files.c:file_new(85) ERROR! Out of file structures [1999/06/01 14:42:10, 3] smbd/error.c:error_packet(138) error packet at line 710 cmd=162 (SMBntcreateX) eclass=2 ecode=4 [1999/06/01 14:42:11, 3] smbd/process.c:process_smb(615) Transaction 209052 of length 142 [1999/06/01 14:42:11, 3] smbd/process.c:switch_message(448) switch message SMBtrans2 (pid 29675) [1999/06/01 14:42:11, 3] lib/doscalls.c:dos_ChDir(336) dos_ChDir to /etc [1999/06/01 14:42:11, 3] lib/doscalls.c:dos_ChDir(336) dos_ChDir to / [1999/06/01 14:42:11, 3] smbd/trans2.c:call_trans2findfirst(665) call_trans2findfirst: dirtype = 22, maxentries = 3, close_after_first=1, close_if_end = 0 requires_resume_key = 1 level = 260, max_data_bytes = 352 [1999/06/01 14:42:11, 3] lib/util.c:unix_clean_name(609) unix_clean_name [/home/admin/labels/cd-rom/eft/Backup_of_cdXtractlabel.cdr] [1999/06/01 14:42:11, 3] lib/util.c:unix_clean_name(609) unix_clean_name [home/admin/labels/cd-rom/eft/Backup_of_cdXtractlabel.cdr] [1999/06/01 14:42:11, 3] lib/util.c:unix_clean_name(609) unix_clean_name [home/admin/labels/cd-rom/eft] [1999/06/01 14:42:11, 3] smbd/dir.c:dptr_create(474) creating new dirptr 256 for path home/admin/labels/cd-rom/eft, expect_close = 1 [1999/06/01 14:42:11, 3] smbd/process.c:process_smb(615) Transaction 209053 of length 136 [1999/06/01 14:42:11, 3] smbd/process.c:switch_message(448) switch message SMBtrans2 (pid 29675) [1999/06/01 14:42:11, 3] lib/doscalls.c:dos_ChDir(336) dos_ChDir to /etc [1999/06/01 14:42:11, 3] lib/doscalls.c:dos_ChDir(336) dos_ChDir to / [1999/06/01 14:42:11, 3] smbd/trans2.c:call_trans2qfilepathinfo(1310) call_trans2qfilepathinfo: TRANSACT2_QPATHINFO: level = 257 [1999/06/01 14:42:11, 3] lib/util.c:unix_clean_name(609) unix_clean_name [/home/admin/labels/cd-rom/eft/Backup_of_cdXtractlabel.cdr] [1999/06/01 14:42:11, 3] lib/util.c:unix_clean_name(609) unix_clean_name [home/admin/labels/cd-rom/eft/Backup_of_cdXtractlabel.cdr] [1999/06/01 14:42:11, 3] smbd/trans2.c:call_trans2qfilepathinfo(1328) call_trans2qfilepathinfo home/admin/labels/cd-rom/eft/Backup_of_cdXtractlabel.cdr level=257 call=5 total_data=0 [1999/06/01 14:42:11, 3] smbd/process.c:process_smb(615) Transaction 209054 of length 145 [1999/06/01 14:42:11, 3] smbd/process.c:switch_message(448) switch message SMBntcreateX (pid 29675) [1999/06/01 14:42:11, 3] lib/doscalls.c:dos_ChDir(336) dos_ChDir to /etc [1999/06/01 14:42:11, 3] lib/doscalls.c:dos_ChDir(336) dos_ChDir to / [1999/06/01 14:42:11, 3] lib/util.c:unix_clean_name(609) unix_clean_name [/home/admin/labels/cd-rom/eft/Backup_of_cdXtractlabel.cdr] [1999/06/01 14:42:11, 0] smbd/files.c:file_new(85) ERROR! Out of file structures [1999/06/01 14:42:11, 3] smbd/error.c:error_packet(138) error packet at line 710 cmd=162 (SMBntcreateX) eclass=2 ecode=4 ... +++ Regards, Eric Devolder