httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dirk.vanGulik" <Dirk.vanGu...@jrc.it>
Subject Re: weird crash
Date Tue, 03 Dec 1996 08:34:49 GMT
> From new-httpd-owner@hyperreal.com Sat Nov 30 10:32:38 1996
> To: new-httpd@hyperreal.com
> Subject: weird crash
> Date: Sat, 30 Nov 1996 00:09:37 -0800
> From: "Roy T. Fielding" <fielding@kiwi.ICS.UCI.EDU>
> 
> I've been noticing something weird about running my test server.
> If the server is running in the background when I re-make the
> executable, the parent server just dies.  There is nothing in the
> error_log, and no core file is present.  All the children die on the
> next request to the server.
> 
>    % uname -a
>    SunOS kiwi.ics.uci.edu 5.5 Generic sun4m sparc SUNW,SPARCstation-4
> 
> I have seen this happen about five times, though I was only able to
> reproduce it just now.  I never saw it prior to 1.2-dev. Anyone have
> any idea why the running server would be dependent on the executable file?

Yup, quite normal on a dynamic mapping machine; your target of the compile
is propably the same one as the excecutable you are running.

I usually add a make 'run' target to the default which does a

run: httpd
	kill -15 `cat /tmp/httpd.pid`
	mv httpd httpd.run
	./httpd -d `pwd`
	echo "Started"

to avoid the thing dieing mid-compile time or when you restart. But it is
perhaps something for the FAQ; as I had several problems reported from people 
which where playing with msql or dbm getting the strangest things (in the 
latter case corrupted tables).

Q: Why does my server hang directly after a RE-compile, or why does my
   sql/gdbm tables get corrupted after a recompile.

A: Most unix systems use dynamic paging from/to the excutable. If you
   overwrite it in mid-air, and you are unlucky, all sorts of funny
   things might happen. It is safer to stop the httpd first, and then
   create the new binary. 

DW.

Mime
View raw message