You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2003/06/23 04:56:43 UTC

DO NOT REPLY [Bug 19325] - mod_include sig Bus error if file modified while being processed

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=19325>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=19325

mod_include sig Bus error if file modified while being processed





------- Additional Comments From trawick@apache.org  2003-06-23 02:56 -------
This happens with Apache 1.3 too, incidentally.

The killer scenario is

apache mmaps a file
another process truncates the file, as fopen("foo", "w") does and presumably
perl does
apache reads from the mmap

This is a really ugly issue to deal with.  Any time an asynch process truncates
the file we are processing, the processing of the page is going to be
inconsistent, and inconsistency+SIGBUS is even worse with a threaded MPM on 2.0
since other threads in the process handling that request will be affected.

The real fix, to get rid of all bad symtpoms, is not to edit files actively
being served but instead to edit them off-line then mv them into place.

As a work-around, using "EnableMMAP Off" should eliminate most possible paths
where Apache would hit SIGBUS when reading a file that is being mangled at the
same time, though there is no guarantee that the client is going to get
something that makes sense.

This is not to imply that the SIGBUS symptom and the death of any other threads
in the process is anything but crappy, but there are some technical issues to
deal with (the fix may not be so robust either), and the practical matter that
even if we do everything possible the client still may get garbage.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org