You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4cxx-user@logging.apache.org by Björn Carlsson <ma...@versionsupport.com> on 2005/03/29 11:12:54 UTC

Re: Memory leak - sorry - false detection

Now I found an answer to this, on unloading mfc-dll memory leaks are 
checked too soon...

"static class members which are destroyed after the leak dump is displayed"



Björn Carlsson wrote:

> I continued to test, and made a similar application in VS6, and I also 
> built log4cxx using VS6.
> I added:
>      BasicConfigurator::configure();
>      LOG4CXX_INFO(logger, "Entering application.");
> in the application constructor, also in this case a get a massive 
> memory leak is detected on application exit?? Anybody else who's got 
> this problem? Time to file a bug report?
>
> Björn Carlsson wrote:
>
>> I use the CVS HEAD version.
>> I have been struggling for some time with a memory leak caused by 
>> log4cxx. If I make a very simple MFC Application (for example wizard 
>> generated, dialog based) using VS.NET 2003.  I add log4cxxd.lib as an 
>> additional dependencie.
>> If I then add for example
>> LoggerPtr BELogger = Logger::getRootLogger();
>> then I get a massive memory leak.
>> The application does nothing. Have I missed something?
>>
>> the only code I added to the wizard generated application was:
>> #include <log4cxx/logger.h>
>> using namespace log4cxx;
>> LoggerPtr BELogger = Logger::getRootLogger();
>> I could change the getRootLogger call to some other log4cxx call and 
>> get the same result.
>> Do I need some cleanup code?
>> Log4cxx was build using ant and VS.NET 2003-vsvars.bat, with no 
>> parameters, so it should be shared debug...
>> And the testapp was a none unicode debug configuration.
>>
>> Detected memory leaks!
>> Dumping objects ->
>> {548} normal block at 0x009207E8, 8192 bytes long.
>>  Data: <                > 00 00 00 00 E8 07 92 00 01 00 00 00 CD CD 
>> CD CD
>> {545} normal block at 0x00920778, 48 bytes long.
>>  Data: <l o g 4 j . c o > 6C 00 6F 00 67 00 34 00 6A 00 2E 00 63 00 
>> 6F 00
>> {544} normal block at 0x00920708, 48 bytes long.
>>  Data: <L O G 4 C X X _ > 4C 00 4F 00 47 00 34 00 43 00 58 00 58 00 
>> 5F 00
>> {539} normal block at 0x009206A8, 36 bytes long.
>>  Data: <            p   > 98 DB 0B 10 1C 05 92 00 00 00 00 00 70 DB 
>> 0B 10
>> {538} normal block at 0x00920650, 28 bytes long.
>>  Data: <                > DC 8B 0B 10 00 00 00 00 B4 8B 0B 10 B0 8B 
>> 0B 10
>> {537} normal block at 0x009205D8, 60 bytes long.
>>  Data: <                > D8 05 92 00 D8 05 92 00 D8 05 92 00 CD CD 
>> CD CD
>> {536} normal block at 0x00920568, 48 bytes long.
>>  Data: <h   h   h       > 68 05 92 00 68 05 92 00 68 05 92 00 CD CD 
>> CD CD
>> {535} normal block at 0x009204C8, 100 bytes long.
>>  Data: <l   \           > 6C 8C 0B 10 5C 06 92 00 CD CD CD CD 00 00 
>> 00 00
>> {534} normal block at 0x00920430, 92 bytes long.
>>  Data: <D   \       r o > 44 FB 0B 10 5C FB 0B 10 CD CD CD CD 72 00 
>> 6F 00
>> {526} normal block at 0x0039FE40, 48 bytes long.
>>  Data: < e9  z9  e9     > 00 65 39 00 C8 7A 39 00 00 65 39 00 CD CD 
>> CD CD
>> {525} normal block at 0x00920288, 32 bytes long.
>>  Data: <m s x m l d o m > 6D 00 73 00 78 00 6D 00 6C 00 64 00 6F 00 
>> 6D 00
>> {524} normal block at 0x00920218, 48 bytes long.
>>  Data: < e9   9  e9     > 00 65 39 00 90 FF 39 00 00 65 39 00 CD CD 
>> CD CD
>> {519} normal block at 0x009201B8, 32 bytes long.
>>  Data: <m s x m l d o m > 6D 00 73 00 78 00 6D 00 6C 00 64 00 6F 00 
>> 6D 00
>> {518} normal block at 0x0039F780, 48 bytes long.
>>  Data: <  9   9         > 90 FF 39 00 08 87 39 00 D8 00 92 00 CD CD 
>> CD CD
>> {513} normal block at 0x00920148, 48 bytes long.
>>  Data: <m s x m l d o m > 6D 00 73 00 78 00 6D 00 6C 00 64 00 6F 00 
>> 6D 00
>> {512} normal block at 0x009200D8, 48 bytes long.
>>  Data: < e9   9  e9     > 00 65 39 00 80 F7 39 00 00 65 39 00 CD CD 
>> CD CD
>> {506} normal block at 0x00920068, 48 bytes long.
>>  Data: <m s x m l d o m > 6D 00 73 00 78 00 6D 00 6C 00 64 00 6F 00 
>> 6D 00
>> {505} normal block at 0x0039FF90, 48 bytes long.
>>  Data: < e9   9         > 00 65 39 00 80 F7 39 00 18 02 92 00 CD CD 
>> CD CD
>> {499} normal block at 0x0039FF20, 48 bytes long.
>>  Data: <n t e v e n t l > 6E 00 74 00 65 00 76 00 65 00 6E 00 74 00 
>> 6C 00
>> {498} normal block at 0x0039FEB0, 48 bytes long.
>>  Data: < e9  g9  e9     > 00 65 39 00 D0 67 39 00 00 65 39 00 CD CD 
>> CD CD
>> {492} normal block at 0x0039FDE0, 32 bytes long.
>>  Data: <c o n s o l e a > 63 00 6F 00 6E 00 73 00 6F 00 6C 00 65 00 
>> 61 00
>> {491} normal block at 0x0039FD70, 48 bytes long.
>>  Data: < e9  x9  e9     > 00 65 39 00 00 78 39 00 00 65 39 00 CD CD 
>> CD CD
>> {486} normal block at 0x0039FD10, 32 bytes long.
>>  Data: <t t c c l a y o > 74 00 74 00 63 00 63 00 6C 00 61 00 79 00 
>> 6F 00
>> {485} normal block at 0x0039FCA0, 48 bytes long.
>>  Data: < e9   9  e9     > 00 65 39 00 98 89 39 00 00 65 39 00 CD CD 
>> CD CD
>> {480} normal block at 0x0039FC40, 32 bytes long.
>>  Data: <h t m l l a y o > 68 00 74 00 6D 00 6C 00 6C 00 61 00 79 00 
>> 6F 00
>> {479} normal block at 0x0039FBD0, 48 bytes long.
>>  Data: < e9  g9  e9     > 00 65 39 00 00 67 39 00 00 65 39 00 CD CD 
>> CD CD
>> {474} normal block at 0x0039FB70, 32 bytes long.
>>  Data: <x m l l a y o u > 78 00 6D 00 6C 00 6C 00 61 00 79 00 6F 00 
>> 75 00
>> {473} normal block at 0x0039FB00, 48 bytes long.
>>  Data: <0w9  s9 H 9     > 30 77 39 00 D0 73 39 00 48 8B 39 00 CD CD 
>> CD CD
>> {468} normal block at 0x0039F9B0, 48 bytes long.
>>  Data: < e9 h 9  e9     > 00 65 39 00 68 8A 39 00 00 65 39 00 CD CD 
>> CD CD
>> {467} normal block at 0x0039FA90, 48 bytes long.
>>  Data: <p r o p e r t y > 70 00 72 00 6F 00 70 00 65 00 72 00 74 00 
>> 79 00
>> {466} normal block at 0x0039FA20, 48 bytes long.
>>  Data: < e9 x|9  e9     > 00 65 39 00 78 7C 39 00 00 65 39 00 CD CD 
>> CD CD
>> {460} normal block at 0x0039F950, 32 bytes long.
>>  Data: <t i m e z o n e > 74 00 69 00 6D 00 65 00 7A 00 6F 00 6E 00 
>> 65 00
>> {459} normal block at 0x0039F8E0, 48 bytes long.
>>  Data: < e9  x9  e9     > 00 65 39 00 80 78 39 00 00 65 39 00 CD CD 
>> CD CD
>> {454} normal block at 0x0039F880, 32 bytes long.
>>  Data: <d a t a g r a m > 64 00 61 00 74 00 61 00 67 00 72 00 61 00 
>> 6D 00
>> {453} normal block at 0x00397E98, 48 bytes long.
>>  Data: < e9   9  e9     > 00 65 39 00 D8 87 39 00 00 65 39 00 CD CD 
>> CD CD
>> {448} normal block at 0x0039F800, 64 bytes long.
>>  Data: <d e f a u l t r > 64 00 65 00 66 00 61 00 75 00 6C 00 74 00 
>> 72 00
>> {447} normal block at 0x0039F708, 48 bytes long.
>>  Data: < e9   9  e9     > 00 65 39 00 A8 83 39 00 00 65 39 00 CD CD 
>> CD CD
>> {440} normal block at 0x0039F628, 32 bytes long.
>>  Data: <f i l e a p p e > 66 00 69 00 6C 00 65 00 61 00 70 00 70 00 
>> 65 00
>> {439} normal block at 0x0039F5B8, 48 bytes long.
>>  Data: < e9 X}9  e9     > 00 65 39 00 58 7D 39 00 00 65 39 00 CD CD 
>> CD CD
>> {434} normal block at 0x00397FC8, 32 bytes long.
>>  Data: <s y s l o g a p > 73 00 79 00 73 00 6C 00 6F 00 67 00 61 00 
>> 70 00
>> {433} normal block at 0x00397F58, 48 bytes long.
>>  Data: < e9  j9  e9     > 00 65 39 00 E0 6A 39 00 00 65 39 00 CD CD 
>> CD CD
>> {427} normal block at 0x0039F300, 56 bytes long.
>>  Data: <                > E8 CF 0B 10 F0 CF 0B 10 03 00 00 00 00 00 
>> 00 80
>> {426} normal block at 0x0039F288, 56 bytes long.
>>  Data: <             '  > E8 CF 0B 10 F0 CF 0B 10 03 00 00 00 10 27 
>> 00 00
>> {425} normal block at 0x0039F210, 56 bytes long.
>>  Data: <             N  > E8 CF 0B 10 F0 CF 0B 10 02 00 00 00 20 4E 
>> 00 00
>> {424} normal block at 0x0039F198, 56 bytes long.
>>  Data: <            0u  > E8 CF 0B 10 F0 CF 0B 10 02 00 00 00 30 75 
>> 00 00
>> {423} normal block at 0x0039F120, 56 bytes long.
>>  Data: <            @   > E8 CF 0B 10 F0 CF 0B 10 02 00 00 00 40 9C 
>> 00 00
>> {422} normal block at 0x0039F0A8, 56 bytes long.
>>  Data: <            P   > E8 CF 0B 10 F0 CF 0B 10 02 00 00 00 50 C3 
>> 00 00
>> {421} normal block at 0x0039D068, 8192 bytes long.
>>  Data: <h 9 h 9         > 68 D0 39 00 68 D0 39 00 01 00 00 00 CD CD 
>> CD CD
>> {420} normal block at 0x0039B028, 8192 bytes long.
>>  Data: <( 9 ( 9         > 28 B0 39 00 28 B0 39 00 01 00 00 00 CD CD 
>> CD CD
>> {419} normal block at 0x00398FE8, 8192 bytes long.
>>  Data: <  9   9         > E8 8F 39 00 E8 8F 39 00 01 00 00 00 CD CD 
>> CD CD
>> {418} normal block at 0x00398F40, 104 bytes long.
>>  Data: <            8 9 > 01 00 00 00 00 00 00 00 FF FF FF FF 38 90 
>> 39 00
>> {417} normal block at 0x00398EC8, 56 bytes long.
>>  Data: <                > E8 CF 0B 10 F0 CF 0B 10 02 00 00 00 FF FF 
>> FF 7F
>> {416} normal block at 0x00396440, 48 bytes long.
>>  Data: < e9 @h9  e9     > 00 65 39 00 40 68 39 00 00 65 39 00 CD CD 
>> CD CD
>> {415} normal block at 0x00398D78, 32 bytes long.
>>  Data: <r e s o u r c e > 72 00 65 00 73 00 6F 00 75 00 72 00 63 00 
>> 65 00
>> {414} normal block at 0x00398D08, 48 bytes long.
>>  Data: < e9  t9  e9     > 00 65 39 00 B0 74 39 00 00 65 39 00 CD CD 
>> CD CD
>> {409} normal block at 0x00398E58, 48 bytes long.
>>  Data: <s o c k e t h u > 73 00 6F 00 63 00 6B 00 65 00 74 00 68 00 
>> 75 00
>> {408} normal block at 0x00398DE8, 48 bytes long.
>>  Data: < e9   9  e9     > 00 65 39 00 C8 82 39 00 00 65 39 00 CD CD 
>> CD CD
>> {402} normal block at 0x00398AD8, 32 bytes long.
>>  Data: <s i m p l e l a > 73 00 69 00 6D 00 70 00 6C 00 65 00 6C 00 
>> 61 00
>> {401} normal block at 0x00398A68, 48 bytes long.
>>  Data: < e9  x9   9     > 00 65 39 00 F8 78 39 00 B0 F9 39 00 CD CD 
>> CD CD
>> {396} normal block at 0x00398C98, 48 bytes long.
>>  Data: <s o c k e t o u > 73 00 6F 00 63 00 6B 00 65 00 74 00 6F 00 
>> 75 00
>> {395} normal block at 0x00398C28, 48 bytes long.
>>  Data: <h 9 @f9  j9     > 68 85 39 00 40 66 39 00 E0 6A 39 00 CD CD 
>> CD CD
>> {389} normal block at 0x00398BB8, 48 bytes long.
>>  Data: <x m l s o c k e > 78 00 6D 00 6C 00 73 00 6F 00 63 00 6B 00 
>> 65 00
>> {388} normal block at 0x00398B48, 48 bytes long.
>>  Data: < e9   9  e9     > 00 65 39 00 00 FB 39 00 00 65 39 00 CD CD 
>> CD CD
>> {382} normal block at 0x00398A08, 32 bytes long.
>>  Data: <w r i t e r a p > 77 00 72 00 69 00 74 00 65 00 72 00 61 00 
>> 70 00
>> {381} normal block at 0x00398998, 48 bytes long.
>>  Data: <  9  x9  e9     > A0 FC 39 00 80 78 39 00 00 65 39 00 CD CD 
>> CD CD
>> {376} normal block at 0x00398848, 32 bytes long.
>>  Data: <d a t a g r a m > 64 00 61 00 74 00 61 00 67 00 72 00 61 00 
>> 6D 00
>> {375} normal block at 0x003987D8, 48 bytes long.
>>  Data: < x9  i9  ~9     > 00 78 39 00 20 69 39 00 98 7E 39 00 CD CD 
>> CD CD
>> {370} normal block at 0x00398928, 48 bytes long.
>>  Data: <a p p e n d e r > 61 00 70 00 70 00 65 00 6E 00 64 00 65 00 
>> 72 00
>> {369} normal block at 0x003988B8, 48 bytes long.
>>  Data: < e9 0q9  e9     > 00 65 39 00 30 71 39 00 00 65 39 00 CD CD 
>> CD CD
>> {363} normal block at 0x00398778, 32 bytes long.
>>  Data: <l o g g i n g e > 6C 00 6F 00 67 00 67 00 69 00 6E 00 67 00 
>> 65 00
>> {362} normal block at 0x00398708, 48 bytes long.
>>  Data: <Pp9 pe9   9     > 50 70 39 00 70 65 39 00 80 F7 39 00 CD CD 
>> CD CD
>> {357} normal block at 0x003986A8, 32 bytes long.
>>  Data: <a s y n c a p p > 61 00 73 00 79 00 6E 00 63 00 61 00 70 00 
>> 70 00
>> {356} normal block at 0x00398638, 48 bytes long.
>>  Data: <0q9 Pn9  i9     > 30 71 39 00 50 6E 39 00 20 69 39 00 CD CD 
>> CD CD
>> {351} normal block at 0x003985D8, 32 bytes long.
>>  Data: <s o c k e t n o > 73 00 6F 00 63 00 6B 00 65 00 74 00 6E 00 
>> 6F 00
>> {350} normal block at 0x00398568, 48 bytes long.
>>  Data: < e9 ( 9  e9     > 00 65 39 00 28 8C 39 00 00 65 39 00 CD CD 
>> CD CD
>> {345} normal block at 0x00398338, 32 bytes long.
>>  Data: <s o c k e t i m > 73 00 6F 00 63 00 6B 00 65 00 74 00 69 00 
>> 6D 00
>> {344} normal block at 0x003982C8, 48 bytes long.
>>  Data: <  9  x9  e9     > E8 8D 39 00 F8 78 39 00 00 65 39 00 CD CD 
>> CD CD
>> {339} normal block at 0x003984F8, 48 bytes long.
>>  Data: <o n l y o n c e > 6F 00 6E 00 6C 00 79 00 6F 00 6E 00 63 00 
>> 65 00
>> {338} normal block at 0x00398488, 48 bytes long.
>>  Data: < e9  g9  e9     > 00 65 39 00 D0 67 39 00 00 65 39 00 CD CD 
>> CD CD
>> {332} normal block at 0x00398418, 48 bytes long.
>>  Data: <d e f a u l t c > 64 00 65 00 66 00 61 00 75 00 6C 00 74 00 
>> 63 00
>> {331} normal block at 0x003983A8, 48 bytes long.
>>  Data: < e9  r9   9     > 00 65 39 00 10 72 39 00 08 F7 39 00 CD CD 
>> CD CD
>> {325} normal block at 0x00398178, 32 bytes long.
>>  Data: <p a t t e r n l > 70 00 61 00 74 00 74 00 65 00 72 00 6E 00 
>> 6C 00
>> {324} normal block at 0x00398108, 48 bytes long.
>>  Data: < e9 x|9  e9     > 00 65 39 00 78 7C 39 00 00 65 39 00 CD CD 
>> CD CD
>> {319} normal block at 0x00398258, 48 bytes long.
>>  Data: <r o l l i n g f > 72 00 6F 00 6C 00 6C 00 69 00 6E 00 67 00 
>> 66 00
>> {318} normal block at 0x003981E8, 48 bytes long.
>>  Data: < t9  j9  x9     > B0 74 39 00 00 6A 39 00 F8 78 39 00 CD CD 
>> CD CD
>> {312} normal block at 0x003980A8, 32 bytes long.
>>  Data: <d o m c o n f i > 64 00 6F 00 6D 00 63 00 6F 00 6E 00 66 00 
>> 69 00
>> {311} normal block at 0x00397A58, 48 bytes long.
>>  Data: < e9  r9  e9     > 00 65 39 00 10 72 39 00 00 65 39 00 CD CD 
>> CD CD
>> {305} normal block at 0x00398028, 64 bytes long.
>>  Data: <o u t p u t d e > 6F 00 75 00 74 00 70 00 75 00 74 00 64 00 
>> 65 00
>> {304} normal block at 0x00397C08, 48 bytes long.
>>  Data: < e9  m9  e9     > 00 65 39 00 80 6D 39 00 00 65 39 00 CD CD 
>> CD CD
>> {297} normal block at 0x00397E38, 32 bytes long.
>>  Data: <s o c k e t a p > 73 00 6F 00 63 00 6B 00 65 00 74 00 61 00 
>> 70 00
>> {296} normal block at 0x003978F8, 48 bytes long.
>>  Data: <h 9   9   9     > 68 8A 39 00 E8 81 39 00 C8 82 39 00 CD CD 
>> CD CD
>> {291} normal block at 0x00397DC8, 48 bytes long.
>>  Data: <f a l l b a c k > 66 00 61 00 6C 00 6C 00 62 00 61 00 63 00 
>> 6B 00
>> {290} normal block at 0x00397D58, 48 bytes long.
>>  Data: < e9  i9   9     > 00 65 39 00 90 69 39 00 B8 F5 39 00 CD CD 
>> CD CD
>> {284} normal block at 0x00397CE8, 48 bytes long.
>>  Data: <p r o p e r t y > 70 00 72 00 6F 00 70 00 65 00 72 00 74 00 
>> 79 00
>> {283} normal block at 0x00397C78, 48 bytes long.
>>  Data: <  9  t9   9     > 08 81 39 00 B0 74 39 00 20 FA 39 00 CD CD 
>> CD CD
>> {277} normal block at 0x00397BA8, 32 bytes long.
>>  Data: <c o n f i g u r > 63 00 6F 00 6E 00 66 00 69 00 67 00 75 00 
>> 72 00
>> {276} normal block at 0x00397800, 48 bytes long.
>>  Data: < e9   9 p 9     > 00 65 39 00 D8 87 39 00 70 FD 39 00 CD CD 
>> CD CD
>> {271} normal block at 0x00397B38, 48 bytes long.
>>  Data: <l e v e l r a n > 6C 00 65 00 76 00 65 00 6C 00 72 00 61 00 
>> 6E 00
>> {270} normal block at 0x00397AC8, 48 bytes long.
>>  Data: < e9 @h9 @ 9     > 00 65 39 00 40 68 39 00 40 FE 39 00 CD CD 
>> CD CD
>> {264} normal block at 0x003979F8, 32 bytes long.
>>  Data: <t e l n e t a p > 74 00 65 00 6C 00 6E 00 65 00 74 00 61 00 
>> 70 00
>> {263} normal block at 0x00396640, 48 bytes long.
>>  Data: <( 9  u9  x9     > 28 8C 39 00 90 75 39 00 80 78 39 00 CD CD 
>> CD CD
>> {258} normal block at 0x00397978, 64 bytes long.
>>  Data: <t r i g g e r i > 74 00 72 00 69 00 67 00 67 00 65 00 72 00 
>> 69 00
>> {257} normal block at 0x00397880, 48 bytes long.
>>  Data: <  9 @f9   9     > E0 F8 39 00 40 66 39 00 98 89 39 00 CD CD 
>> CD CD
>> {250} normal block at 0x003977A0, 32 bytes long.
>>  Data: <x m l d o m n o > 78 00 6D 00 6C 00 64 00 6F 00 6D 00 6E 00 
>> 6F 00
>> {249} normal block at 0x00397730, 48 bytes long.
>>  Data: < e9   9  e9     > 00 65 39 00 00 FB 39 00 00 65 39 00 CD CD 
>> CD CD
>> {244} normal block at 0x003976D0, 32 bytes long.
>>  Data: <x m l d o m e l > 78 00 6D 00 6C 00 64 00 6F 00 6D 00 65 00 
>> 6C 00
>> {243} normal block at 0x00397660, 48 bytes long.
>>  Data: < e9  s9  e9     > 00 65 39 00 D0 73 39 00 00 65 39 00 CD CD 
>> CD CD
>> {238} normal block at 0x00397600, 32 bytes long.
>>  Data: <x m l d o m d o > 78 00 6D 00 6C 00 64 00 6F 00 6D 00 64 00 
>> 6F 00
>> {237} normal block at 0x00397590, 48 bytes long.
>>  Data: <@f9  l9  s9     > 40 66 39 00 A0 6C 39 00 D0 73 39 00 CD CD 
>> CD CD
>> {232} normal block at 0x00397440, 32 bytes long.
>>  Data: <x m l d o m n o > 78 00 6D 00 6C 00 64 00 6F 00 6D 00 6E 00 
>> 6F 00
>> {231} normal block at 0x003973D0, 48 bytes long.
>>  Data: <`v9  u9   9     > 60 76 39 00 90 75 39 00 00 FB 39 00 CD CD 
>> CD CD
>> {226} normal block at 0x00397520, 48 bytes long.
>>  Data: <r e p o s i t o > 72 00 65 00 70 00 6F 00 73 00 69 00 74 00 
>> 6F 00
>> {225} normal block at 0x003974B0, 48 bytes long.
>>  Data: <x|9   9   9     > 78 7C 39 00 E8 81 39 00 08 8D 39 00 CD CD 
>> CD CD
>> {219} normal block at 0x00397280, 32 bytes long.
>>  Data: <d e n y a l l f > 64 00 65 00 6E 00 79 00 61 00 6C 00 6C 00 
>> 66 00
>> {218} normal block at 0x00397210, 48 bytes long.
>>  Data: <  9  i9 Xz9     > A8 83 39 00 20 69 39 00 58 7A 39 00 CD CD 
>> CD CD
>> {213} normal block at 0x00397360, 48 bytes long.
>>  Data: <l o g g e r r e > 6C 00 6F 00 67 00 67 00 65 00 72 00 72 00 
>> 65 00
>> {212} normal block at 0x003972F0, 48 bytes long.
>>  Data: < e9 Pp9  e9     > 00 65 39 00 50 70 39 00 00 65 39 00 CD CD 
>> CD CD
>> {206} normal block at 0x003970C0, 32 bytes long.
>>  Data: <l o g g e r f a > 6C 00 6F 00 67 00 67 00 65 00 72 00 66 00 
>> 61 00
>> {205} normal block at 0x00397050, 48 bytes long.
>>  Data: <@h9   9  r9     > 40 68 39 00 08 87 39 00 F0 72 39 00 CD CD 
>> CD CD
>> {200} normal block at 0x003971A0, 48 bytes long.
>>  Data: <a p p e n d e r > 61 00 70 00 70 00 65 00 6E 00 64 00 65 00 
>> 72 00
>> {199} normal block at 0x00397130, 48 bytes long.
>>  Data: < o9 8 9   9     > 20 6F 39 00 38 86 39 00 B8 88 39 00 CD CD 
>> CD CD
>> {193} normal block at 0x00396990, 48 bytes long.
>>  Data: <X}9 pe9  g9     > 58 7D 39 00 70 65 39 00 00 67 39 00 CD CD 
>> CD CD
>> {192} normal block at 0x00396F90, 32 bytes long.
>>  Data: <a p p e n d e r > 61 00 70 00 70 00 65 00 6E 00 64 00 65 00 
>> 72 00
>> {191} normal block at 0x00396F20, 48 bytes long.
>>  Data: < e9 0q9  e9     > 00 65 39 00 30 71 39 00 00 65 39 00 CD CD 
>> CD CD
>> {186} normal block at 0x00396EC0, 32 bytes long.
>>  Data: <e r r o r h a n > 65 00 72 00 72 00 6F 00 72 00 68 00 61 00 
>> 6E 00
>> {185} normal block at 0x00396E50, 48 bytes long.
>>  Data: <8 9  k9 pe9     > 38 86 39 00 C0 6B 39 00 70 65 39 00 CD CD 
>> CD CD
>> {180} normal block at 0x00396DF0, 32 bytes long.
>>  Data: <o p t i o n h a > 6F 00 70 00 74 00 69 00 6F 00 6E 00 68 00 
>> 61 00
>> {179} normal block at 0x00396D80, 48 bytes long.
>>  Data: < g9  j9  |9     > D0 67 39 00 00 6A 39 00 08 7C 39 00 CD CD 
>> CD CD
>> {174} normal block at 0x003967D0, 48 bytes long.
>>  Data: <  9  m9   9     > B0 FE 39 00 80 6D 39 00 88 84 39 00 CD CD 
>> CD CD
>> {173} normal block at 0x00396D10, 48 bytes long.
>>  Data: <s o c k e t i n > 73 00 6F 00 63 00 6B 00 65 00 74 00 69 00 
>> 6E 00
>> {172} normal block at 0x00396CA0, 48 bytes long.
>>  Data: < j9  k9  u9     > 00 6A 39 00 C0 6B 39 00 90 75 39 00 CD CD 
>> CD CD
>> {166} normal block at 0x00396C30, 48 bytes long.
>>  Data: <n a m e d p a t > 6E 00 61 00 6D 00 65 00 64 00 70 00 61 00 
>> 74 00
>> {165} normal block at 0x00396BC0, 48 bytes long.
>>  Data: <Pn9  e9  l9     > 50 6E 39 00 00 65 39 00 A0 6C 39 00 CD CD 
>> CD CD
>> {159} normal block at 0x00396B50, 48 bytes long.
>>  Data: <s t r i n g m a > 73 00 74 00 72 00 69 00 6E 00 67 00 6D 00 
>> 61 00
>> {158} normal block at 0x00396AE0, 48 bytes long.
>>  Data: < e9 ( 9 X 9     > 00 65 39 00 28 8C 39 00 58 7F 39 00 CD CD 
>> CD CD
>> {152} normal block at 0x00396A70, 48 bytes long.
>>  Data: <p a t t e r n c > 70 00 61 00 74 00 74 00 65 00 72 00 6E 00 
>> 63 00
>> {151} normal block at 0x00396A00, 48 bytes long.
>>  Data: < m9  l9   9     > 80 6D 39 00 A0 6C 39 00 E8 81 39 00 CD CD 
>> CD CD
>> {145} normal block at 0x003965E0, 32 bytes long.
>>  Data: <d a t e f o r m > 64 00 61 00 74 00 65 00 66 00 6F 00 72 00 
>> 6D 00
>> {144} normal block at 0x00396920, 48 bytes long.
>>  Data: <  9 8 9  r9     > D8 87 39 00 38 86 39 00 10 72 39 00 CD CD 
>> CD CD
>> {139} normal block at 0x003968B0, 48 bytes long.
>>  Data: <l e v e l m a t > 6C 00 65 00 76 00 65 00 6C 00 6D 00 61 00 
>> 74 00
>> {138} normal block at 0x00396840, 48 bytes long.
>>  Data: <@d9 Pp9  z9     > 40 64 39 00 50 70 39 00 C8 7A 39 00 CD CD 
>> CD CD
>> {132} normal block at 0x00396770, 32 bytes long.
>>  Data: <h i e r a r c h > 68 00 69 00 65 00 72 00 61 00 72 00 63 00 
>> 68 00
>> {131} normal block at 0x00396700, 48 bytes long.
>>  Data: < e9  i9   9     > 00 65 39 00 90 69 39 00 D0 FB 39 00 CD CD 
>> CD CD
>> {126} normal block at 0x00396570, 48 bytes long.
>>  Data: < i9 Pn9   9     > 90 69 39 00 50 6E 39 00 08 87 39 00 CD CD 
>> CD CD
>> {125} normal block at 0x00396500, 48 bytes long.
>>  Data: < o9  k9 H 9     > 20 6F 39 00 C0 6B 39 00 48 8B 39 00 CD CD 
>> CD CD
>> Object dump complete.
>> The program '[2696] testlogapp.exe: Native' has exited with code 0 (0x0).
>>
>> -- 
>> /Björn Carlsson
>> VersionSupport.com <http://versionsupport.com>
>>
>
> -- 
> /Björn Carlsson
> VersionSupport.com <http://versionsupport.com>
>

-- 
/Björn Carlsson
VersionSupport.com <http://versionsupport.com>


Re: Memory leak - sorry - false detection

Posted by Björn Carlsson <ma...@versionsupport.com>.
I will continue my monologue  :-)
The obvious solution to this problem is to use a release built version 
of log4cxx, and if you want to be able to debug log4cxx, you could "Use 
MFC in a static library".

Björn Carlsson wrote:

> Now I found an answer to this, on unloading mfc-dll memory leaks are 
> checked too soon...
>
>"static class members which are destroyed after the leak dump is displayed"
>
>
>
> Björn Carlsson wrote:
>
>> I continued to test, and made a similar application in VS6, and I 
>> also built log4cxx using VS6.
>> I added:
>>      BasicConfigurator::configure();
>>      LOG4CXX_INFO(logger, "Entering application.");
>> in the application constructor, also in this case a get a massive 
>> memory leak is detected on application exit?? Anybody else who's got 
>> this problem? Time to file a bug report?
>>
>> Björn Carlsson wrote:
>>
>>> I use the CVS HEAD version.
>>> I have been struggling for some time with a memory leak caused by 
>>> log4cxx. If I make a very simple MFC Application (for example wizard 
>>> generated, dialog based) using VS.NET 2003.  I add log4cxxd.lib as 
>>> an additional dependencie.
>>> If I then add for example
>>> LoggerPtr BELogger = Logger::getRootLogger();
>>> then I get a massive memory leak.
>>> The application does nothing. Have I missed something?
>>>
>>> the only code I added to the wizard generated application was:
>>> #include <log4cxx/logger.h>
>>> using namespace log4cxx;
>>> LoggerPtr BELogger = Logger::getRootLogger();
>>> I could change the getRootLogger call to some other log4cxx call and 
>>> get the same result.
>>> Do I need some cleanup code?
>>> Log4cxx was build using ant and VS.NET 2003-vsvars.bat, with no 
>>> parameters, so it should be shared debug...
>>> And the testapp was a none unicode debug configuration.
>>
>
-- 
/Björn Carlsson
VersionSupport.com <http://versionsupport.com>