Jason, On Sat, Apr 17, 2004 at 01:22:00AM -0400, Jason Lixfeld wrote: > I've been having this issue with openldap for over a month now and they > folks at openldap seem to think this may be a FreeBSD issue. Not sure > if it's a general FreeBSD issue or an AMD64 issue so it's going to > both. > > Can anyone have a look at this and tell me what they think?
It looks to me as if you've discovered quite a tricky bug here. It's not clear from the symptoms you describe if the fault is in the OpenLDAP code, the code of any of the dependencies it links against -- although I think your testing of BDB vs LDBM has eliminated those as suspects -- or the underlying FreeBSD system libraries. Neither is it clear if the problem is a coding mistake in any of those projects, or perhaps a bug in the compiler. Now, I assume that egregious errors due to being on a 64bit rather than a 32bit platform are not likely to happen in the OpenLDAP code, since it runs on any number of 64bit platforms like solaris-sparc. Subtle errors are a different matter. AMD64 is now a tier-1 platform on FreeBSD, which means it's been through a lot of testing to prove it's stability and correct operation, but that status is new with 5.x, so there are undoubtedly plenty of bugs still there to fix. 5.x is also using gcc-3.3.x as the system compiler, again in a large part for the ability to support the new tier-1 platforms. In other words it's pretty hard to even predict which of those areas is most likely to be the cause of the problem. As Kris said, running the program under a debugger -- in the hands of an expert programmer -- will be the best route towards dignosing the problem and finding a cure. If you're not capable of doing that sort of thing yourself, finding such a person will be your best route to a proper fix. If you need the LDAP server for business purposes, then offering payment would not be out of order. In the mean time, you need a work-around. I'm not sure if you can run FreeBSD 5.x in 32bit mode on an AMD64 box, but that might be a thing to try. Compiling the software with different versions of gcc (there are several available in ports) and with different optimization levels is worth a go. Failing that, probably the best thing would be to find a spare IA32 machine and use that for your server temporarily. or even (horrors!) try a different OS on your AMD64 box. Cheers, Matthew -- Dr Matthew J Seaman MA, D.Phil. 26 The Paddocks Savill Way PGP: http://www.infracaninophile.co.uk/pgpkey Marlow Tel: +44 1628 476614 Bucks., SL7 1TH UK
Description: PGP signature