Hello,
I just arrived on a big project, and I am supposed to resolve a memory
problem related to log4cplus. Each time an event is logged, the RAM
raises, the message is logged, but doesn't lowers afterwards. So, after
some time, the system RAM is exhausted. But when I stop the app, the
memory is released.
It is not easy at all to investigate : theproject is huge, and the build
complex. I found the guilty instruction (a wrapped call to log4cplus), but
I didn't succeed to go farther. I even tried a call to threadCleanup().
What could explain a such behavior ? Log4cplus is statically linked.
By investigating in the code of log4cplus, I saw how the messages are
added to the appenders, but I don't see where they are consumed, in order
to check if the memory which has been assigned for them is actually freed.
Thanks for help.
|