[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Crash relating to apr-util with r893 and latest Apache.

From: Jay Freeman \(saurik\) <saurik_at_saurik.com>
Date: 2002-01-15 11:16:31 CET

OK, I was getting this about 4 days ago, but I assumed I caused it so I
went off and played with some other things for a while before coming
back to it. When I do the following I get the other following behavior
in GCC debugging Apache. I am using the latest Apache from CVS as per
Greg's comments re the mod_dav changes.

My first notice was the DB_VER=3 deal, but then I figured out that it
was using DB_VER=3 for both 3 and 4 of DB so that wasn't what was
happening.

[root(4)@dreadnought evil]# make
rm -rf /cvs/svn/ninetjer
svnadmin create /cvs/svn/ninetjer
chown apache.apache -R /cvs/svn/ninetjer
rm -rf ninetjer
su -c "svn co http://svn.ninetjer.org/repos/ninetjer" saurik
cd ninetjer; touch bob; svn add bob; svn commit
A bob
root's password:

username: saurik
saurik's password:

<<< other terminal >>>

[root(2)@dreadnought bin]# gdb httpd
GNU gdb Red Hat Linux (5.1-2)
Copyright 2001 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you
are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for
details.
This GDB was configured as "i386-redhat-linux"...ru
(gdb) run -X
Starting program: /usr/local/apache2/bin/httpd -X
[New Thread 1024 (LWP 2564)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 2564)]
0x00000000 in ?? ()
(gdb) list
287 ap_log_error(APLOG_MARK, APLOG_STARTUP | APLOG_NOERRNO, 0,
NULL, " -t : run syntax check for config files (with
docroot check)");
288 ap_log_error(APLOG_MARK, APLOG_STARTUP | APLOG_NOERRNO, 0,
NULL, " -T : run syntax check for config files (without
docroot check)");
289 /* TODOC: -X goes away, expect MPMs to use -D options */
290 destroy_and_exit_process(process, 1);
291 }
292
293 int main(int argc, const char * const argv[])
294 {
295 char c;
296 int configtestonly = 0;
(gdb) bt
#0 0x00000000 in ?? ()
#1 0x4002138c in vt_db_open (pdb=0xbfffea9c, pathname=0x8158bc0
"/cvs/svn/ninetjer/dav/activities", mode=4095, perm=4095,
    pool=0x81532b0) at apr_dbm_berkeleydb.c:286
#2 0x40020eec in apr_dbm_open (pdb=0xbfffea9c, pathname=0x8158bc0
"/cvs/svn/ninetjer/dav/activities", mode=1, perm=4095,
    pool=0x81532b0) at apr_dbm.c:116
#3 0x4004b5b0 in dav_svn_get_txn (repos=0x8158a08,
activity_id=0x81589a1 "0c02bda5-d11d-b211-a210-ba0cf48f7c0e")
    at subversion/mod_dav_svn/activity.c:48
#4 0x4004c321 in dav_svn_prep_activity (comb=0x8158928) at
subversion/mod_dav_svn/repos.c:719
#5 0x4004c395 in dav_svn_prep_resource (comb=0x8158928) at
subversion/mod_dav_svn/repos.c:771
#6 0x4004c879 in dav_svn_get_resource (r=0x81532e8, root_path=0x8101058
"/repos/ninetjer", label=0x0, use_checked_in=0,
    resource=0xbfffeba8) at subversion/mod_dav_svn/repos.c:987
#7 0x0806918a in dav_get_resource (r=0x81532e8, label_allowed=0,
use_checked_in=0, res_p=0xbfffeba8) at mod_dav.c:679
#8 0x0806d232 in dav_method_make_activity (r=0x81532e8) at
mod_dav.c:3934
#9 0x080839fe in ap_run_handler (r=0x81532e8) at config.c:186
#10 0x08083e67 in ap_invoke_handler (r=0x81532e8) at config.c:359
#11 0x08067360 in ap_process_request (r=0x81532e8) at http_request.c:292
#12 0x08063c15 in ap_process_http_connection (c=0x814ab70) at
http_core.c:280
#13 0x0808b6e6 in ap_run_process_connection (c=0x814ab70) at
connection.c:84
#14 0x080826f2 in child_main (child_num_arg=-1073747300) at
prefork.c:717
#15 0x0808288a in make_child (s=0x8148b30, slot=0) at prefork.c:753
#16 0x080828cf in startup_children (number_to_start=5) at prefork.c:830
#17 0x08082f69 in ap_mpm_run (_pconf=0xbfffea9c, plog=0x80f9a90,
s=0x8148b30) at prefork.c:1035
#18 0x080872de in main (argc=2, argv=0xbfffee14) at main.c:461
#19 0x401996e7 in __libc_start_main (main=0x8086f1c <main>, argc=2,
ubp_av=0xbfffee14, init=0x805ad04 <_init>,
    fini=0x809ba84 <_fini>, rtld_fini=0x4000dcd4 <_dl_fini>,
stack_end=0xbfffee0c) at ../sysdeps/generic/libc-start.c:129
(gdb) list apr_dbm_berkeleydb.c:286
281 {
282 int dberr;
283
284 #if DB_VER == 3
285 if ((dberr = db_create(&file.bdb, NULL, 0)) == 0) {
286 if ((dberr = (*file.bdb->open)(file.bdb, pathname,
NULL,
287 DB_HASH, dbmode,
288
apr_posix_perms2mode(perm))) != 0) {
289 /* close the DB handler */
290 (void) (*file.bdb->close)(file.bdb, 0);
(gdb)

Sincerely,
Jay Freeman (saurik)
saurik@saurik.com

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 21 14:36:56 2006

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.