Peter Poeml: > It should work just like that. In which line does the > crash precisely happen?
In my code (see below) it is triggered if I try to set the apr_table_t and *then* return. When returning *only* there is no seg fault. Please see the comments in the code. It must be something trivial... I recompiled apache with debugging symbols, however, I failed to track the issue with the debugger gdb since I am not very familiar with it. Is there an easy way to get more info about the crash? > If the innocent looking lines trigger this, I would expect > that something is hosed already when they are reached, > something like corruption of the request object by > something else which is going on "above". FYI, this is my little module: #include "httpd.h" #include "http_config.h" #include "http_request.h" #include "apr_strings.h" static int done_once=FALSE; static int _hook_access_checker(request_rec* r){ if(done_once) return DECLINED; else{ done_once=TRUE; // ok: //return HTTP_MOVED_TEMPORARILY; // seg fault: // char* uri=apr_pstrdup(r->pool,"http://localhost/abcdef"); // apr_table_setn(r->headers_out,"Location",uri); // seg fault (as well): char* uri=apr_pstrdup(r->pool,"http://localhost/abcdef"); apr_table_setn(r->err_headers_out,"Location",uri); return HTTP_MOVED_TEMPORARILY; } } static void _hooks_register(apr_pool_t *p){ ap_hook_access_checker( _hook_access_checker,NULL,NULL,APR_HOOK_MIDDLE); } module AP_MODULE_DECLARE_DATA mod_hs={ STANDARD20_MODULE_STUFF, NULL, NULL, NULL, NULL, NULL, _hooks_register }; > Can you reproduce it easily, i.e. with starting the server > and issueing a single request? Yes, exactly. I restart apache, open the browser to http://localhost and then apache crashs. /var/log/apache2/error_log: [Fri Jan 23 11:02:35 2009] [notice] Apache/2.2.10 (Unix) DAV/2 mod_ssl/2.2.10 OpenSSL/0.9.8j SVN/1.5.4 configured -- resuming normal operations [Fri Jan 23 11:02:40 2009] [notice] child pid 12364 exit signal Segmentation fault (11) [Fri Jan 23 11:04:19 2009] [notice] caught SIGTERM, shutting down Hm... Felix