You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Julian Foad <ju...@btopenworld.com> on 2003/11/18 23:59:09 UTC

Seg fault: dav_svn_get_repo_name(request_rec = NULL)

Any ideas why mod_dav_svn seg-faults when I try to access it with "svn ls http://localhost/repos/myrepos/"?

Apache 2.0.48, Subversion trunk r7787M (all tests pass over RA-local and RA-SVN), GCC 3.3.1


# gdb httpd2
GNU gdb 5.3.92
[...]
(gdb) run -X
Starting program: /usr/sbin/httpd2 -X
(no debugging symbols found)...
[...]
[New Thread 409626 (LWP 15655)]
[New Thread 426011 (LWP 15656)]
[New Thread 442396 (LWP 15657)]
[here it sits until I do "svn ls http://localhost/repos/myrepos/", and then...]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 32771 (LWP 15632)]
0x4038dd12 in dav_svn_get_repo_name (r=0x0) at /home/julianfoad/src/subversion/subversion/mod_dav_svn/mod_dav_svn.c:230
230         conf = ap_get_module_config(r->per_dir_config, &dav_svn_module);
(gdb) bt
#0  0x4038dd12 in dav_svn_get_repo_name (r=0x0) at /home/julianfoad/src/subversion/subversion/mod_dav_svn/mod_dav_svn.c:230
#1  0x40375090 in dav_get_resource () from /usr/lib/apache2-worker/mod_dav.so
#2  0x4037720d in dav_method_propfind () from /usr/lib/apache2-worker/mod_dav.so
#3  0x0806bb18 in ap_run_handler ()
#4  0x0809db20 in core_cmds ()
#5  0x0814c858 in ?? ()



# cat /etc/apache2/conf.d/subversion.conf
<Location /repos/myrepos>
   DAV svn
   SVNPath /srv/svn/repos/myrepos

#   # Limit write permission to list of valid users.
#   <LimitExcept GET PROPFIND OPTIONS REPORT>
#      # Require SSL connection for password protection.
#      # SSLRequireSSL
#
#      AuthType Basic
#      AuthName "Subversion repository"
#      AuthUserFile /srv/svn/user_access/myrepos_passwdfile
#      Require valid-user
#   </LimitExcept>
</Location>

[I was reducing it to barest essentials.  The problem was the same when the "LimitExcept" block was not commented out.]



# command ls -la /srv/svn/
total 0
drwxr-xr-x    5 root     root          128 2003-11-18 21:11 .
drwxr-xr-x    5 root     root          120 2003-11-16 23:20 ..
drwxr-x---    2 root     www            48 2003-11-16 23:21 html
drwxr-x---    3 root     www           104 2003-11-17 22:14 repos
drwxr-x---    2 root     www            88 2003-11-16 23:49 user_access
# command ls -lAR /srv/svn/repos/
/srv/svn/repos/:
total 4
-rw-r--r--    1 root     root           95 2003-11-17 00:47 mkrepo.sh
drwxr-x---    7 root     www           224 2003-11-18 17:31 myrepos

/srv/svn/repos/myrepos:
total 8
-rw-r-----    1 root     www           376 2003-11-17 22:14 README.txt
drwxr-x---    2 root     www            80 2003-11-18 17:29 conf
drwxr-x---    2 wwwrun   www            48 2003-11-17 22:14 dav
drwxr-x---    2 wwwrun   www           448 2003-11-17 22:14 db
-rw-r-----    1 root     www             2 2003-11-17 22:14 format
drwxr-x---    2 root     www           232 2003-11-17 22:14 hooks
drwxr-x---    2 wwwrun   www           104 2003-11-17 22:14 locks

/srv/svn/repos/myrepos/conf:
total 4
-rw-r-----    1 root     www          1101 2003-11-17 22:14 svnserve.conf

/srv/svn/repos/myrepos/dav:
total 0

/srv/svn/repos/myrepos/db:
total 765
-rw-r-----    1 wwwrun   www          1474 2003-11-17 22:14 DB_CONFIG
-rw-r-----    1 wwwrun   www          8192 2003-11-17 22:14 __db.001
-rw-r-----    1 wwwrun   www        270336 2003-11-17 22:14 __db.002
-rw-r-----    1 wwwrun   www        327680 2003-11-17 22:14 __db.003
-rw-r-----    1 wwwrun   www        737280 2003-11-17 22:14 __db.004
-rw-r-----    1 wwwrun   www         16384 2003-11-17 22:14 __db.005
-rw-r-----    1 wwwrun   www          8192 2003-11-17 22:14 changes
-rw-r-----    1 wwwrun   www          8192 2003-11-17 22:14 copies
-rw-r-----    1 wwwrun   www         71952 2003-11-17 22:14 log.0000000001
-rw-r-----    1 wwwrun   www          8192 2003-11-17 22:14 nodes
-rw-r-----    1 wwwrun   www          8192 2003-11-17 22:14 representations
-rw-r-----    1 wwwrun   www          8192 2003-11-17 22:14 revisions
-rw-r-----    1 wwwrun   www          8192 2003-11-17 22:14 strings
-rw-r-----    1 wwwrun   www          8192 2003-11-17 22:14 transactions
-rw-r-----    1 wwwrun   www          8192 2003-11-17 22:14 uuids

