Bug 1086761
Summary: | snmptrapd leaks memory when NetSNMP::TrapReceiver is used for trap handlers | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Dalibor Pospíšil <dapospis> |
Component: | net-snmp | Assignee: | Jan Safranek <jsafrane> |
Status: | CLOSED WONTFIX | QA Contact: | BaseOS QE Security Team <qe-baseos-security> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 7.0 | CC: | dapospis, jsafrane, ksrot, mgrimm, rvokal, vineela048 |
Target Milestone: | rc | ||
Target Release: | --- | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | 678314 | Environment: | |
Last Closed: | 2015-02-09 09:27:37 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | 676955, 678314 | ||
Bug Blocks: |
Comment 2
Jan Safranek
2015-01-16 13:38:07 UTC
Copying valgrind output (with --num-callers=40, to see full stack): ==20356== 44 bytes in 1 blocks are definitely lost in loss record 789 of 1,156 ==20356== at 0x4C29BFD: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==20356== by 0x63AECD4: Perl_safesysmalloc (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x63AF8C1: Perl_savepv (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x636D472: Perl_gv_init_pvn (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x636EF81: Perl_gv_fetchpvn_flags (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x637F367: Perl_yylex (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x638C6AF: Perl_yyparse (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x64070B9: ??? (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x6412835: Perl_pp_require (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x63CDA45: Perl_runops_standard (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x6365007: Perl_call_sv (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x6365F7B: Perl_call_list (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x634D77F: ??? (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x635F757: Perl_newATTRSUB_flags (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x636002F: Perl_newATTRSUB (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x6360498: Perl_utilize (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x638E5C5: Perl_yyparse (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x6369721: perl_parse (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x55500C5: maybe_source_perl_startup (snmp_perl.c:73) ==20356== by 0x5550304: do_something_perlish (snmp_perl.c:111) ==20356== by 0x5E65305: run_config_handler (read_config.c:558) ==20356== by 0x5E65ECC: read_config (read_config.c:977) ==20356== by 0x5E66ECA: read_config_files_in_path (read_config.c:1322) ==20356== by 0x5E672E7: read_config_files_of_type (read_config.c:1405) ==20356== by 0x5E67372: read_config_files (read_config.c:1446) ==20356== by 0x5E674C3: read_configs (read_config.c:1058) ==20356== by 0x10B81A: main (snmptrapd.c:1148) ==20356== ==20356== 96 bytes in 2 blocks are definitely lost in loss record 983 of 1,156 ==20356== at 0x4C2B974: calloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==20356== by 0x635182B: Perl_newSVOP (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x637EB05: Perl_yylex (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x638C6AF: Perl_yyparse (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x64070B9: ??? (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x6412835: Perl_pp_require (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x63CDA45: Perl_runops_standard (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x6365007: Perl_call_sv (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x6365F7B: Perl_call_list (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x634D77F: ??? (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x635F757: Perl_newATTRSUB_flags (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x636002F: Perl_newATTRSUB (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x6360498: Perl_utilize (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x638E5C5: Perl_yyparse (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x6369721: perl_parse (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x55500C5: maybe_source_perl_startup (snmp_perl.c:73) ==20356== by 0x5550304: do_something_perlish (snmp_perl.c:111) ==20356== by 0x5E65305: run_config_handler (read_config.c:558) ==20356== by 0x5E65ECC: read_config (read_config.c:977) ==20356== by 0x5E66ECA: read_config_files_in_path (read_config.c:1322) ==20356== by 0x5E672E7: read_config_files_of_type (read_config.c:1405) ==20356== by 0x5E67372: read_config_files (read_config.c:1446) ==20356== by 0x5E674C3: read_configs (read_config.c:1058) ==20356== by 0x10B81A: main (snmptrapd.c:1148) ==20356== ==20356== 132 bytes in 3 blocks are definitely lost in loss record 993 of 1,156 ==20356== at 0x4C29BFD: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==20356== by 0x63AECD4: Perl_safesysmalloc (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x63AF8C1: Perl_savepv (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x635FED7: Perl_newATTRSUB_flags (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x636002F: Perl_newATTRSUB (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x63E7ECC: Perl_sv_2cv (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x63F19BC: Perl_pp_rv2cv (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x63CDA45: Perl_runops_standard (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x6365007: Perl_call_sv (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x6365F7B: Perl_call_list (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x634D77F: ??? (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x635F757: Perl_newATTRSUB_flags (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x636002F: Perl_newATTRSUB (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x6360498: Perl_utilize (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x638E5C5: Perl_yyparse (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x64070B9: ??? (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x6412835: Perl_pp_require (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x63CDA45: Perl_runops_standard (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x6365007: Perl_call_sv (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x6365F7B: Perl_call_list (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x634D77F: ??? (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x635F757: Perl_newATTRSUB_flags (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x636002F: Perl_newATTRSUB (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x6360498: Perl_utilize (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x638E5C5: Perl_yyparse (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x6369721: perl_parse (in /usr/lib64/perl5/CORE/libperl.so) ==20356== by 0x55500C5: maybe_source_perl_startup (snmp_perl.c:73) ==20356== by 0x5550304: do_something_perlish (snmp_perl.c:111) ==20356== by 0x5E65305: run_config_handler (read_config.c:558) ==20356== by 0x5E65ECC: read_config (read_config.c:977) ==20356== by 0x5E66ECA: read_config_files_in_path (read_config.c:1322) ==20356== by 0x5E672E7: read_config_files_of_type (read_config.c:1405) ==20356== by 0x5E67372: read_config_files (read_config.c:1446) ==20356== by 0x5E674C3: read_configs (read_config.c:1058) ==20356== by 0x10B81A: main (snmptrapd.c:1148) while these are real leaks, they are done during initialization. They won't grow when snmptrapd processes more traps. |