Re: dav_fs: DSO load failed: AH00576: The DBM driver could not be loaded

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jul 22, 2013 at 11:50 AM, Karl Hiramoto <karl@xxxxxxxxxxxx> wrote:
On 07/22/2013 02:25 PM, Jeff Trawick wrote:
On Mon, Jul 22, 2013 at 7:20 AM, Karl Hiramoto <karl@xxxxxxxxxxxx> wrote:
Hi,

I'm trying to use WebDav  and having some problems.    I'm using a self compiled  httpd 2.4.4  on a  arm board running linux 2.6.35

The error message is:
[Mon Jul 22 11:00:19.024300 2013] [dav_fs:crit] [pid 17398:tid 922301504] (20019)DSO load failed: AH00576: The DBM driver could not be loaded

I see this error message is in modules/dav/fs/dbm.c

I'm not really sure why it's tripping on that error though. I'm debugging it now.   I'm willing to try any suggestions or patches anyone has.


The dbm driver is an APR-util library for the DBM backend you're using (built-in == SDBM, Berkeley DB, etc.).  Use strace to look for failed open or stat calls to see where it is looking (maybe "strace -e open,stat -f /path/to/apachectl start).
 

Thanks for the tip.  It did show that it was looking for  apr_dbm_db-1.so.        So I recompiled   apr-util   adding  --with-dbm=db53 and --with-berkeley-db=<path>

The exact same error message shows in the apache error log,a strace does show    apr_dbm_db-1.so and  libdb   loading

Just to be clear:  Did you install your apr-util to /usr, so when the httpd process loads /usr/lib/*apr* (e.g., /usr/lib/apr-util-1/apr_dbm_db-1.so") it is picking up your build?
 



[pid 30486] open("/www/pages/.htaccess", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid 30486] open("/www/pages/files/.htaccess", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid 30486] open("/www/pages/files/public/.htaccess", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid 30486] open("/etc/apache2/passwd", O_RDONLY|O_CLOEXEC) = 12
[pid 30486] close(12)                   = 0
[pid 30486] open("/usr/lib/apr_dbm_db-1.so", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 30486] open("/usr/lib/apr-util-1/apr_dbm_db-1.so", O_RDONLY) = 12
[pid 30486] close(12)                   = 0
[pid 30486] open("/usr/lib/libdb-5.3.so", O_RDONLY) = 12
[pid 30486] close(12)                   = 0
[pid 30486] open("/usr/lib/apr-util-1/apr_dbm_db-1.so", O_RDONLY) = 12
[pid 30486] close(12)                   = 0
[pid 30486] open("/usr/lib/libdb-5.3.so", O_RDONLY) = 12
[pid 30486] close(12)                   = 0
[pid 30486] open("/usr/lib/apr_dbm_db-1.so", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 30486] open("/usr/lib/apr-util-1/apr_dbm_db-1.so", O_RDONLY) = 12
[pid 30486] close(12)                   = 0
[pid 30486] open("/usr/lib/libdb-5.3.so", O_RDONLY) = 12
[pid 30486] close(12)                   = 0
[pid 30486] open("/usr/lib/apr-util-1/apr_dbm_db-1.so", O_RDONLY) = 12
[pid 30486] close(12)                   = 0
[pid 30486] open("/usr/lib/libdb-5.3.so", O_RDONLY) = 12
[pid 30486] close(12)                   = 0
[pid 30486] open("/www/pages/.htaccess", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid 30486] open("/www/pages/files/.htaccess", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid 30486] open("/www/pages/files/public/.htaccess", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid 30486] open("/etc/apache2/passwd", O_RDONLY|O_CLOEXEC) = 12
[pid 30486] close(12)                   = 0
[pid 30486] open("/usr/lib/apr_dbm_db-1.so", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 30486] open("/usr/lib/apr-util-1/apr_dbm_db-1.so", O_RDONLY) = 12
[pid 30486] close(12)                   = 0
[pid 30486] open("/usr/lib/libdb-5.3.so", O_RDONLY) = 12
[pid 30486] close(12)                   = 0
[pid 30486] open("/usr/lib/apr-util-1/apr_dbm_db-1.so", O_RDONLY) = 12
[pid 30486] close(12)                   = 0
[pid 30486] open("/usr/lib/libdb-5.3.so", O_RDONLY) = 12
[pid 30486] close(12)                   = 0
[pid 30486] open("/usr/lib/apr_dbm_db-1.so", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 30486] open("/usr/lib/apr-util-1/apr_dbm_db-1.so", O_RDONLY) = 12
[pid 30486] close(12)                   = 0
[pid 30486] open("/usr/lib/libdb-5.3.so", O_RDONLY) = 12
[pid 30486] close(12)                   = 0
[pid 30486] open("/usr/lib/apr-util-1/apr_dbm_db-1.so", O_RDONLY) = 12
[pid 30486] close(12)                   = 0
[pid 30486] open("/usr/lib/libdb-5.3.so", O_RDONLY) = 12
[pid 30486] close(12)                   = 0
[pid 30486] open("/www/pages/files/public/", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 12
[pid 30486] close(12)                   = 0
[pid 30486] open("/www/pages/files/public/.DAV/.locknull", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)




It certainly seems from the strace that the APR-util DSO and the underlying libdb implementation DSO were opened successfully; the APR_EDSOOPEN error code which led to that particular mod_dav failure message only comes from apr_dso_load failing.

If you run the "file" command on those files that were opened, do you see the right architecture and file type?

You should stop this in apr_dso_load() and see what happens with dlopen().  [AND/OR] apu_dso_load() may be throwing a way a text description for the failure in the apr_dso_handle_t structure.

--
Born in Roswell... married an alien...
http://emptyhammock.com/

[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux