在 centOS 上启用 mod_pagespeed 后,apache2 coredump

在 centOS 上启用 mod_pagespeed 后,apache2 coredump

我正在尝试让以下 apache2.2 模块与 CentOS 上的 mod_pagespeed、mod_spdy 和 WebSphere Webserver 插件协同工作。

一旦 mod_pagespeed 更改了文件的路径,浏览器就无法再解析该文件。我有一个 coredump,但我真的不知道如何读取它:

gdb /usr/sbin/httpd core.881
(gdb) bt full
#0  __strrchr_sse42 () at ../sysdeps/x86_64/multiarch/strrchr.S:134
No locals.
#1  0x00007ff129b02404 in ?? () from /usr/lib64/httpd/modules/mod_pagespeed.so
No symbol table info available.
#2  0x00007ff1348fb8b8 in ap_run_map_to_storage (r=0x7ff1362f0698) at /usr/src/debug/httpd-2.2.15/server/request.c:69
        pHook = <value optimized out>
        n = <value optimized out>
        rv = <value optimized out>
#3  0x00007ff1348fd9c8 in ap_process_request_internal (r=0x7ff1362f0698) at /usr/src/debug/httpd-2.2.15/server/request.c:150
        file_req = 0
        access_status = <value optimized out>
#4  0x00007ff13490fa20 in ap_process_request (r=0x7ff1362f0698) at /usr/src/debug/httpd-2.2.15/modules/http/http_request.c:280
        access_status = <value optimized out>
#5  0x00007ff13490c8f8 in ap_process_http_connection (c=0x7ff1362f46b8) at /usr/src/debug/httpd-2.2.15/modules/http/http_core.c:190
        r = 0x7ff1362f0698
        csd = 0x0
#6  0x00007ff134908608 in ap_run_process_connection (c=0x7ff1362f46b8) at /usr/src/debug/httpd-2.2.15/server/connection.c:43
        pHook = <value optimized out>
        n = <value optimized out>
        rv = <value optimized out>
#7  0x00007ff1291272fb in ?? () from /usr/lib64/httpd/modules/mod_spdy.so
No symbol table info available.
#8  0x00007ff129152ccd in ?? () from /usr/lib64/httpd/modules/mod_spdy.so
No symbol table info available.
#9  0x00007ff129152ccd in ?? () from /usr/lib64/httpd/modules/mod_spdy.so
No symbol table info available.
#10 0x00007ff12914f1fb in ?? () from /usr/lib64/httpd/modules/mod_spdy.so
No symbol table info available.
#11 0x00007ff1291328f1 in ?? () from /usr/lib64/httpd/modules/mod_spdy.so
No symbol table info available.
#12 0x00007ff1331ab851 in start_thread (arg=0x7ff12735d700) at pthread_create.c:301
        __res = <value optimized out>
        pd = 0x7ff12735d700
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140673721685760, -6615953477917025934, 140734441252576, 140673721686464, 4, 7, 6614986543813548402, 6614960367733758322},
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <value optimized out>
        pagesize_m1 = <value optimized out>
        sp = <value optimized out>
        freesize = <value optimized out>
#13 0x00007ff132ef911d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

答案1

我们正在跟踪此问题http://code.google.com/p/modpagespeed/issues/detail?id=610。我对此的最新回应:

我认为这个问题可能已经在主干中修复了。您是否可以从主干构建并试用一下?

具体来说,为反向代理添加了特殊处理以绕过此例程。这并不是因为 r->filename 为 NULL;我们没有看到崩溃,而是遇到了 403 问题。这是问题 582。

从主干构建的说明:https://developers.google.com/speed/docs/mod_pagespeed/build_from_source—— 使用“前沿”版本。

相关内容