" ERROR! Out of file structures" with smbd, and Arcserve IT on sm b share

EFT.Eric Devolder eric.devolder at eft.be
Tue Jun 1 15:08:49 GMT 1999


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


More information about the samba mailing list