/srv/svn/repos/myrepos/hooks:
total 20
-rw-r-----    1 root     www          1392 2003-11-17 22:14 post-commit.tmpl
-rw-r-----    1 root     www          1475 2003-11-17 22:14 post-revprop-change.tmpl
-rw-r-----    1 root     www          2093 2003-11-17 22:14 pre-commit.tmpl
-rw-r-----    1 root     www          1952 2003-11-17 22:14 pre-revprop-change.tmpl
-rw-r-----    1 root     www          1377 2003-11-17 22:14 start-commit.tmpl

/srv/svn/repos/myrepos/locks:
total 8
-rw-r-----    1 wwwrun   www           295 2003-11-17 22:14 db-logs.lock
-rw-r-----    1 wwwrun   www           460 2003-11-17 22:14 db.lock


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Seg fault: dav_svn_get_repo_name(request_rec = NULL)

Posted by "C. Michael Pilato" <cm...@collab.net>.
"C. Michael Pilato" <cm...@collab.net> writes:

> Branko Čibej <br...@xbc.nu> writes:
> 
> > Philip Martin wrote:
> > 
> > >Rev 7804 (which has an non-conforming log message)
> > >
> > Why yes, I do believe it does. Do we get to flame Mike? Ooooh, let's,
> > let's! :-)
> 
> Oops.  Last-minute edit removed the part that said "I did this by
> copying this file from the now-dead issue-1578-dev branch."

And I'll fix this log message.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org


Re: Seg fault: dav_svn_get_repo_name(request_rec = NULL)

Posted by "C. Michael Pilato" <cm...@collab.net>.
Branko Čibej <br...@xbc.nu> writes:

> Philip Martin wrote:
> 
> >Rev 7804 (which has an non-conforming log message)
> >
> Why yes, I do believe it does. Do we get to flame Mike? Ooooh, let's,
> let's! :-)

Oops.  Last-minute edit removed the part that said "I did this by
copying this file from the now-dead issue-1578-dev branch."

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org


Re: Seg fault: dav_svn_get_repo_name(request_rec = NULL)

Posted by Branko Čibej <br...@xbc.nu>.
Philip Martin wrote:

>Rev 7804 (which has an non-conforming log message)
>
Why yes, I do believe it does. Do we get to flame Mike? Ooooh, let's,
let's! :-)


-- 
Brane Čibej   <br...@xbc.nu>   http://www.xbc.nu/brane/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Seg fault: dav_svn_get_repo_name(request_rec = NULL)

Posted by "C. Michael Pilato" <cm...@collab.net>.
Philip Martin <ph...@codematters.co.uk> writes:

> Branko Čibej <br...@xbc.nu> writes:
> 
> > Apache is crashing during ra_dav tests on Windows at r7810, and it's
> > defintiely not a configuration problem. Local and ra_svn tests pass, so
> > I expect mod_dav_svn is the culprit.
> 
> I get a crash on Linux when importing a single file into a repository.
> Rev 7804 (which has an non-conforming log message) might be
> responsible, if I back it out the crash goes away.

Ah.  I know the problem.  Will fix.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org


Re: Seg fault: dav_svn_get_repo_name(request_rec = NULL)

Posted by Philip Martin <ph...@codematters.co.uk>.
Branko Čibej <br...@xbc.nu> writes:

> Apache is crashing during ra_dav tests on Windows at r7810, and it's
> defintiely not a configuration problem. Local and ra_svn tests pass, so
> I expect mod_dav_svn is the culprit.

I get a crash on Linux when importing a single file into a repository.
Rev 7804 (which has an non-conforming log message) might be
responsible, if I back it out the crash goes away.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 3827)]
0x40409d47 in svn_fs__id_txn_id (id=0x0) at ../svn/subversion/libsvn_fs/id.c:61
61        return id->txn_id;
(gdb) bt
#0  0x40409d47 in svn_fs__id_txn_id (id=0x0)
    at ../svn/subversion/libsvn_fs/id.c:61
