[prev in list] [next in list] [prev in thread] [next in thread]
List: subversion-issues
Subject: [Issue 4461] New - svnserve SEGV with --log--file and --daemon
From: philip () tigris ! org
Date: 2014-01-15 15:08:35
Message-ID: iz4461 () subversion ! tigris ! org
[Download RAW message or body]
http://subversion.tigris.org/issues/show_bug.cgi?id=4461
Issue #|4461
Summary|svnserve SEGV with --log--file and --daemon
Component|subversion
Version|trunk
Platform|All
URL|
OS/Version|All
Status|NEW
Status whiteboard|
Keywords|
Resolution|
Issue type|DEFECT
Priority|P3
Subcomponent|svnserve
Assigned to|issues@subversion
Reported by|philip
------- Additional comments from philip@tigris.org Wed Jan 15 07:08:34 -0800 2014 -------
svnserve with -d and --log-file will SEGV in the parent process after daemonization:
$ gdb -q -arg subversion/svnserve/.libs/lt-svnserve -dr. --log-file x.x
Reading symbols from
/home/pm/sw/subversion/obj/subversion/svnserve/.libs/lt-svnserve...done.
(gdb) r
Starting program:
/home/pm/sw/subversion/obj/subversion/svnserve/.libs/lt-svnserve -dr. --log-file x.x
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff79869e9 in apr_pool_destroy () from /usr/lib/libapr-1.so.0
(gdb) bt
#0 0x00007ffff79869e9 in apr_pool_destroy () from /usr/lib/libapr-1.so.0
#1 0x00000000004083fb in cleanup_logger (data=0x7ffff5305510)
at ../src/subversion/svnserve/logger.c:59
#2 0x00007ffff798699e in apr_pool_destroy () from /usr/lib/libapr-1.so.0
#3 0x00007ffff7986975 in apr_pool_destroy () from /usr/lib/libapr-1.so.0
#4 0x00007ffff7986d40 in apr_pool_terminate () from /usr/lib/libapr-1.so.0
#5 0x00007ffff71e1df2 in __run_exit_handlers (status=0, listp=0x7ffff752f4c8,
run_list_atexit=true) at exit.c:78
#6 0x00007ffff71e1e45 in *__GI_exit (status=1) at exit.c:100
#7 0x00007ffff79921f9 in apr_proc_detach () from /usr/lib/libapr-1.so.0
#8 0x0000000000416f34 in sub_main (exit_code=0x7fffffffe7ac, argc=4,
argv=0x7fffffffe8a8, pool=0x7ffff5305028)
at ../src/subversion/svnserve/svnserve.c:1170
#9 0x0000000000417456 in main (argc=4, argv=0x7fffffffe8a8)
at ../src/subversion/svnserve/svnserve.c:1355
(gdb)
I have pool debugging enabled. Setting a breakpoint on pool_clear_debug the
second time it stops is:
(gdb) bt
#0 pool_clear_debug (pool=0x426c20,
file_line=0x7ffff7da509c "memory/unix/apr_pools.c:1445")
at memory/unix/apr_pools.c:1543
#1 0x00007ffff7d9434e in pool_destroy_debug (pool=0x426c20,
file_line=0x7ffff7da509c "memory/unix/apr_pools.c:1445")
at memory/unix/apr_pools.c:1638
#2 0x00007ffff7d9410e in pool_clear_debug (pool=0x41efe0,
file_line=0x7ffff7da509c "memory/unix/apr_pools.c:1445")
at memory/unix/apr_pools.c:1550
#3 0x00007ffff7d9434e in pool_destroy_debug (pool=0x41efe0,
file_line=0x7ffff7da509c "memory/unix/apr_pools.c:1445")
at memory/unix/apr_pools.c:1638
#4 0x00007ffff7d94437 in apr_pool_destroy_debug (pool=0x41efe0,
file_line=0x7ffff7da509c "memory/unix/apr_pools.c:1445")
at memory/unix/apr_pools.c:1680
#5 0x00007ffff7d93ebd in apr_pool_terminate () at memory/unix/apr_pools.c:1445
#6 0x00007ffff7d97160 in apr_terminate () at misc/unix/start.c:82
#7 0x00007ffff75d0df2 in __run_exit_handlers (status=0, listp=0x7ffff791e4c8,
run_list_atexit=true) at exit.c:78
#8 0x00007ffff75d0e45 in *__GI_exit (status=4353056) at exit.c:100
#9 0x00007ffff7da261a in apr_proc_detach (daemonize=1)
at threadproc/unix/procsup.c:32
#10 0x0000000000416f54 in sub_main (exit_code=0x7fffffffe7ac, argc=4,
argv=0x7fffffffe8a8, pool=0x420340)
at ../src/subversion/svnserve/svnserve.c:1170
#11 0x0000000000417476 in main (argc=4, argv=0x7fffffffe8a8)
at ../src/subversion/svnserve/svnserve.c:1355
Setting a breakpoint on cleanup_logger shows:
Breakpoint 1, cleanup_logger (data=0x4269d0)
at ../src/subversion/svnserve/logger.c:58
58 logger_t *logger = data;
(gdb) n
59 svn_pool_destroy(logger->pool);
(gdb) p logger->pool
$5 = (apr_pool_t *) 0x426c20
That's the same pool that was being destroyed the second time we hit the
pool_clear_debug, so the pool is being destroyed twice.
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=463&dsMessageId=3071640
To unsubscribe from this discussion, e-mail: [issues-unsubscribe@subversion.tigris.org].
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic