Bug#311491: slapd stops functioning almost completely if a CPU consuming process runs at the same time

2005-06-02 Thread Ulrich Hermisson


On Thu, 2 Jun 2005, Torsten Landschoff wrote:

Hi Ulrich,
[...]
That's unlikely to happen. And, BTW: I guess this bug is also a problem
with the current linux kernel. Somebody on linux-kernel pointed out that
he got 10% CPU usage by having 3 processes talk to each other in a ring
inside an endless loop. For some reason the scheduler thinks that no
process is ready to run.


Hmm, possibly there is a problem with the scheduler itself. However, as I 
have written, the problem didn't show up with woody and a 2.6.7 kernel. I 
have applied the tag "sarge" because of this - why was it removed?


I noticed that in all operating system configurations where the problem 
arises (that is, when using sarge), the slapd fails to spawn additional 
threads when a query is made (which it does when using woody). Maybe here 
something is wrong?



What does top say about your CPU usage?


I don't see anything conspicuous - if I start a CPU consuming process, it 
gets 99%, and slapd almost doesn't show up.



Talking about severities: We will not delay sarge because slapd has a
performance problem for one user.


I am respecting your decision, of course, and I understand completely that 
time is short now.


However, though I have not tested everything, the bug really doesn't seem 
to be specific to any aspect of our slapd configuration, which is simple 
and standard. (Please tell me if I you think that the problem doesn't 
arise in every slapd configuration.) And it is not just a performance 
problem - as I have written, the slapd needs more than 2000 x the amount 
of time it would need without a concurrent process. For all practical 
purposes: It just hangs. I didn't exaggerate to make it seem more 
important. Don't just believe me: This can be reproduced very easily.


Best regards
Ulrich



--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#311491: slapd stops functioning almost completely if a CPU consuming process runs at the same time

2005-06-02 Thread Ulf Rehmann


 | Talking about severities: We will not delay sarge because slapd has a
 | performance problem for one user.=20
 
I guess this is a disputable decision.

This makes sarge unusable for an ldap server. Our whole ldap system (a
few hundred users involved) was repeatedly blocked by this bug,
because of minor cpu consuming processes on that server caused by some
erroneously terminated login processes to that server. 

We had to switch to freebsd for the ldap server because of this.

Please reconsider.



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#311491: slapd stops functioning almost completely if a CPU consuming process runs at the same time

2005-06-02 Thread Torsten Landschoff
Hi Ulrich, 

On Wed, Jun 01, 2005 at 07:10:08PM +0200, Ulrich Hermisson wrote:
 
> I would be very happy with either kind of solution. Since the package, in 
> its current state, cannot be used by us and, as I presume, many other 
> people, it would be a big improvement if the problem were solved before 
> the release of Debian Sarge. I will try to continue to help with this.

That's unlikely to happen. And, BTW: I guess this bug is also a problem
with the current linux kernel. Somebody on linux-kernel pointed out that
he got 10% CPU usage by having 3 processes talk to each other in a ring
inside an endless loop. For some reason the scheduler thinks that no
process is ready to run.

What does top say about your CPU usage?

Talking about severities: We will not delay sarge because slapd has a
performance problem for one user. 

Greetings

Torsten


signature.asc
Description: Digital signature


Bug#311491: slapd stops functioning almost completely if a CPU consuming process runs at the same time

2005-06-01 Thread Ulrich Hermisson


On Wed, 1 Jun 2005, Torsten Landschoff wrote:

On Wed, Jun 01, 2005 at 12:16:05PM +0200, Ulrich Hermisson wrote:


from www.openldap.org (compiled with "--enable-crypt"). Only when I
compile with the configure option "--with-threads=no", everything is
ok, but the slurpd needs threads. With threads, also the test 17
performed by "make test" fails if a CPU consuming process is running
in parallel. I have reproduced the bug on the following
architectures/kernel versions (always with Debian Sarge):
Opteron/2.6.7, Opteron/2.6.11, Athlon/2.6.8, Pentium 4/2.6.8. With
Debian Woody on Pentium 4/2.6.7, everything works, also with FreeBSD.


Known problem. I'd guess the reason is that OpenLDAP is calling
pthread_yield all the time. Making ldap_pvt_thread_yield a no-op might
help here...


Thank you very much! I would also think that this might help. We have, 
however, fixed it by using FreeBSD until the problem is solved in Debian 
Sarge, too.


For me there seem to be just two possibilities:
- The use of the scheduler functions (or whatever leads to this) must be 
considered wrong and harmful in at least this case. Then a fix would be 
something like building the package with this function disabled, just as 
you have proposed.
- It can not be strictly considered wrong. (After all, it apparently works 
perfectly with Debian Woody and FreeBSD.) Then one would have to find out 
where the thread handling within Debian Sarge breaks this correct use of 
functions, and fix the bug there.


