Bug 42977 - DAV locking is busted when apr-util is built with gdbm
Summary: DAV locking is busted when apr-util is built with gdbm
Status: NEW
Alias: None
Product: Apache httpd-2
Classification: Unclassified
Component: mod_dav (show other bugs)
Version: 2.4.6
Hardware: Other other
: P2 normal (vote)
Target Milestone: ---
Assignee: Apache HTTPD Bugs Mailing List
Depends on:
Reported: 2007-07-25 23:01 UTC by Sean Hamilton
Modified: 2015-05-07 16:13 UTC (History)
1 user (show)


Note You need to log in before you can comment on or make changes to this bug.
Description Sean Hamilton 2007-07-25 23:01:51 UTC
apr-1.2.9, apr-util-1.2.8, gdbm-1.8.3, httpd-2.2.4, FreeBSD 6.1

[Tue Jul 24 19:12:32 2007] [error] [client ...] Could not LOCK
/upload/index.html due to a failed precondition (e.g. other locks).  [500, #0]
[Tue Jul 24 19:12:32 2007] [error] [client ...] The locks could not be queried
for verification against a possible "If:" header.  [500, #0]
[Tue Jul 24 19:12:32 2007] [error] [client ...] Item not found  [500, #15]

"Item not found"/#15 appears to be directly from gdbm. When I rebuilt apr-util
to use sdbm, all was well.
Comment 1 Philp M. Gollucci 2009-01-18 16:19:18 UTC
CC myself on FreeBSD related bugs
Comment 2 Diego Santa Cruz 2015-05-07 16:13:30 UTC
I stumbled into this bug with httpd 2.4.6 as well and tracked it down.

The problem is the APR DBM wrapper for GDBM, see bug #57900.

BTW, it seems rather unsafe to use GDBM with mod_dav_fs in httpd 2.4.x with one of the threaded MPMs, as GDBM is not thread safe. Shouldn't mod_dav_fs explicitly request a known thread-safe DBM provider?