DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUGĀ·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=39643>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED ANDĀ·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=39643

           Summary: mod_mem_cache crashes after requesting the same object
                    twice
           Product: Apache httpd-2
           Version: 2.2.2
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: critical
          Priority: P2
         Component: mod_cache
        AssignedTo: [email protected]
        ReportedBy: [EMAIL PROTECTED]


When requesting the same object twice (a cachable object that respond to the mem
cache parameters), a segmentation fault is generated (ie. [Tue May 23 12:59:31
2006] [notice] child pid 960 exit signal Segmentation fault (11)) with Apache
2.2.2 on RHEL ES 3 (Linux apache 2.4.21-40.ELsmp #1 SMP Thu Feb 2 22:22:39 EST)
acting as a reverse proxy, with both mem cache and disk cache enabled for
several virtual hosts.

Several things were tried, but it makes no difference:
- reload or restart Apache
- reboot
- disabling disk cache
- changing mem cache parameters
- request with "deflatable" and "not deflatable" objects
- request with different browser (Firefox 1.5.0.3, IE 6.0SP2, telnet...)
- requesting different objects (but still 2 times following) on different
virtual hosts

But disabling mem cache always makes it work perfectly without crashes.

This is an exemple of telnet request (extracted from tcpdump):
GET /fichiers/1417/00000012.htm HTTP/1.1
Accept: */*
Referer: http://www.my-site.com/synergies/Pages/index_FS.asp?res=1024&;
Accept-Language: en-us
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
Host: www.my-site.com
Connection: Keep-Alive

This is the cache configuration:
CacheDefaultExpire 60
CacheLastModifiedFactor 0.1
CacheMaxExpire 86400
<IfModule mod_mem_cache.c>
CacheEnable mem /
MCacheMaxObjectCount 10000
MCacheMaxObjectSize 32768
MCacheMaxStreamingBuffer 16384
MCacheMinObjectSize 0
MCacheRemovalAlgorithm GDSF
MCacheSize 32768
</IfModule>
<IfModule mod_disk_cache.c>
CacheEnable disk /
CacheDirLength 2
CacheDirLevels 3
CacheMaxFileSize 1000000
CacheMinFileSize 64
CacheRoot /var/cache/apache
</IfModule>

And this is the gdb output:
GNU gdb Red Hat Linux (6.1post-1.20040607.52rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or 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.
This GDB was configured as "i386-redhat-linux-gnu"...Using host libthread_db
library "/lib/tls/libthread_db.so.1".

warning: core file may not match specified executable file.
Core was generated by `/usr/local/apache/bin/httpdpprod -f
/usr/local/apache/conf/httpd.conf -k'.
Program terminated with signal 11, Segmentation fault.
...
#0  0x00bc9ba1 in __read_nocancel () from /lib/tls/libpthread.so.0
(gdb) where
#0  0x00bc9ba1 in __read_nocancel () from /lib/tls/libpthread.so.0
#1  0x08082355 in ap_mpm_pod_check (pod=0xfffffe00) at pod.c:54
#2  0x0808072a in child_main (child_num_arg=-512) at worker.c:1233
#3  0x0808090a in make_child (s=0x9c4ef48, slot=0) at worker.c:1316
#4  0x0808096b in startup_children (number_to_start=2) at worker.c:1350
#5  0x080814bd in ap_mpm_run (_pconf=0x2, plog=0x9c7b160, s=0x9c4ef48) at
worker.c:1700
#6  0x08061f60 in main (argc=5, argv=0xbfffbb64) at main.c:717
(gdb) bt full
#0  0x00bc9ba1 in __read_nocancel () from /lib/tls/libpthread.so.0
No symbol table info available.
#1  0x08082355 in ap_mpm_pod_check (pod=0xfffffe00) at pod.c:54
        c = 0 '\0'
        fd = 8
        rc = -512
#2  0x0808072a in child_main (child_num_arg=-512) at worker.c:1233
        threads = (apr_thread_t **) 0xaa1b040
        rv = 16
        ts = (thread_starter *) 0xa94cce0
        thread_attr = (apr_threadattr_t *) 0xa94ccf0
        start_thread_id = (apr_thread_t *) 0xa94cd28
#3  0x0808090a in make_child (s=0x9c4ef48, slot=0) at worker.c:1316
        pid = 0
#4  0x0808096b in startup_children (number_to_start=2) at worker.c:1350
        i = 0
#5  0x080814bd in ap_mpm_run (_pconf=0x2, plog=0x9c7b160, s=0x9c4ef48) at
worker.c:1700
        remaining_children_to_start = 2
        rv = -512
#6  0x08061f60 in main (argc=5, argv=0xbfffbb64) at main.c:717
        exit_status = 0
        c = 102 'f'
        configtestonly = 0
        confname = 0xbfffdb6c "/usr/local/apache/conf/httpd.conf"
        def_server_root = 0x8089e25 "/usr/local/apache"
        temp_error_log = 0x0
        error = 0xfffffe00 <Address 0xfffffe00 out of bounds>
        process = (process_rec *) 0x9c4b120
        server_conf = (server_rec *) 0x9c4ef48
        pglobal = (apr_pool_t *) 0x9c4b0a0
        pconf = (apr_pool_t *) 0x9c4d0a8
        plog = (apr_pool_t *) 0x9c7b160
        ptemp = (apr_pool_t *) 0x9c7f170
        pcommands = (apr_pool_t *) 0x9c4f0b0
        opt = (apr_getopt_t *) 0x9c4f148
        rv = -1073759564
        mod = (module **) 0xbfffbab4
        optarg = 0xbfffdb6c "/usr/local/apache/conf/httpd.conf"
        signal_server = (apr_OFN_ap_signal_server_t *) 0x1

Thanks in advance,
Carl ROLLER

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to