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

Re: segfaults with subversion 1.1.0 with apache on SuSE 9.1

From: <kfogel_at_collab.net>
Date: 2004-09-30 23:20:13 CEST

Moby <moby@mobsternet.com> writes:
> Following Peter Poeml's suggestion for me when I had the same issue
> with subversion 1.05 (I did not follow the problem with 1.05 since the
> downloaded RPMS worked fine), I ran strace against httpd2-prefork.

Hmm, do you know how to use GDB? If so, the section "Debugging the
server" in http://svn.collab.net/repos/svn/trunk/HACKING gives
instructions on debugging httpd under GDB:

   Debugging the ra_dav server
   ---------------------------
   
   'mod_dav_svn.so' contains the main Subversion server logic; it runs as
   a module within mod_dav, which runs as a module within httpd. Since
   httpd is probably using dynamic shared modules, you normally won't be
   able to set breakpoints in advance when you start Apache in a debugger
   such as GDB. Instead, you'll need to start up, then interrupt httpd,
   set your breakpoint, and continue:
   
      % gdb httpd
      (gdb) run -X
      ^C
      (gdb) break some_func_in_mod_dav_svn
      (gdb) continue
   
   The -X switch is equivalent to -DONE_PROCESS and -DNO_DETACH, which
   ensure that httpd runs as a single thread and remains attached to the
   tty, respectively. As soon as it starts, it sits and waits for
   requests; that's when you hit control-C and set your breakpoint.
   
   You'll probably want to watch Apache's run-time logs
   
      /usr/local/apache2/logs/error_log
      /usr/local/apache2/logs/access_log
   
   to help determine what might be going wrong and where to set
   breakpoints.

I think that's probably the best way to find the cause of the
segfault...

Best,
-Karl

> Here is the output from the end of strace:
>
> time(NULL) = 1096582672
> semop(1900562, 0x4016fe12, 1) = 0
> poll([{fd=12, events=POLLIN, revents=POLLIN}], 1, 300000) = 1
> read(12, "\27\3\1\1\315\177[]\10\353IN\230\351\354\326U\243\241\262"..., 8000) = 466
> gettimeofday({1096582672, 116083}, NULL) = 0
> stat64("/srv/www/htdocs/svn/mob", {st_mode=S_IFDIR|0755, st_size=224, ...}) = 0
> lstat64("/srv", {st_mode=S_IFDIR|0755, st_size=144, ...}) = 0
> lstat64("/srv/www", {st_mode=S_IFDIR|0755, st_size=168, ...}) = 0
> lstat64("/srv/www/htdocs", {st_mode=S_IFDIR|0755, st_size=1488, ...}) = 0
> lstat64("/srv/www/htdocs/svn", {st_mode=S_IFDIR|0755, st_size=192, ...}) = 0
> lstat64("/srv/www/htdocs/svn/mob", {st_mode=S_IFDIR|0755, st_size=224, ...}) = 0
> --- SIGSEGV (Segmentation fault) @ 0 (0) ---
>
>
> Being a relative newbie to Linux, I cannot fathom why the process
> segfaulted. Any help or ideas will be much appreciated.
>
> Thanks in advance for any help,
> --Moby
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Fri Oct 1 01:07:04 2004

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

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