I would be very happy with either kind of solution. Since the package, in 
its current state, cannot be used by us and, as I presume, many other 
people, it would be a big improvement if the problem were solved before 
the release of Debian Sarge. I will try to continue to help with this.


With kind regards
Ulrich Hermisson



--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#311491: slapd stops functioning almost completely if a CPU consuming process runs at the same time

2005-06-01 Thread Torsten Landschoff
On Wed, Jun 01, 2005 at 12:16:05PM +0200, Ulrich Hermisson wrote:
 
> from www.openldap.org (compiled with "--enable-crypt"). Only when I
> compile with the configure option "--with-threads=no", everything is
> ok, but the slurpd needs threads. With threads, also the test 17
> performed by "make test" fails if a CPU consuming process is running
> in parallel. I have reproduced the bug on the following
> architectures/kernel versions (always with Debian Sarge):
> Opteron/2.6.7, Opteron/2.6.11, Athlon/2.6.8, Pentium 4/2.6.8. With
> Debian Woody on Pentium 4/2.6.7, everything works, also with FreeBSD.

Known problem. I'd guess the reason is that OpenLDAP is calling
pthread_yield all the time. Making ldap_pvt_thread_yield a no-op might
help here...

Greetings

Torsten


signature.asc
Description: Digital signature


Bug#311491: slapd stops functioning almost completely if a CPU consuming process runs at the same time

2005-06-01 Thread Ulrich Hermisson
Package: slapd
Version: 2.2.23-5
Severity: important

The slapd almost stops working while a CPU consuming process like the
one started by

echo 3^ | bc &

is running on the same machine. That is: a query (e.g. querying a
passwd database by pam_ldap) which is answered immediately (i.e. less
than 1 second) if no such process is running in parallel can take more
than half an hour. One can reduce it to a few minutes by increasing
the priority of slapd to the maximum. If one kills the CPU consuming
process, the query is answered immediately. The bug is completely
reproducible, and I have also reproduced it with the newest version

openldap-stable-20050429.tgz

from www.openldap.org (compiled with "--enable-crypt"). Only when I
compile with the configure option "--with-threads=no", everything is
ok, but the slurpd needs threads. With threads, also the test 17
performed by "make test" fails if a CPU consuming process is running
in parallel. I have reproduced the bug on the following
architectures/kernel versions (always with Debian Sarge):
Opteron/2.6.7, Opteron/2.6.11, Athlon/2.6.8, Pentium 4/2.6.8. With
Debian Woody on Pentium 4/2.6.7, everything works, also with FreeBSD.

With kind regards
Ulrich Hermisson

-- System Information:
Debian Release: 3.1
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)
Kernel: Linux 2.6.8-2-386
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=ISO-8859-1) (ignored: 
LC_ALL set to de_DE)

Versions of packages slapd depends on:
ii  coreutils [fileutils]   5.2.1-2  The GNU core utilities
ii  debconf 1.4.30.13Debian configuration management sy
ii  libc6   2.3.2.ds1-22 GNU C Library: Shared libraries an
ii  libdb4.24.2.52-18Berkeley v4.2 Database Libraries [
ii  libiodbc2   3.52.2-3 iODBC Driver Manager
ii  libldap-2.2-7   2.2.23-5 OpenLDAP libraries
ii  libltdl31.5.6-6  A system independent dlopen wrappe
ii  libperl5.8  5.8.4-8  Shared Perl library
ii  libsasl22.1.19-1.5   Authentication abstraction library
ii  libslp1 1.0.11a-2OpenSLP libraries
ii  libssl0.9.7 0.9.7e-3 SSL shared libraries
ii  libwrap07.6.dbs-8Wietse Venema's TCP wrappers libra
ii  perl [libmime-base64-perl]  5.8.4-8  Larry Wall's Practical Extraction 
ii  psmisc  21.5-1   Utilities that use the proc filesy

-- debconf information:
  slapd/fix_directory: true
* shared/organization: math.uni-bielefeld.de
  slapd/upgrade_slapcat_failure:
  slapd/backend: BDB
* slapd/allow_ldap_v2: true
  slapd/no_configuration: false
  slapd/move_old_database: true
  slapd/suffix_change: false
  slapd/slave_databases_require_updateref:
  slapd/dump_database_destdir: /var/backups/slapd-VERSION
  slapd/autoconf_modules: true
* slapd/domain: math.uni-bielefeld.de
  slapd/password_mismatch:
  slapd/invalid_config: true
  slapd/upgrade_slapadd_failure:
  slapd/dump_database: when needed
  slapd/purge_database: false


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]