Re: scgi 1.9 apache2 mod bug?

Thomas Yandell <[email protected]>
Newsgroups gmane.comp.web.quixote.user
Organization Viper Code Limited
Message-ID <[email protected]>
Hi Neil

I managed to kludge it into working by removing the bits from config. i.e 
replacing:

    rv = apr_sockaddr_info_get(&sockaddr,
                               CONFIG_VALUE(m->addr, "localhost"),
                               APR_UNSPEC,
                               CONFIG_VALUE(m->port, 4000),
                               0,
                               r->pool);

with:

    rv = apr_sockaddr_info_get(&sockaddr,
                               "localhost",
                               APR_UNSPEC,
                               9090,
                               0,
                               r->pool);

However this brings up an unrelated problem in the following code:

    add_header(t, "SCRIPT_NAME", r->uri);
    if (r->path_info) {
        int path_info_start = find_path_info(r->uri, r->path_info);
        add_header(t, "SCRIPT_NAME", apr_pstrndup(r->pool, r->uri,
                                                  path_info_start));
        add_header(t, "PATH_INFO", r->path_info);
    }
    else {
        /* skip PATH_INFO, don't know it */
        add_header(t, "SCRIPT_NAME", r->uri);
    }

This results in the SCRIPT_NAME header being duplicated.
	
Thanks,
Tom


On Monday 16 January 2006 15:23, Thomas Yandell wrote:
> Hi Neil,
>
> Please see below.
>
> On Friday 13 January 2006 21:13, you wrote:
> > On Wed, Jan 11, 2006 at 10:39:22AM +0000, Thomas Yandell wrote:
> > > [Wed Jan 11 10:33:44 2006] [notice] child pid 4656 exit signal
> > > Segmentation fault (11)
> >
> > Ouch.
>
> Yep.
>
> > Unfortunately that doesn't provide much of a clue as to
> > what's wrong.  An easy thing to try is to set LogLevel to "debug".
> > You should get a better idea of what mod_scgi is doing when it dies.
>
> I got this:
>
> [Mon Jan 16 14:56:53 2006] [debug] mod_scgi.c(498): [client 127.0.0.5]
> connecting to server
>
> I tried to add extra debug warnings to narrow it down. In particular in the
> open_socket function i replaced the following:
>
>     rv = apr_sockaddr_info_get(&sockaddr,
>                                CONFIG_VALUE(m->addr, "localhost"),
>                                APR_UNSPEC,
>                                CONFIG_VALUE(m->port, 4000),
>                                0,
>                                r->pool);
>     if (rv) {
>         log_err(APLOG_MARK, r, rv, "apr_sockaddr_info_get() error");
>         return rv;
>     }
>
> with
>
>     log_debug(APLOG_MARK, r, "open_socket: 5");
>
>     rv = apr_sockaddr_info_get(&sockaddr,
>                                CONFIG_VALUE(m->addr, "localhost"),
>                                APR_UNSPEC,
>                                CONFIG_VALUE(m->port, 4000),
>                                0,
>                                r->pool);
>     if (rv) {
>         log_err(APLOG_MARK, r, rv, "apr_sockaddr_info_get() error");
>         return rv;
>     }
>
>     log_debug(APLOG_MARK, r, "open_socket: 6");
>
> and in the error log I get:
>
> ...
> [Mon Jan 16 15:10:15 2006] [debug] mod_scgi.c(434): [client 127.0.0.5]
> open_socket: 3
> [Mon Jan 16 15:10:15 2006] [debug] mod_scgi.c(438): [client 127.0.0.5]
> open_socket: 4
> [Mon Jan 16 15:10:15 2006] [debug] mod_scgi.c(442): [client 127.0.0.5]
> open_socket: 5
>
> and then nothing.
>
> > You may also want to add move debug messages to the source to narrow
> > it down.  Another idea is to attach to the Apache process using gdb.
> > That's a little tricky though.
> >
> > > I am using the libapache2-mod-scgi from debian unstable, but have also
> > > compiled the module myself with the same results.
> >
> > What's the version of Apache?  Are you just doing a simple GET
> > request or something more complicated?
>
> Current apache2 from unstable. Happens with prefork and worker mpm's. Is a
> simple GET request.
>
> > > I hope you don't mind me asking you, I could not find an appropriate
> > > mailing list.
> >
> > Contacting me is fine.  You can also try the
> > [email protected] list as mod_scgi users tend to hang
> > out there too.
> >
> >   Neil
>
> Cc'd to list.
>
> Thanks,
> Tom

-- 
Thomas Yandell
Technical Consultant
Viper Code Limited
t: +44 (0)7855 399853
e: [email protected]
w: www.vipercode.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.