Return-Path: Delivered-To: new-httpd-archive@hyperreal.org Received: (qmail 9857 invoked by uid 6000); 30 Jul 1999 22:58:08 -0000 Received: (qmail 9851 invoked from network); 30 Jul 1999 22:58:06 -0000 Received: from paris.ics.uci.edu (mmdf@128.195.1.50) by taz.hyperreal.org with SMTP; 30 Jul 1999 22:58:06 -0000 Received: from kiwi.ics.uci.edu by paris.ics.uci.edu id aa21401; 30 Jul 99 15:53 PDT To: new-httpd@apache.org Subject: Re: Apache 1.3.7 being rolled now.. In-reply-to: Your message of "Fri, 30 Jul 1999 14:41:58 PDT." <9907301441.aa13876@paris.ics.uci.edu> Date: Fri, 30 Jul 1999 15:53:39 -0700 From: "Roy T. Fielding" Message-ID: <9907301553.aa21401@paris.ics.uci.edu> Sender: new-httpd-owner@apache.org Precedence: bulk Reply-To: new-httpd@apache.org >I'll fix it as soon as I get a chance to run the debugger again >sometime this afternoon. Or, at least that was the theory. What is wrong with this picture: 1491 rv = (*comp) (rec, elts[i].key, elts[i].val); (gdb) p elts[i].key $9 = 0x65568 "Vary" (gdb) s merge_vary_fields (d=0xac200, key=0x65568 "Vary", val=0xaef0a "negotiate, accept-language, accept-encoding") at http_protocol.c:1469 1469 ap_table_merge(r->notes, "Vary-list", val); (gdb) p val $10 = 0xaef0a "negotiate, accept-language, accept-encoding" (gdb) n 1471 } (gdb) s ap_table_do (comp=0x41e64 , rec=0xac200, t=0xaf078) at alloc.c:1489 1489 for (rv = 1, i = 0; rv && (i < t->a.nelts); ++i) { (gdb) dump_table t [0] 'Content-Location'='hello.txt.en' [1] 'Vary'='negotiate, accept-language, accept-encoding' [2] 'TCN'='choice' [3] 'Last-Modified'='Sun, 03 Jan 1999 12:49:49 GMT' [4] 'ETag'='"56418-d-368f676d;36e3ccea"' [5] 'Accept-Ranges'='bytes' [6] 'Content-Length'='13' (gdb) s 1490 if (elts[i].key && (!argp || !strcasecmp(elts[i].key, argp))) { (gdb) p elts[i].key $11 = 0x655d8 "TCN" (gdb) p argp $12 = 0x721c8 "Vary" (gdb) s Program received signal SIGSEGV, Segmentation fault. 0xef5d4f20 in strcasecmp () (gdb) bt #0 0xef5d4f20 in strcasecmp () #1 0x32958 in ap_table_do (comp=0x41e64 , rec=0xac200, t=0xaf078) at alloc.c:1490 #2 0x41ebc in fixup_vary (r=0xac200) at http_protocol.c:1493 #3 0x42124 in ap_send_http_header (r=0xac200) at http_protocol.c:1591 #4 0x3b2ec in default_handler (r=0xac200) at http_core.c:3168 #5 0x35500 in ap_invoke_handler (r=0xac200) at http_config.c:525 #6 0x45aa8 in process_request_internal (r=0xac200) at http_request.c:1214 #7 0x45b00 in ap_process_request (r=0xac200) at http_request.c:1230 #8 0x3e9f0 in child_main (child_num_arg=705024) at http_main.c:4034 #9 0x3eb74 in make_child (s=0x90178, slot=0, now=933373308) at http_main.c:4138 #10 0x3ecbc in startup_children (number_to_start=6) at http_main.c:4220 #11 0x3f268 in standalone_main (argc=458944, argv=0x8b400) at http_main.c:4508 #12 0x3fa4c in main (argc=4, argv=0xefffee24) at http_main.c:4829 Which is to say, strcasecmp("TCN", "Vary") is segfaulting. Huh? ....Roy