On Thu, 10 Jan 2008, Niklas Edmundsson wrote:

On Wed, 9 Jan 2008, William A. Rowe, Jr. wrote:

Uhm. It seems that the old bug of not delivering http with mod_ftp loaded is back... Or am I seeing a ghost? Same symptoms as before, 0-length replies...

Ghost is possibly working in trunk without doing the make clean; make
I mentioned?

I did ./configure.apxs; make clean; make ...

Did it again, just to be sure.

Discovered now that I got a bunch of coredumps, will get back to you if I find something useful...

This is httpd 2.2.6, worker MPM, compiled with -g and with optimization,
on Ubuntu 7.10 32bit, mod_ftp trunk r610730.

Backtrace of cores looks like this:
(gdb) bt full
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb7d71ca6 in kill () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#2  0x0808179d in sig_coredump (sig=28177) at mpm_common.c:1235
No locals.
#3  <signal handler called>
No symbol table info available.
#4  ftp_insert_filter (r=0x81fc088) at mod_ftp.c:260
        fc = (ftp_connection *) 0x0
#5  0x0807483c in ap_run_insert_filter (r=0x81fc088) at request.c:80
        n = 2
#6  0x0807c200 in ap_invoke_handler (r=0x81fc088) at config.c:339
        handler = <value optimized out>
        result = <value optimized out>
        old_handler = 0x0
        ignore = <value optimized out>
#7  0x08086dd8 in ap_process_request (r=0x81fc088) at http_request.c:258
        access_status = 136282760
#8  0x080840db in ap_process_http_connection (c=0x81f8228) at http_core.c:184
        r = (request_rec *) 0x81fc088
        csd = (apr_socket_t *) 0x0
#9  0x08080209 in ap_run_process_connection (c=0x81f8228) at connection.c:43
        n = 1
        rv = 18
#10 0x0808ba84 in worker_thread (thd=0x812c240, dummy=0x815bea8)
    at worker.c:544
        process_slot = 0
        thread_slot = 0
        csd = (apr_socket_t *) 0x81f8078
        bucket_alloc = (apr_bucket_alloc_t *) 0x81fa048
        last_ptrans = (apr_pool_t *) 0x0
        ptrans = (apr_pool_t *) 0x81f8040
        rv = <value optimized out>
        is_idle = <value optimized out>

(gdb) frame 4
#4  ftp_insert_filter (r=0x81fc088) at mod_ftp.c:260
260         if (fc->datasock && (fc->filter_mask & FTP_NEED_DATA_OUT)) {

I guess that following a NULL pointer didn't work this time either ;)

I haven't looked closer at the code, but it seems to me that
something is broken. Should it even try to insert an ftp filter for
non-ftp connections?

/Nikke
--
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 Niklas Edmundsson, Admin @ {acc,hpc2n}.umu.se      |     [EMAIL PROTECTED]
---------------------------------------------------------------------------
 ngel's lame. His hair grows straight up, and he's bloody stupid. - Buffybot
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Reply via email to