httpd-bugs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 36636] - database write lock taken for PROPFIND operations
Date Thu, 22 Nov 2007 04:45:35 GMT
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=36636>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=36636





------- Additional Comments From wfelipe@gmail.com  2007-11-21 20:45 -------
Created an attachment (id=21173)
 --> (http://issues.apache.org/bugzilla/attachment.cgi?id=21173&action=view)
changes dav_method_propfind to lockdb only for readonly

changes dav_method_propfind to lockdb only for readonly, instead of exclusive
locking (propfind should be readonly)

in our production environment we still find a problem with locking the db
exclusive when the method propfind is used:

#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb7cae443 in fcntl () from /lib/libpthread.so.0
#2  0xb7d3cbe9 in apr_file_lock (thefile=0x816e440, type=1) at flock.c:46
#3  0xb7d78bf1 in apr_sdbm_lock (db=0x816ef50, type=1) at sdbm_lock.c:50
#4  0xb7d789e4 in apr_sdbm_open (db=0xbfdc0c98, file=0x80eb380 "/tmp/DavLock", 

    flags=1, perms=4095, p=0x814fb90) at sdbm.c:138
#5  0xb7d799d8 in vt_sdbm_open (pdb=0xbfdc0cf8, 
    pathname=0x80eb380 "/tmp/DavLock", mode=1, perm=4095, pool=0x814fb90)
    at apr_dbm_sdbm.c:114
#6  0xb7d7929d in apr_dbm_open (pdb=0xbfdc0cf8, 
    pathname=0x80eb380 "/tmp/DavLock", mode=1, perm=4095, pool=0x814fb90)
    at apr_dbm.c:86
#7  0xb7b10f66 in dav_dbm_open_direct (p=0x814fb90, 
    pathname=0x80eb380 "/tmp/DavLock", ro=1, pdb=0x816e40c) at dbm.c:131
#8  0xb7b11540 in dav_fs_really_open_lockdb (lockdb=0x816e3f0) at lock.c:305
#9  0xb7b30bee in dav_get_resource_state (r=0x814fbc8, resource=0x816e3c8)
    at util_lock.c:715
#10 0xb7b2b844 in dav_handler (r=0x814fbc8) at mod_dav.c:904
#11 0x08068959 in ap_run_handler (r=0x814fbc8) at config.c:152
#12 0x0806b941 in ap_invoke_handler (r=0x814fbc8) at config.c:364
#13 0x08066428 in ap_process_request (r=0x814fbc8) at http_request.c:249
#14 0x08061138 in ap_process_http_connection (c=0x8143500) at http_core.c:253
#15 0x08072d29 in ap_run_process_connection (c=0x8143500) at connection.c:43
#16 0x0806731a in child_main (child_num_arg=<value optimized out>)
    at prefork.c:610
#17 0x080675a3 in make_child (s=0x80a1e88, slot=299) at prefork.c:704
#18 0x08067dd0 in ap_mpm_run (_pconf=0x80a00a8, plog=0x80cc158, s=0x80a1e88)
    at prefork.c:839
#19 0x0806e37e in main (argc=134865184, argv=0x812d280) at main.c:623


many processes get stuck as "SendingReply" because one process had locked
exclusive the DavLockDB and has not released, and it leads to a DoS behave.
This patch is Arne's simplified patch, just taking care about the DavLockDB.

it was tested against apache 2.0.59 and 2.0.61, and it seems to affect 2.2.6 as
well.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org


Mime
View raw message