httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Cliff Skolnick <cl...@steam.com>
Subject Re: Apache 1.3.7 being rolled now..
Date Sun, 01 Aug 1999 01:31:12 GMT

Dirk,

  Did you find the problem?  I've noticed with "htdocs" as the DocumentRoot
that the server starts fine and does not report an error the DocumentRoot
does not exist.  Unfortunately when a file is requested something goes wrong
in the translation to a path name.  I'm going to try to debug this more but
I can't spend time on this until Monday.

  The obvious simple fix is to have the template use a fully qualified path
name, but there is still something broken in the code IMHO.

BTW my testing is on solaris7, sparc, sunpro compilers version 5.0.

Cliff


On Fri, 30 Jul 1999, Dirk-Willem van Gulik wrote:

> 
> 
> On Thu, 29 Jul 1999, Roy T. Fielding wrote:
> 
> > I pulled the tarball off the site.
> > 
> > fielding@kiwi% gdb httpd
> 
> Hmm, on FreeBSD 3.2 and Solaris 2.5 I get neither. This is with
> the stock config file ? Or could you post the exact files and
> config you are using. As an aside, I think that the docroot
> substitution is going wrong somewhere. Will report on that later.
> 
> Dw.
> 
> > GDB is free software and you are welcome to distribute copies of it
> >  under certain conditions; type "show copying" to see the conditions.
> > There is absolutely no warranty for GDB; type "show warranty" for details.
> > GDB 4.16.gnat.1.13 (sparc-sun-solaris2.5), 
> > Copyright 1996 Free Software Foundation, Inc...
> > (gdb) run -X -d /extra/fielding0/private/ws/apache-1.3
> > Starting program: /extra/fielding0/private/ws/apache-1.3/src/httpd -X -d /extra/fielding0/private/ws/apache-1.3
> > warning: Unable to find dynamic linker breakpoint function.
> > warning: GDB will be unable to debug shared library initializers
> > warning: and track explicitly loaded dynamic code.
> > 
> > Program received signal SIGSEGV, Segmentation fault.
> > 0xef5d4f20 in strcasecmp ()
> > (gdb) bt
> > #0  0xef5d4f20 in strcasecmp ()
> > #1  0x32958 in ap_table_do (comp=0x41e64 <merge_vary_fields>, 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
> > #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=933293681)
> >     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
> > (gdb)
> > 
> > This other trace might help, but I'm off to dinner.
> > 
> > Breakpoint 1, fixup_vary (r=0xac200) at http_protocol.c:1490
> > 1490        if (ap_table_get(r->headers_out, "Vary") == NULL) {
> > (gdb) n
> > 1493        ap_table_do((int (*)(void *, const char *, const char *))merge_vary_fields,
> > (gdb) s
> > ap_table_do (comp=0x41e64 <merge_vary_fields>, rec=0xac200, t=0xaf078)
> >     at alloc.c:1481
> > 1481        table_entry *elts = (table_entry *) t->a.elts;
> > (gdb) s
> > 1486        argp = va_arg(vp, char *);
> > (gdb) n
> > 1489            for (rv = 1, i = 0; rv && (i < t->a.nelts); ++i) {
> > (gdb) n
> > 1490                if (elts[i].key && (!argp || !strcasecmp(elts[i].key,
argp))) {
> > (gdb) p argp
> > $1 = 0x721c8 "Vary"
> > (gdb) n
> > 1491                    rv = (*comp) (rec, elts[i].key, elts[i].val);
> > (gdb) p elts[i].val
> > $2 = 0xaef0a "negotiate, accept-language, accept-encoding"
> > (gdb) n
> > 1489            for (rv = 1, i = 0; rv && (i < t->a.nelts); ++i) {
> > (gdb) n
> > 1490                if (elts[i].key && (!argp || !strcasecmp(elts[i].key,
argp))) {
> > (gdb) n
> > 
> > Program received signal SIGSEGV, Segmentation fault.
> > 0xef5d4f20 in strcasecmp ()
> > 
> > To test, set up a directory like
> > 
> > drwxrwxr-x   2 fielding grad         512 Mar  8 05:13 test/
> > fielding@kiwi% cd test
> > fielding@kiwi% d
> > total 782
> > drwxrwxr-x   2 fielding grad         512 Mar  8 05:13 ./
> > drwxrwxr-x   5 fielding grad         512 Mar 28 19:32 ../
> > -rw-rw-r--   1 fielding grad          11 Jan  2  1999 hello.txt.de
> > -rw-rw-r--   1 fielding grad          13 Jan  3  1999 hello.txt.en
> > -rw-rw-r--   1 fielding grad          46 Jan  3  1999 hello.txt.en.gz
> > -rw-rw-r--   1 fielding grad          10 Jan  2  1999 hello.txt.mi
> > 
> > and then make a GET request for /test/hello
> > 
> > ....Roy
> > 
> 

--
Cliff Skolnick          | "They that can give up essential liberty to obtain
Steam Tunnel Operations |  a little temporary safety deserve neither liberty
cliff@steam.com         |  nor safety."
http://www.steam.com/   |                   -- Benjamin Franklin, 1759


Mime
View raw message