worker process and memory leak ?

Chavelle Vincent lists at ruby-forum.com
Wed Apr 23 20:22:04 MSD 2008


After many test, I found the memory leak cause. It happens when 
ssl_verify_client is activate. Nginx doesn't seem have memory leak when 
this parameter is off.

Chavelle Vincent wrote:
>   ssl_verify_client    on;

So I run valgrind to have more information and I found this :

 340 bytes in 2 blocks are possibly lost in loss record 4 of 10
    at 0x4022AB8: malloc (vg_replace_malloc.c:207)
    by 0x430448D: (within /usr/lib/i686/cmov/libcrypto.so.0.9.8)
    by 0x4304AEE: CRYPTO_malloc (in 
/usr/lib/i686/cmov/libcrypto.so.0.9.8)
    by 0x433A256: BN_MONT_CTX_new (in 
/usr/lib/i686/cmov/libcrypto.so.0.9.8)
    by 0x433A362: BN_MONT_CTX_set_locked (in 
/usr/lib/i686/cmov/libcrypto.so.0.9.8)
    by 0x434E886: (within /usr/lib/i686/cmov/libcrypto.so.0.9.8)
    by 0x435035D: RSA_public_decrypt (in 
/usr/lib/i686/cmov/libcrypto.so.0.9.8)
    by 0x4351149: RSA_verify (in /usr/lib/i686/cmov/libcrypto.so.0.9.8)
    by 0x428D005: ssl3_get_cert_verify (in 
/usr/lib/i686/cmov/libssl.so.0.9.8)
    by 0x4290268: ssl3_accept (in /usr/lib/i686/cmov/libssl.so.0.9.8)
    by 0x42A729C: SSL_do_handshake (in 
/usr/lib/i686/cmov/libssl.so.0.9.8)
    by 0x8069048: ngx_ssl_handshake (ngx_event_openssl.c:408)


 280,022 (57,932 direct, 222,090 indirect) bytes in 249 blocks are 
definitely lost in loss record 9 of 10
    at 0x4022AB8: malloc (vg_replace_malloc.c:207)
    by 0x430448D: (within /usr/lib/i686/cmov/libcrypto.so.0.9.8)
    by 0x4304AEE: CRYPTO_malloc (in 
/usr/lib/i686/cmov/libcrypto.so.0.9.8)
    by 0x438BD84: (within /usr/lib/i686/cmov/libcrypto.so.0.9.8)
    by 0x438E9B4: ASN1_item_ex_d2i (in 
/usr/lib/i686/cmov/libcrypto.so.0.9.8)
    by 0x438F124: ASN1_item_d2i (in 
/usr/lib/i686/cmov/libcrypto.so.0.9.8)
    by 0x4385CD4: d2i_X509 (in /usr/lib/i686/cmov/libcrypto.so.0.9.8)
    by 0x428C8D3: ssl3_get_client_certificate (in 
/usr/lib/i686/cmov/libssl.so.0.9.8)
    by 0x4290381: ssl3_accept (in /usr/lib/i686/cmov/libssl.so.0.9.8)
    by 0x42A729C: SSL_do_handshake (in 
/usr/lib/i686/cmov/libssl.so.0.9.8)
    by 0x8069048: ngx_ssl_handshake (ngx_event_openssl.c:408)
    by 0x8069404: ngx_ssl_handshake_handler (ngx_event_openssl.c:540)

I have no idea how to solve this problem, and if it is possible to free 
pointer in nginx. I don't found a lot of help on google.

For information : http://bugs.mysql.com/bug.php?id=14780

Thanks again
-- 
Posted via http://www.ruby-forum.com/.





More information about the nginx mailing list