Too Many Active Users - With MS Access 97 (PR#17307)

Jeremy Allison jallison at cthulhu.engr.sgi.com
Tue May 25 20:49:49 GMT 1999


fhsmith at logicsouth.com wrote:
> 
> This is a follow up to an item placed on the comp.protocols.smb newsgroup.  I have tried tweaking all of the settings until my face turns blue, so here goes:
> 
> System is RedHat 6.0 - Linux Kernel 2.2.5-1.  Samba 2.0.4b.
> 
> Here is the gist of the problem (also posted on newsgroup).
> 
>  have a Samba server and about 10 Win95 machines accessing it. I have a
> front-end/back-end database with the "programs" themselves located on the
> local machines.  The back-end with the tables and data is on the Samba
> server as is the system.mdw file.  Of course, Access is generating the
> system.ldb and main_data.ldb files on the server where the NSHMAIN.mdw and
> main_data.mdb files are located.
> 
> I have more than one database on this server.  I am able to run at least 3
> of them at one time from one machine using 3 different usernames for MS
> Access (though only one for network services).  It almost seems as though
> these .ldb files are locked to a specific machine or user.  When I log into
> Linux, I am able to manipulate these files at will (delete, write to,
> whatever).  I assume that's because the locking is being done by Samba.
> Permissions are not a problem.
> 
> I have several other applications accessing data from the server (Peachtree
> Accounting, for one) and I am having no difficulties with anything else.
> In fact, I "upgraded" from using Win NT Server 4.0 (it was driving me nuts)
> and I have noticed a significant performance boost, so I want to continue
> using Linux/Samba as the server.
> 

Someone else has confirmed the problem. It's actually a
bug in the glibc2.1 supplied with RedHat 6.0. This glibc
is pretending to have 64 bit file locks and really doesn't,
thus causing Samba to not use it's own 64 -> 32 bit lock
mangling which was designed to fix this precise issue.

Arggghhhh. I wish the glibc people had *checked* that
just dropping the top 32 bits of a lock request was the
correct thing to do (HINT: it isn't :-).

Ok. I will be releasing a later RPM for RedHat 6.0 to
fix this issue. The Samba code is currently correct, I
just need to change the autoconf tests to detect this
bug in glibc.

If you are able to build Samba yourself, the solution is
to unpack the Samba source code, and then hand edit the
configure script to change the one line that reads :

samba_cv_HAVE_STRUCT_FLOCK64=yes

to say :

samba_cv_HAVE_STRUCT_FLOCK64=no

And then rebuild Samba in the normal way (either
via rpm or via ./configure; make).

Note, this is a Linux glibc2.1 specific issue only,
Samba is functioning correctly on other platforms.

Hope this helps,

	Jeremy Allison,
	Samba Team.

-- 
--------------------------------------------------------
Buying an operating system without source is like buying
a self-assembly Space Shuttle with no instructions.
--------------------------------------------------------


More information about the samba mailing list