Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Run valgrind with nginx

Tags:

nginx

valgrind

How can I run valgrind against my nginx server?

I've built both binaries. In my nginx.conf I have (as guided by instructions):

worker_processes  1;
daemon off;
master_process off;

I'm running like this:

sudo /usr/local/bin/valgrind -v --tool=memcheck --leak-check=yes nginx

When I run this I get some valgrind output like below then I get a prompt back. There are 2 valgrind processes running and my server won't respond to a "curl"--says it couldn't connect to host. Same curl works fine w/o valgrind. I need valgrind to stay up and running as I exercise my tests against nginx and the module code I wrote (built into nginx binary as typical).

I've also applied the "no-pool" patch for my nginx version to help valgrind. What am I missing?

Output:

==13809== Memcheck, a memory error detector
==13809== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==13809== Using Valgrind-3.9.0 and LibVEX; rerun with -h for copyright info
==13809== Command: nginx
==13809== 
==13809== 
==13809== HEAP SUMMARY:
==13809==     in use at exit: 249,673 bytes in 3,511 blocks
==13809==   total heap usage: 4,419 allocs, 908 frees, 496,218 bytes allocated
==13809== 
==13809== 104 bytes in 1 blocks are possibly lost in loss record 575 of 676
==13809==    at 0x4A06AAA: malloc (vg_replace_malloc.c:291)
==13809==    by 0x41FD4D: ??? (in /usr/sbin/nginx)
==13809==    by 0x41FDB5: ??? (in /usr/sbin/nginx)
==13809==    by 0x4184CE: ??? (in /usr/sbin/nginx)
==13809==    by 0x42FC9B: ??? (in /usr/sbin/nginx)
==13809==    by 0x42CABB: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x414922: ??? (in /usr/sbin/nginx)
==13809==    by 0x4073C5: ??? (in /usr/sbin/nginx)
==13809==    by 0x3A9261ED1C: (below main) (in /lib64/libc-2.12.so)
==13809== 
==13809== 160 bytes in 5 blocks are possibly lost in loss record 588 of 676
==13809==    at 0x4A06AAA: malloc (vg_replace_malloc.c:291)
==13809==    by 0x3A97268B2D: CRYPTO_malloc (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A972E237E: sk_new (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A972E2421: sk_dup (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A996495A4: ssl_create_cipher_list (in /usr/lib64/libssl.so.1.0.1e)
==13809==    by 0x3A99642EFF: SSL_CTX_new (in /usr/lib64/libssl.so.1.0.1e)
==13809==    by 0x428F29: ??? (in /usr/sbin/nginx)
==13809==    by 0x4691BE: ??? (in /usr/sbin/nginx)
==13809==    by 0x46B171: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x4336A1: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809== 
==13809== 160 bytes in 5 blocks are possibly lost in loss record 589 of 676
==13809==    at 0x4A06AAA: malloc (vg_replace_malloc.c:291)
==13809==    by 0x3A97268B2D: CRYPTO_malloc (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A972E237E: sk_new (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A99642F8D: SSL_CTX_new (in /usr/lib64/libssl.so.1.0.1e)
==13809==    by 0x428F29: ??? (in /usr/sbin/nginx)
==13809==    by 0x4691BE: ??? (in /usr/sbin/nginx)
==13809==    by 0x46B171: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x4336A1: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x434286: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809== 
==13809== 160 bytes in 5 blocks are possibly lost in loss record 590 of 676
==13809==    at 0x4A06AAA: malloc (vg_replace_malloc.c:291)
==13809==    by 0x3A97268B2D: CRYPTO_malloc (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A972E239C: sk_new (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A99642F8D: SSL_CTX_new (in /usr/lib64/libssl.so.1.0.1e)
==13809==    by 0x428F29: ??? (in /usr/sbin/nginx)
==13809==    by 0x4691BE: ??? (in /usr/sbin/nginx)
==13809==    by 0x46B171: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x4336A1: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x434286: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809== 
==13809== 280 bytes in 5 blocks are possibly lost in loss record 603 of 676
==13809==    at 0x4A06AAA: malloc (vg_replace_malloc.c:291)
==13809==    by 0x3A97268B2D: CRYPTO_malloc (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A97323726: X509_VERIFY_PARAM_new (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A97320E6B: X509_STORE_new (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A99642ECC: SSL_CTX_new (in /usr/lib64/libssl.so.1.0.1e)
==13809==    by 0x428F29: ??? (in /usr/sbin/nginx)
==13809==    by 0x4691BE: ??? (in /usr/sbin/nginx)
==13809==    by 0x46B171: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x4336A1: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x434286: ??? (in /usr/sbin/nginx)
==13809== 
==13809== 280 bytes in 5 blocks are possibly lost in loss record 604 of 676
==13809==    at 0x4A06AAA: malloc (vg_replace_malloc.c:291)
==13809==    by 0x3A97268B2D: CRYPTO_malloc (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A97323726: X509_VERIFY_PARAM_new (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A99642F24: SSL_CTX_new (in /usr/lib64/libssl.so.1.0.1e)
==13809==    by 0x428F29: ??? (in /usr/sbin/nginx)
==13809==    by 0x4691BE: ??? (in /usr/sbin/nginx)
==13809==    by 0x46B171: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x4336A1: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x434286: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809== 
==13809== 304 bytes in 1 blocks are possibly lost in loss record 607 of 676
==13809==    at 0x4A06AAA: malloc (vg_replace_malloc.c:291)
==13809==    by 0x41FD4D: ??? (in /usr/sbin/nginx)
==13809==    by 0x41FDB5: ??? (in /usr/sbin/nginx)
==13809==    by 0x4184B4: ??? (in /usr/sbin/nginx)
==13809==    by 0x42FC9B: ??? (in /usr/sbin/nginx)
==13809==    by 0x42CABB: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x414922: ??? (in /usr/sbin/nginx)
==13809==    by 0x4073C5: ??? (in /usr/sbin/nginx)
==13809==    by 0x3A9261ED1C: (below main) (in /lib64/libc-2.12.so)
==13809== 
==13809== 640 bytes in 5 blocks are possibly lost in loss record 618 of 676
==13809==    at 0x4A06AAA: malloc (vg_replace_malloc.c:291)
==13809==    by 0x3A97268B2D: CRYPTO_malloc (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A972E2A71: lh_new (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A99642EBA: SSL_CTX_new (in /usr/lib64/libssl.so.1.0.1e)
==13809==    by 0x428F29: ??? (in /usr/sbin/nginx)
==13809==    by 0x4691BE: ??? (in /usr/sbin/nginx)
==13809==    by 0x46B171: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x4336A1: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x434286: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809== 
==13809== 720 bytes in 5 blocks are possibly lost in loss record 625 of 676
==13809==    at 0x4A06AAA: malloc (vg_replace_malloc.c:291)
==13809==    by 0x3A97268B2D: CRYPTO_malloc (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A97320E26: X509_STORE_new (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A99642ECC: SSL_CTX_new (in /usr/lib64/libssl.so.1.0.1e)
==13809==    by 0x428F29: ??? (in /usr/sbin/nginx)
==13809==    by 0x4691BE: ??? (in /usr/sbin/nginx)
==13809==    by 0x46B171: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x4336A1: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x434286: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809== 
==13809== 880 bytes in 5 blocks are possibly lost in loss record 629 of 676
==13809==    at 0x4A06AAA: malloc (vg_replace_malloc.c:291)
==13809==    by 0x3A97268B2D: CRYPTO_malloc (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A972E2A4F: lh_new (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A99642EBA: SSL_CTX_new (in /usr/lib64/libssl.so.1.0.1e)
==13809==    by 0x428F29: ??? (in /usr/sbin/nginx)
==13809==    by 0x4691BE: ??? (in /usr/sbin/nginx)
==13809==    by 0x46B171: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x4336A1: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x434286: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809== 
==13809== 1,480 bytes in 5 blocks are possibly lost in loss record 643 of 676
==13809==    at 0x4A06AAA: malloc (vg_replace_malloc.c:291)
==13809==    by 0x3A97268B2D: CRYPTO_malloc (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A99645CF6: ssl_cert_new (in /usr/lib64/libssl.so.1.0.1e)
==13809==    by 0x3A99642E60: SSL_CTX_new (in /usr/lib64/libssl.so.1.0.1e)
==13809==    by 0x428F29: ??? (in /usr/sbin/nginx)
==13809==    by 0x4691BE: ??? (in /usr/sbin/nginx)
==13809==    by 0x46B171: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x4336A1: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x434286: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809== 
==13809== 3,040 bytes in 5 blocks are possibly lost in loss record 657 of 676
==13809==    at 0x4A06AAA: malloc (vg_replace_malloc.c:291)
==13809==    by 0x3A97268B2D: CRYPTO_malloc (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A99642D68: SSL_CTX_new (in /usr/lib64/libssl.so.1.0.1e)
==13809==    by 0x428F29: ??? (in /usr/sbin/nginx)
==13809==    by 0x4691BE: ??? (in /usr/sbin/nginx)
==13809==    by 0x46B171: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x4336A1: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x434286: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x4173F4: ??? (in /usr/sbin/nginx)
==13809== 
==13809== 4,096 bytes in 1 blocks are possibly lost in loss record 660 of 676
==13809==    at 0x4A06AAA: malloc (vg_replace_malloc.c:291)
==13809==    by 0x41FD4D: ??? (in /usr/sbin/nginx)
==13809==    by 0x408564: ??? (in /usr/sbin/nginx)
==13809==    by 0x4089E8: ??? (in /usr/sbin/nginx)
==13809==    by 0x4094DE: ??? (in /usr/sbin/nginx)
==13809==    by 0x443444: ??? (in /usr/sbin/nginx)
==13809==    by 0x445B58: ??? (in /usr/sbin/nginx)
==13809==    by 0x42C88B: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x414922: ??? (in /usr/sbin/nginx)
==13809==    by 0x4073C5: ??? (in /usr/sbin/nginx)
==13809==    by 0x3A9261ED1C: (below main) (in /lib64/libc-2.12.so)
==13809== 
==13809== 4,096 bytes in 1 blocks are possibly lost in loss record 661 of 676
==13809==    at 0x4A06AAA: malloc (vg_replace_malloc.c:291)
==13809==    by 0x41FD4D: ??? (in /usr/sbin/nginx)
==13809==    by 0x408564: ??? (in /usr/sbin/nginx)
==13809==    by 0x4089E8: ??? (in /usr/sbin/nginx)
==13809==    by 0x42F199: ??? (in /usr/sbin/nginx)
==13809==    by 0x416F35: ??? (in /usr/sbin/nginx)
==13809==    by 0x42EF11: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x41745A: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x42C8B9: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809== 
==13809== 4,280 bytes in 1 blocks are possibly lost in loss record 662 of 676
==13809==    at 0x4A06AAA: malloc (vg_replace_malloc.c:291)
==13809==    by 0x41FD4D: ??? (in /usr/sbin/nginx)
==13809==    by 0x408564: ??? (in /usr/sbin/nginx)
==13809==    by 0x408725: ??? (in /usr/sbin/nginx)
==13809==    by 0x409E4F: ??? (in /usr/sbin/nginx)
==13809==    by 0x441838: ??? (in /usr/sbin/nginx)
==13809==    by 0x42C88B: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x414922: ??? (in /usr/sbin/nginx)
==13809==    by 0x4073C5: ??? (in /usr/sbin/nginx)
==13809==    by 0x3A9261ED1C: (below main) (in /lib64/libc-2.12.so)
==13809== 
==13809== 4,280 bytes in 1 blocks are possibly lost in loss record 663 of 676
==13809==    at 0x4A06AAA: malloc (vg_replace_malloc.c:291)
==13809==    by 0x41FD4D: ??? (in /usr/sbin/nginx)
==13809==    by 0x408564: ??? (in /usr/sbin/nginx)
==13809==    by 0x408725: ??? (in /usr/sbin/nginx)
==13809==    by 0x409E65: ??? (in /usr/sbin/nginx)
==13809==    by 0x441838: ??? (in /usr/sbin/nginx)
==13809==    by 0x42C88B: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x414922: ??? (in /usr/sbin/nginx)
==13809==    by 0x4073C5: ??? (in /usr/sbin/nginx)
==13809==    by 0x3A9261ED1C: (below main) (in /lib64/libc-2.12.so)
==13809== 
==13809== 4,280 bytes in 1 blocks are possibly lost in loss record 664 of 676
==13809==    at 0x4A06AAA: malloc (vg_replace_malloc.c:291)
==13809==    by 0x41FD4D: ??? (in /usr/sbin/nginx)
==13809==    by 0x408564: ??? (in /usr/sbin/nginx)
==13809==    by 0x408725: ??? (in /usr/sbin/nginx)
==13809==    by 0x409E7B: ??? (in /usr/sbin/nginx)
==13809==    by 0x441838: ??? (in /usr/sbin/nginx)
==13809==    by 0x42C88B: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x414922: ??? (in /usr/sbin/nginx)
==13809==    by 0x4073C5: ??? (in /usr/sbin/nginx)
==13809==    by 0x3A9261ED1C: (below main) (in /lib64/libc-2.12.so)
==13809== 
==13809== 5,056 bytes in 1 blocks are possibly lost in loss record 665 of 676
==13809==    at 0x4A06AAA: malloc (vg_replace_malloc.c:291)
==13809==    by 0x41FD4D: ??? (in /usr/sbin/nginx)
==13809==    by 0x408564: ??? (in /usr/sbin/nginx)
==13809==    by 0x409855: ??? (in /usr/sbin/nginx)
==13809==    by 0x441565: ??? (in /usr/sbin/nginx)
==13809==    by 0x42CE6E: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x414922: ??? (in /usr/sbin/nginx)
==13809==    by 0x4073C5: ??? (in /usr/sbin/nginx)
==13809==    by 0x3A9261ED1C: (below main) (in /lib64/libc-2.12.so)
==13809== 
==13809== 5,120 bytes in 5 blocks are possibly lost in loss record 666 of 676
==13809==    at 0x4A06C9C: realloc (vg_replace_malloc.c:687)
==13809==    by 0x3A97268BCE: CRYPTO_realloc (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A972E2317: sk_insert (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A9964952B: ssl_create_cipher_list (in /usr/lib64/libssl.so.1.0.1e)
==13809==    by 0x3A99642EFF: SSL_CTX_new (in /usr/lib64/libssl.so.1.0.1e)
==13809==    by 0x428F29: ??? (in /usr/sbin/nginx)
==13809==    by 0x4691BE: ??? (in /usr/sbin/nginx)
==13809==    by 0x46B171: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x4336A1: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x434286: ??? (in /usr/sbin/nginx)
==13809== 
==13809== 5,120 bytes in 5 blocks are possibly lost in loss record 667 of 676
==13809==    at 0x4A06C9C: realloc (vg_replace_malloc.c:687)
==13809==    by 0x3A97268BCE: CRYPTO_realloc (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A972E2444: sk_dup (in /usr/lib64/libcrypto.so.1.0.1e)
==13809==    by 0x3A996495A4: ssl_create_cipher_list (in /usr/lib64/libssl.so.1.0.1e)
==13809==    by 0x3A99642EFF: SSL_CTX_new (in /usr/lib64/libssl.so.1.0.1e)
==13809==    by 0x428F29: ??? (in /usr/sbin/nginx)
==13809==    by 0x4691BE: ??? (in /usr/sbin/nginx)
==13809==    by 0x46B171: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x4336A1: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x434286: ??? (in /usr/sbin/nginx)
==13809== 
==13809== 16,384 bytes in 1 blocks are possibly lost in loss record 671 of 676
==13809==    at 0x4A055DC: memalign (vg_replace_malloc.c:755)
==13809==    by 0x4A05677: posix_memalign (vg_replace_malloc.c:908)
==13809==    by 0x41FCDB: ??? (in /usr/sbin/nginx)
==13809==    by 0x4084DB: ??? (in /usr/sbin/nginx)
==13809==    by 0x4143C6: ??? (in /usr/sbin/nginx)
==13809==    by 0x4073C5: ??? (in /usr/sbin/nginx)
==13809==    by 0x3A9261ED1C: (below main) (in /lib64/libc-2.12.so)
==13809== 
==13809== 16,384 bytes in 1 blocks are possibly lost in loss record 672 of 676
==13809==    at 0x4A055DC: memalign (vg_replace_malloc.c:755)
==13809==    by 0x4A05677: posix_memalign (vg_replace_malloc.c:908)
==13809==    by 0x41FCDB: ??? (in /usr/sbin/nginx)
==13809==    by 0x408431: ??? (in /usr/sbin/nginx)
==13809==    by 0x4089E8: ??? (in /usr/sbin/nginx)
==13809==    by 0x4094DE: ??? (in /usr/sbin/nginx)
==13809==    by 0x4418D5: ??? (in /usr/sbin/nginx)
==13809==    by 0x42C88B: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x414922: ??? (in /usr/sbin/nginx)
==13809==    by 0x4073C5: ??? (in /usr/sbin/nginx)
==13809==    by 0x3A9261ED1C: (below main) (in /lib64/libc-2.12.so)
==13809== 
==13809== 16,384 bytes in 1 blocks are possibly lost in loss record 673 of 676
==13809==    at 0x4A055DC: memalign (vg_replace_malloc.c:755)
==13809==    by 0x4A05677: posix_memalign (vg_replace_malloc.c:908)
==13809==    by 0x41FCDB: ??? (in /usr/sbin/nginx)
==13809==    by 0x408431: ??? (in /usr/sbin/nginx)
==13809==    by 0x42F05D: ??? (in /usr/sbin/nginx)
==13809==    by 0x416F35: ??? (in /usr/sbin/nginx)
==13809==    by 0x42EF11: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x41745A: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x42C8B9: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809== 
==13809== 16,384 bytes in 1 blocks are possibly lost in loss record 674 of 676
==13809==    at 0x4A055DC: memalign (vg_replace_malloc.c:755)
==13809==    by 0x4A05677: posix_memalign (vg_replace_malloc.c:908)
==13809==    by 0x41FCDB: ??? (in /usr/sbin/nginx)
==13809==    by 0x408431: ??? (in /usr/sbin/nginx)
==13809==    by 0x408725: ??? (in /usr/sbin/nginx)
==13809==    by 0x473461: ??? (in /usr/sbin/nginx)
==13809==    by 0x433527: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x434286: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x4173F4: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809== 
==13809== 16,384 bytes in 1 blocks are possibly lost in loss record 675 of 676
==13809==    at 0x4A055DC: memalign (vg_replace_malloc.c:755)
==13809==    by 0x4A05677: posix_memalign (vg_replace_malloc.c:908)
==13809==    by 0x41FCDB: ??? (in /usr/sbin/nginx)
==13809==    by 0x408431: ??? (in /usr/sbin/nginx)
==13809==    by 0x408725: ??? (in /usr/sbin/nginx)
==13809==    by 0x46D861: ??? (in /usr/sbin/nginx)
==13809==    by 0x433527: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x434286: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x4173F4: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809== 
==13809== 16,384 bytes in 1 blocks are possibly lost in loss record 676 of 676
==13809==    at 0x4A055DC: memalign (vg_replace_malloc.c:755)
==13809==    by 0x4A05677: posix_memalign (vg_replace_malloc.c:908)
==13809==    by 0x41FCDB: ??? (in /usr/sbin/nginx)
==13809==    by 0x408431: ??? (in /usr/sbin/nginx)
==13809==    by 0x409855: ??? (in /usr/sbin/nginx)
==13809==    by 0x448DC1: ??? (in /usr/sbin/nginx)
==13809==    by 0x472A04: ??? (in /usr/sbin/nginx)
==13809==    by 0x42CABB: ??? (in /usr/sbin/nginx)
==13809==    by 0x417090: ??? (in /usr/sbin/nginx)
==13809==    by 0x414922: ??? (in /usr/sbin/nginx)
==13809==    by 0x4073C5: ??? (in /usr/sbin/nginx)
==13809==    by 0x3A9261ED1C: (below main) (in /lib64/libc-2.12.so)
==13809== 
==13809== LEAK SUMMARY:
==13809==    definitely lost: 0 bytes in 0 blocks
==13809==    indirectly lost: 0 bytes in 0 blocks
==13809==      possibly lost: 144,328 bytes in 120 blocks
==13809==    still reachable: 105,345 bytes in 3,391 blocks
==13809==         suppressed: 0 bytes in 0 blocks
==13809== Reachable blocks (those to which a pointer was found) are not shown.
==13809== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==13809== 
==13809== For counts of detected and suppressed errors, rerun with: -v
==13809== ERROR SUMMARY: 36 errors from 36 contexts (suppressed: 4 from 4)
like image 390
Greg Avatar asked Sep 30 '22 16:09

Greg


1 Answers

On our online system, we dont modify nginx.conf to adapt to valgrind. We run valgrind on nginx with configure master_process on and daemon on.

We use following valgrind command:

 valgrind --trace-children=yes --log-file=memcheck.log --tool=memcheck --leak-check=full sbin/nginx

The --trace-children=yes option is useful to trace nginx worker process.
And --log-file=memcheck.log option will make valgrind send all of its messages to memcheck.log.


BTW, valgrind makes nginx run slowly, which makes it hard to serve high traffic.
So we prefer to use clang address sanitiner to check memory error.

Use clang address sanitiner, you should recompile nginx with following configure parameter:

CC=clang ./configure \
  --with-cc-opt="-O1 -g -fsanitize=address -fno-omit-frame-pointer" \
  --with-ld-opt="-g -fsanitize=address"
like image 67
xiaochen Avatar answered Nov 15 '22 12:11

xiaochen