[mod_python] Mod_python 3.0 BETA / Apache2 segfault

Jeff Davis list-mod_python at empires.org
Fri Sep 13 14:00:16 EST 2002


Thanks!

For those who don't want to find those lines in the file, a patch is included 
below this message.

I don't know what the impact of that is either. I hope it's good :)

Regards,
	Jeff


On Friday 13 September 2002 09:04 am, Bryan Mongeau wrote:
> Hello,
>
> I have tested out the 3.0 BETA with apache 2 and discovered a segfault.
>
> $ gdb ./httpd
> GNU gdb 5.2.1
> (gdb) run -X
> Starting program: /usr/local/apache2/bin/httpd -X
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x400e8eef in apr_pstrcat (a=0x81d7fe8) at apr_strings.c:175
> 175             apr_size_t cplen = strlen(cp);
> (gdb) bt
> #0  0x400e8eef in apr_pstrcat (a=0x81d7fe8) at apr_strings.c:175
> #1  0x402ed68d in python_handler (req=0x81d8020, phase=0x40369247
> "PythonTransHandler")
>     at mod_python.c:764
> #2  0x402eea6d in PythonTransHandler (req=0x81d8020) at mod_python.c:1687
> #3  0x0808cd48 in ap_run_translate_name (r=0x81d8020) at request.c:108
> #4  0x0808d5ec in ap_process_request_internal (r=0x81d8020) at
> request.c:167 #5  0x08069e02 in ap_process_request (r=0x81d8020) at
> http_request.c:255 #6  0x08065dab in ap_process_http_connection
> (c=0x81d40e0) at http_core.c:293 #7  0x080831c8 in
> ap_run_process_connection (c=0x81d40e0) at connection.c:85 #8  0x0808346f
> in ap_process_connection (c=0x81d40e0, csd=0x81d4010) at connection.c:207
> #9  0x08078cc2 in child_main (child_num_arg=0) at prefork.c:696
> #10 0x08078d80 in make_child (s=0x80b5378, slot=0) at prefork.c:736
> #11 0x08078e71 in startup_children (number_to_start=5) at prefork.c:808
> #12 0x0807917d in ap_mpm_run (_pconf=0x80b2cb0, plog=0x80ead90,
> s=0x80b5378) at prefork.c:1024
> #13 0x0807e67c in main (argc=2, argv=0xbffff934) at main.c:645
> #14 0x401933c1 in __libc_start_main () from /lib/libc.so.6
>
>
> FIX: Comment out lines 764-767 and 770 of mod_python.c. Seems to compile
> and run fine. Impact on functionality unknown.
>



--- mod_python.c.old	2002-09-13 13:51:09.000000000 -0700
+++ mod_python.c	2002-09-13 13:51:38.000000000 -0700
@@ -759,15 +759,7 @@
             ext = apr_pstrcat(req->pool, ".", ext, NULL);
     }
 
-    /* is there an hlist entry, i.e. a handler? */
-    /* try with extension */
-    hle = (hl_entry *)apr_hash_get(conf->hlists, 
-                                   apr_pstrcat(req->pool, phase, ext, NULL),
-                                   APR_HASH_KEY_STRING);
-    if (!hle) {
-        /* try without extension */
         hle = (hl_entry *)apr_hash_get(conf->hlists, phase, 
APR_HASH_KEY_STRING);
-    }
     
     req_conf = (py_req_config *) ap_get_module_config(req->request_config,
                                                       &python_module);







More information about the Mod_python mailing list