[syslog-ng] [Ask for help] How to resolve these two memory leak problem? thanks!

Xufeng Zhang xufeng.zhang at windriver.com
Wed Apr 23 05:28:59 CEST 2014


On 04/14/2014 02:35 PM, Xufeng Zhang wrote:
> Hello all,
>
> I still met below two memory leaks problem when using remote udp 
> connection:
>
> ==11004== 20 bytes in 2 blocks are definitely lost in loss record 18 
> of 596
> ==11004== at 0x4A05F58: malloc (in 
> /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==11004== by 0x305927C6B1: strdup (strdup.c:43)
> ==11004== by 0x305E6529F2: _cfg_lexer_lex (cfg-lex.l:199)
> ==11004== by 0x305E6284C1: cfg_lexer_lex (cfg-lexer.c:759)
> ==11004== by 0x305E65BF76: rewrite_expr_parse 
> (rewrite-expr-grammar.c:2959)
> ==11004== by 0x305E654732: T.99 (cfg-parser.h:83)
> ==11004== by 0x305E655294: main_parse (cfg-grammar.y:584)
> ==11004== by 0x305E625EE2: cfg_run_parser (cfg-parser.h:83)
> ==11004== by 0x305E625FF5: cfg_read_config (cfg.c:384)
> ==11004== by 0x305E642A6E: main_loop_init (mainloop.c:680)
> ==11004== by 0x401774: main (main.c:246)
>
> _cfg_lexer_lex (cfg-lex.l:199) is: yylval->cptr = 
> strdup(yyextra->string_buffer->str);

Could anybody take a look at the above memory leak? it also happens on 
syslog-ng_3.5.4.1.
Please ignore the below memory, I have resolved it.


Thanks,
Xufeng
>
>
> ==11004== 40,960 bytes in 40 blocks are definitely lost in loss record 
> 596 of 596
> ==11004== at 0x4A05F58: malloc (in 
> /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==11004== by 0x305DA478F4: g_malloc (in /lib64/libglib-2.0.so.0.2600.0)
> ==11004== by 0x305E641778: log_writer_flush (logwriter.c:950)
> ==11004== by 0x305E64185C: log_writer_work_perform (logwriter.c:130)
> ==11004== by 0x305E6418C7: log_writer_io_flush_output (logwriter.c:210)
> ==11004== by 0x305E6605E6: iv_fd_poll_and_run (iv_fd.c:167)
> ==11004== by 0x305E660D93: iv_main (iv_main_posix.c:117)
> ==11004== by 0x305E641D86: main_loop_run (mainloop.c:737)
> ==11004== by 0x4017A0: main (main.c:267)
>
> log_writer_flush (logwriter.c:950) is: self->line_buffer->str = 
> g_malloc(self->line_buffer->allocated_len);
>
> These were found in syslog-ng-3.4.2, and I don't think syslog-ng 
> upstream has already fixed these problem,
> Does anybody know how to fix it?
>
> Thanks in advance!
> Xufeng
>



More information about the syslog-ng mailing list