[Date Prev][Date Next]
Re: slapd (back-bdb) crashing during high modify load (ITS#3188)
This suggested fix appears correct to me. I am testing it now
and will, if all goes well, commit it to HEAD later today.
At 09:42 AM 6/15/2004, email@example.com wrote:
>Full_Name: Ralf Haferkamp
>Version: 2.2.X, HEAD
>OS: Linux (Kernel 2.6)
>Submission from: (NULL) (184.108.40.206)
>I ran a test with about 20 concurrent clients all modifying (replacing) the same
>Attribute of the same entry. During this test slapd segfaulted in
>bdb_modify_internal(). Different debugging sessions showed that it always
>segfaulted when accessing save_attrs struct.
>Also in the log I could always see "bdb_cache_entry_db_relock entry 225, rw 1,
>rc -30995" shorlty before the crash ( -30995 is DB_LOCK_DEADLOCK ).
>bdb_cache_entry_db_relock is called be bdb_cache_modify() which is ignoring this
>error code and seems to free the struct that save_attrs is pointing to.
>I uploaded a small patch that fixes the problem for me. I am not quite sure it
>is completely correct though.