On Fri, 2009-04-24 at 18:28 +0200, ILLES, Marton wrote:
On Fri, 2009-04-24 at 10:29 -0500, Martin Holste wrote:
I'm running tests with the db-parser() parser module and finding that the memory grows exponentially until the program finally dies with:
***MEMORY-ERROR***: syslog-ng[2769]: GSlice: failed to allocate 248 bytes (alignment: 256): Cannot allocate memory
snip
Should I recompile with memtrace on?
Running it in valgrind would be even more useful also enabling core might help as well.
M
I think I have got it: commit 778cb9b27366425153a6141d4966a1a464e97e79 Author: Marton Illes <marci@balabit.hu> Date: Fri Apr 24 19:24:40 2009 +0200 fixed a memory leak in db-parser() dynamic value handling Reported by: Martin Holste diff --git a/src/logpatterns.c b/src/logpatterns.c index f1012eb..fda9088 100644 --- a/src/logpatterns.c +++ b/src/logpatterns.c @@ -312,6 +312,7 @@ log_pattern_database_lookup(LogPatternDatabase *self, LogMessage *msg) */ g_ptr_array_free(match_names, TRUE); + g_array_free(matches, FALSE); return ((LogDBResult *) msg_node->value); } g_ptr_array_free(match_names, TRUE); Also in my git tree, please give it a try. http://git.balabit.hu/?p=marci/syslog-ng-3.0.git;a=commit;h=778cb9b273664251... best, Marton -- Key fingerprint = F78C 25CA 5F88 6FAF EA21 779D 3279 9F9E 1155 670D