Comment 15 for bug 1426095

Revision history for this message
Yuri (yvoinov) wrote : Re: eClamav crashes after reporting a cl_load() error

Another problem.

If ecap_gzip also enabled, HTTP request produces core dump:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1 (LWP 1)]
0xfffffd7ffeb72242 in _Unwind_Resume () from /lib/64/libc.so.1
(gdb) backtrace
#0 0xfffffd7ffeb72242 in _Unwind_Resume () from /lib/64/libc.so.1
#1 0xfffffd7ffe457f22 in Adapter::Xaction::start() ()
   from /usr/local/lib/ecap_adapter_gzip.so
#2 0x00000000007cb622 in Adaptation::Ecap::XactionRep::start (this=0x2ddbfb8)
    at XactionRep.cc:243
#3 0x000000000072ba0d in AsyncCallT<NullaryMemFunT<AsyncJob> >::fire() ()
#4 0x0000000000727dd9 in AsyncCall::make (this=0x3876500) at AsyncCall.cc:32
#5 0x000000000072c0ff in AsyncCallQueue::fireNext (this=this@entry=0xa3d4f0)
    at AsyncCallQueue.cc:52
#6 0x000000000072c4fa in AsyncCallQueue::fire (this=0xa3d4f0)
    at AsyncCallQueue.cc:38
#7 0x00000000005b4a02 in dispatchCalls (this=0xfffffd7fffdff580)
    at EventLoop.cc:158
#8 EventLoop::runOnce (this=this@entry=0xfffffd7fffdff580) at EventLoop.cc:135
#9 0x00000000005b4bb8 in EventLoop::run (this=this@entry=0xfffffd7fffdff580)
    at EventLoop.cc:99
#10 0x0000000000637971 in SquidMain (argc=<optimized out>,
    argv=<optimized out>) at main.cc:1528
#11 0x000000000083205c in SquidMainSafe (argv=<optimized out>,
    argc=<optimized out>) at main.cc:1260
#12 main (argc=<optimized out>, argv=<optimized out>) at main.cc:1252

Config snippet is:

ecap_enable on
acl HTTP_STATUS_OK http_status 200

loadable_modules /usr/local/lib/ecap_adapter_gzip.so
ecap_service gzip_service respmod_precache ecap://www.vigos.com/ecap_gzip bypass=off
adaptation_access gzip_service allow HTTP_STATUS_OK

loadable_modules /usr/local/lib/ecap_clamav_adapter.so
ecap_service clamav_service_req reqmod_precache uri=ecap://e-cap.org/ecap/services/clamav?mode=REQMOD bypass=off
ecap_service clamav_service_resp respmod_precache uri=ecap://e-cap.org/ecap/services/clamav?mode=RESPMOD bypass=on
adaptation_access clamav_service_req allow all
adaptation_access clamav_service_resp allow all

What can be wrong? Without clamav adapter gzip works perfectly. clamav without gzip too. Does library support only one loadable module?