#1  0x4040e2b7 in txn_body_open_txn (baton=0xbffff860, trail=0x8119f48)
    at ../svn/subversion/libsvn_fs/revs-txns.c:665
#2  0x4040eed9 in do_retry (fs=0x810d558, 
    txn_body=0x4040e252 <txn_body_open_txn>, baton=0xbffff860, use_txn=1, 
    pool=0x80c1970, txn_body_fn_name=0x4041c7c9 "unknown", 
    filename=0x4041c7c8 "", line=0) at ../svn/subversion/libsvn_fs/trail.c:227
#3  0x4040f020 in svn_fs__retry_txn (fs=0x810d558, 
    txn_body=0x4040e252 <txn_body_open_txn>, baton=0xbffff860, pool=0x80c1970)
    at ../svn/subversion/libsvn_fs/trail.c:285
#4  0x4040e389 in svn_fs_open_txn (txn_p=0xbffff8a8, fs=0x810d558, 
    name=0x80c1390 "2", pool=0x80c1970)
    at ../svn/subversion/libsvn_fs/revs-txns.c:686
#5  0x403d16b5 in dav_svn_delete_activity (repos=0x8124ac0, 
    activity_id=0x81249a2 "b978024c-81cc-0310-8c22-8b74c67b5ef1")
    at /home/pm/sw/subversion/svn/subversion/mod_dav_svn/activity.c:117
#6  0x403d867f in dav_svn_remove_resource (resource=0x81249f8, 
    response=0xbffff948)
    at /home/pm/sw/subversion/svn/subversion/mod_dav_svn/repos.c:2345
#7  0x403bba58 in dav_method_delete (r=0x8122e60) at mod_dav.c:1215
#8  0x080812d5 in ap_run_handler (r=0x8122e60) at config.c:194
#9  0x080818b0 in ap_invoke_handler (r=0x0) at config.c:401
#10 0x0806e5f6 in ap_process_request (r=0x403cc628) at http_request.c:288
#11 0x08069bdc in ap_process_http_connection (c=0x0) at http_core.c:293
#12 0x0808c365 in ap_run_process_connection (c=0x8122e60) at connection.c:85
#13 0x0807f924 in child_main (child_num_arg=0) at prefork.c:694
#14 0x0807fb3b in make_child (s=0xbffff7bc, slot=0) at prefork.c:734
#15 0x0807fb98 in startup_children (number_to_start=5) at prefork.c:806
#16 0x080803ea in ap_mpm_run (_pconf=0x80b9fe0, plog=0x80c2d20, s=0x80c5598)
    at prefork.c:1022
#17 0x080867f8 in main (argc=2, argv=0xbffffc14) at main.c:660


-- 
Philip Martin

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Seg fault: dav_svn_get_repo_name(request_rec = NULL)

Posted by Branko Čibej <br...@xbc.nu>.
Julian Foad wrote:

> Any ideas why mod_dav_svn seg-faults when I try to access it with "svn
> ls http://localhost/repos/myrepos/"?
>
> Apache 2.0.48, Subversion trunk r7787M (all tests pass over RA-local
> and RA-SVN), GCC 3.3.1


Apache is crashing during ra_dav tests on Windows at r7810, and it's
defintiely not a configuration problem. Local and ra_svn tests pass, so
I expect mod_dav_svn is the culprit.

-- 
Brane Čibej   <br...@xbc.nu>   http://www.xbc.nu/brane/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Seg fault: dav_svn_get_repo_name(request_rec = NULL)

Posted by Julian Foad <ju...@btopenworld.com>.
kfogel@collab.net wrote:
> Julian Foad <ju...@btopenworld.com> writes:
> 
>>Any ideas why mod_dav_svn seg-faults when I try to access it with
>>"svn ls http://localhost/repos/myrepos/"?
> 
> This is only a tentative guess, but does r7797 fix it?

Unfortunately not.  It probably results from improper configuration on my part.  Apache's dav_get_resource() (from /usr/lib/apache2-worker/mod_dav.so) calls Subversion's dav_svn_get_repo_name() passing request_rec=NULL.  We don't expect that; I don't know whether we should expect it.

Hmm... I have both MPM-worker and MPM-prefork installed.  It is currently calling mod_dav_svn from "worker".  Does that matter?

- Julian


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Seg fault: dav_svn_get_repo_name(request_rec = NULL)

Posted by kf...@collab.net.
Julian Foad <ju...@btopenworld.com> writes:
> Any ideas why mod_dav_svn seg-faults when I try to access it with
> "svn ls http://localhost/repos/myrepos/"?

This is only a tentative guess, but does r7797 fix it?

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org