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

Re: HTTPD deadlock

From: Philip Martin <philip_at_codematters.co.uk>
Date: 2002-12-09 23:55:11 CET

Brandon Ehle <azverkan@yahoo.com> writes:

> Here is the backtrace from the threads that were running after I
> attempted to "killall httpd" and the process never exited. The
> process is still running if anyone wants more information from it.

There only appears to be one thread waiting for a BDB lock. So either
you have uncovered a bug that allows a single thread to deadlock (I
guess it's possible, but I think it's unlikely) or some other process
has crashed and left locks in the database. That other process could
have been one of the Apache processes (check your Apache logs, and
your syslog in case the OOM killer got it) or it could have been some
other process altogether, svnadmin, svnlook, svnserve, svn using
ra_local.

You didn't say what your tests do, so it's going to be hard for us to
identify which process crashed :) You are really the only one who can
do that.

> (gdb) thread apply all bt
>
> Thread 3 (Thread 139282 (LWP 23570)):
> #0 0x420d3b2e in select () from /lib/i686/libc.so.6
> #1 0x4020a510 in __JCR_LIST__ () from /lib/libdb-4.0.so
> #2 0x401e82a1 in __os_yield () from /lib/libdb-4.0.so
> #3 0x401759bf in __db_tas_mutex_lock () from /lib/libdb-4.0.so

This thread is the only one waiting for the database.

> #4 0x401dcf05 in __log_put_int () from /lib/libdb-4.0.so
> #5 0x401dc966 in __log_put () from /lib/libdb-4.0.so
> #6 0x401f8ee5 in __txn_regop_log () from /lib/libdb-4.0.so
> #7 0x401f79cb in __txn_commit () from /lib/libdb-4.0.so
> #8 0x403f8880 in commit_trail () from /root/rpms/build/subversion/subversion/libsvn_fs/.libs/libsvn_fs-1.so.0
> #9 0x403f896a in svn_fs__retry_txn () from /root/rpms/build/subversion/subversion/libsvn_fs/.libs/libsvn_fs-1.so.0
> #10 0x403fccad in svn_fs_apply_textdelta () from /root/rpms/build/subversion/subversion/libsvn_fs/.libs/libsvn_fs-1.so.0
> #11 0x403cc3c5 in dav_svn_open_stream () from /etc/httpd/modules/mod_dav_svn.so
> #12 0x4030000e in dav_method_put () from /etc/httpd/modules/mod_dav.so
> #13 0x080684d5 in ap_run_handler ()
> #14 0x08068aed in ap_invoke_handler ()
> #15 0x080636a6 in ap_process_request ()
> #16 0x0805ecac in ap_process_http_connection ()
> #17 0x08071b65 in ap_run_process_connection ()
> #18 0x08064b7c in process_socket ()
> #19 0x0806532d in worker_thread ()
> #20 0x40241ae6 in dummy_worker () from /usr/lib/libapr-0.so.0
> #21 0x402b8941 in pthread_start_thread () from /lib/i686/libpthread.so.0
>
> Thread 2 (Thread 16385 (LWP 23534)):
> #0 0x420d224b in poll () from /lib/i686/libc.so.6
> #1 0x402b7d9e in __pthread_manager () from /lib/i686/libpthread.so.0
>
> Thread 1 (Thread 8192 (LWP 23525)):
> #0 0x42028d69 in sigsuspend () from /lib/i686/libc.so.6
> #1 0x402ba108 in __pthread_wait_for_restart_signal () from /lib/i686/libpthread.so.0
> #2 0x402b7911 in pthread_join () from /lib/i686/libpthread.so.0
> #3 0x40241c9e in apr_thread_join () from /usr/lib/libapr-0.so.0
> #4 0x08065903 in join_workers ()
> #5 0x08065c75 in child_main ()
> #6 0x08065ea3 in make_child ()
> #7 0x08065f09 in startup_children ()
> #8 0x0806693a in ap_mpm_run ()
> #9 0x0806d6af in main ()
> #10 0x420158d4 in __libc_start_main () from /lib/i686/libc.so.6

-- 
Philip Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Dec 9 23:55:53 2002

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