|
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);
|