facebook / rocksdb

A library that provides an embeddable, persistent key-value store for fast storage.
http://rocksdb.org
GNU General Public License v2.0
27.83k stars 6.19k forks source link

VC++ MFC Detected memory leaks #5405

Open libaineu2004 opened 5 years ago

libaineu2004 commented 5 years ago

Note: Please use Issues only for bug reports. For questions, discussions, feature requests, etc. post to dev group: https://www.facebook.com/groups/rocksdb.dev

Expected behavior

I used VS2015 to create a new MFC multi-document project, and then introduced the db library into the project, only the private declaration in the class:

include <rocksdb/db.h>

CString strFilePath = GetCurPrjDir() + _T("\ConfigData\testdb"); std::string dbpath = CT2A(strFilePath.GetBuffer()); rocksdb::DB* db; rocksdb::Options options; options.create_if_missing = true;

When the software exits, it prompts memory leaks.

Actual behavior

Steps to reproduce the behavior

Use VS2015 to create an MFC app. Add:

include <rocksdb/db.h>

rocksdb::DB* db; rocksdb::Options options; options.create_if_missing = true; rocksdb::Status s = rocksdb::DB::Open(options, "test", &db); delete db; Compile and run... on exit will show leaks

Version: rocksdb-6.0.2

Platform: Win7,x64

Compiler: VS2015,Win32

anand1976 commented 5 years ago

What objects are being leaked? Does it report a stack profile of those allocations?

libaineu2004 commented 5 years ago

What objects are being leaked? Does it report a stack profile of those allocations?

Detected memory leaks! Dumping objects -> {6845} normal block at 0x0131EAB0, 64 bytes long. Data: <0L1 0L1 0L1 0L1 > 30 4C 31 01 30 4C 31 01 30 4C 31 01 30 4C 31 01 {6844} normal block at 0x0131CE68, 8 bytes long. Data: << 1 > 3C FB 31 01 00 00 00 00 {6843} normal block at 0x0131CE30, 8 bytes long. Data: <0 1 > 30 FB 31 01 00 00 00 00 {6842} normal block at 0x01314C30, 52 bytes long. Data: <0L1 0L1 > 30 4C 31 01 30 4C 31 01 CD CD CD CD CD CD CD CD {6841} normal block at 0x0131EA40, 64 bytes long. Data: < 0 0 0 0 > 00 0E 30 01 00 0E 30 01 00 0E 30 01 00 0E 30 01 {6840} normal block at 0x0131CDF8, 8 bytes long. Data: < 1 > 14 FB 31 01 00 00 00 00 {6839} normal block at 0x0131CDC0, 8 bytes long. Data: < 1 > 08 FB 31 01 00 00 00 00 {6838} normal block at 0x01300E00, 72 bytes long. Data: < 0 0 > 00 0E 30 01 00 0E 30 01 CD CD CD CD CD CD CD CD {6837} normal block at 0x0131E9D0, 64 bytes long. Data: < 1 1 1 1 > 18 CD 31 01 18 CD 31 01 18 CD 31 01 18 CD 31 01 {6836} normal block at 0x0131CD88, 8 bytes long. Data: < 1 > EC FA 31 01 00 00 00 00 {6835} normal block at 0x0131CD50, 8 bytes long. Data: < 1 > E0 FA 31 01 00 00 00 00 {6834} normal block at 0x0131CD18, 12 bytes long. Data: < 1 1 > 18 CD 31 01 18 CD 31 01 CD CD CD CD {6833} normal block at 0x0131FAA8, 172 bytes long. Data: < ? 8 > CC 3F 04 01 02 00 00 00 A8 85 38 01 00 00 00 00 {6832} normal block at 0x0131CCE0, 8 bytes long. Data: < 0 > 0C 1D 30 01 00 00 00 00 {6831} normal block at 0x0131CCA8, 8 bytes long. Data: <l 1 > 6C FA 31 01 00 00 00 00 {6830} normal block at 0x0131CC70, 8 bytes long. Data: < 1 > 00 FA 31 01 00 00 00 00 {6829} normal block at 0x0131F9E8, 148 bytes long. Data: < 0 > 00 00 CD CD 02 00 00 00 98 1C 30 01 00 00 00 00 {6828} normal block at 0x0131CC38, 8 bytes long. Data: < 1 > AC F9 31 01 00 00 00 00 {6827} normal block at 0x0131CC00, 8 bytes long. Data: <@ 1 > 40 F9 31 01 00 00 00 00 {6826} normal block at 0x0131F928, 148 bytes long. Data: < 0 > 00 00 CD CD 01 00 00 00 98 1C 30 01 00 00 00 00 {6825} normal block at 0x0131CBC8, 8 bytes long. Data: < 1 > EC F8 31 01 00 00 00 00 {6824} normal block at 0x0131CB90, 8 bytes long. Data: < 1 > 80 F8 31 01 00 00 00 00 {6823} normal block at 0x0131F868, 148 bytes long. Data: < 0 > 00 00 CD CD 00 00 00 00 98 1C 30 01 00 00 00 00 {6822} normal block at 0x01309BA0, 24 bytes long. Data: < h 1 ( 1 > F0 A0 05 01 68 F8 31 01 F0 A0 05 01 28 F9 31 01 {6821} normal block at 0x0131CB58, 8 bytes long. Data: < 0 > FC 1C 30 01 00 00 00 00 {6820} normal block at 0x01301C98, 136 bytes long. Data: < ; 1 |: > 20 3B 04 01 A8 FA 31 01 7C 3A 04 01 CD CD CD CD {6792} normal block at 0x012F0128, 64 bytes long. Data: < K/ K/ K/ K/ > 88 4B 2F 01 88 4B 2F 01 88 4B 2F 01 88 4B 2F 01 {6791} normal block at 0x013193D0, 8 bytes long. Data: < 0 > 9C 1A 30 01 00 00 00 00 {6790} normal block at 0x01319398, 8 bytes long. Data: < 0 > 90 1A 30 01 00 00 00 00 {6789} normal block at 0x012F4B88, 16 bytes long. Data: < K/ K/ > 88 4B 2F 01 88 4B 2F 01 CD CD CD CD CD CD CD CD {6788} normal block at 0x01319360, 8 bytes long. Data: <p 0 > 70 1A 30 01 00 00 00 00 {6787} normal block at 0x01319328, 8 bytes long. Data: <0 > 60 1A 30 01 00 00 00 00 {6786} normal block at 0x01301A38, 180 bytes long. Data: < > 00 00 00 00 00 00 00 00 CD CD CD CD CD CD CD CD {251} normal block at 0x012B62D0, 32 bytes long. Data: <%<>{}|\"^!*'()$> 25 3C 3E 7B 7D 7C 5C 22 5E 60 21 2A 27 28 29 24 {250} normal block at 0x012B7C40, 8 bytes long. Data: 6C 16 00 10 00 00 00 00 {249} normal block at 0x012B7C08, 8 bytes long. Data: < > C0 16 00 10 00 00 00 00 {248} normal block at 0x012B7BD0, 8 bytes long. Data: < > 88 16 00 10 00 00 00 00 {246} normal block at 0x012B7B98, 8 bytes long. Data: < > A4 16 00 10 00 00 00 00 {245} normal block at 0x012B7B60, 8 bytes long. Data: < > DC 16 00 10 00 00 00 00 {244} normal block at 0x012B7B28, 8 bytes long. Data: < > C0 15 00 10 00 00 00 00 {243} normal block at 0x012B7AF0, 8 bytes long. Data: < > 8C 15 00 10 00 00 00 00 {242} normal block at 0x012B4660, 44 bytes long. Data: <F+F+ `F+ > 60 46 2B 01 60 46 2B 01 60 46 2B 01 01 01 CD CD {241} normal block at 0x012B7AB8, 8 bytes long. Data: < > E4 14 00 10 00 00 00 00 {240} normal block at 0x012B7A80, 8 bytes long. Data: < > 1C 15 00 10 00 00 00 00 {239} normal block at 0x012B7A48, 8 bytes long. Data: <8 > 38 15 00 10 00 00 00 00 {238} normal block at 0x012B7A10, 8 bytes long. Data: < > 00 15 00 10 00 00 00 00 {237} normal block at 0x012B6280, 32 bytes long. Data: <# Log file creat> 23 20 4C 6F 67 20 66 69 6C 65 20 63 72 65 61 74 {236} normal block at 0x012B79D8, 8 bytes long. Data: < > A4 14 00 10 00 00 00 00 {235} normal block at 0x012B79A0, 8 bytes long. Data: < > 18 14 00 10 00 00 00 00 {234} normal block at 0x012B7968, 8 bytes long. Data: < > FC 13 00 10 00 00 00 00 {233} normal block at 0x012B7930, 8 bytes long. Data: < > E0 13 00 10 00 00 00 00 {232} normal block at 0x012B77A8, 8 bytes long. Data: < > C4 13 00 10 00 00 00 00 {231} normal block at 0x012B7770, 8 bytes long. Data: < > A8 13 00 10 00 00 00 00 {230} normal block at 0x012B7738, 8 bytes long. Data: < > 8C 13 00 10 00 00 00 00 {229} normal block at 0x012B7700, 8 bytes long. Data:

70 13 00 10 00 00 00 00 {228} normal block at 0x012B76C8, 8 bytes long. Data: 54 13 00 10 00 00 00 00 {227} normal block at 0x012B7690, 8 bytes long. Data: <8 > 38 13 00 10 00 00 00 00 {226} normal block at 0x012B7658, 8 bytes long. Data: < > 00 13 00 10 00 00 00 00 {225} normal block at 0x012B7620, 8 bytes long. Data: < > 1C 13 00 10 00 00 00 00 {224} normal block at 0x012B75E8, 8 bytes long. Data: < > 00 12 00 10 00 00 00 00 {223} normal block at 0x012B75B0, 8 bytes long. Data:

70 11 00 10 00 00 00 00 {222} normal block at 0x012B7578, 8 bytes long. Data: < > C4 11 00 10 00 00 00 00 {221} normal block at 0x012B7540, 8 bytes long. Data: < > A8 11 00 10 00 00 00 00 {220} normal block at 0x012B7508, 8 bytes long. Data: < > 8C 11 00 10 00 00 00 00 {219} normal block at 0x012B74D0, 8 bytes long. Data: <8 > 38 10 00 10 00 00 00 00 {217} normal block at 0x012B7498, 8 bytes long. Data:

70 10 00 10 00 00 00 00 {216} normal block at 0x012B7460, 8 bytes long. Data: < > C4 10 00 10 00 00 00 00 {215} normal block at 0x012B7428, 8 bytes long. Data: < > 18 11 00 10 00 00 00 00 {214} normal block at 0x012B73F0, 8 bytes long. Data: 54 10 00 10 00 00 00 00 {213} normal block at 0x012B73B8, 8 bytes long. Data: < > E0 10 00 10 00 00 00 00 {212} normal block at 0x012B7380, 8 bytes long. Data: < > A8 10 00 10 00 00 00 00 {211} normal block at 0x012B7348, 8 bytes long. Data: < > 8C 10 00 10 00 00 00 00 {210} normal block at 0x012B7310, 8 bytes long. Data: < > FC 10 00 10 00 00 00 00 {209} normal block at 0x012B72D8, 8 bytes long. Data: < > CC 0F 00 10 00 00 00 00 {208} normal block at 0x012B72A0, 8 bytes long. Data: < > E8 0F 00 10 00 00 00 00 {207} normal block at 0x012B7268, 8 bytes long. Data: < > 04 10 00 10 00 00 00 00 {206} normal block at 0x012B7230, 8 bytes long. Data: < > B0 0F 00 10 00 00 00 00 {205} normal block at 0x012B5550, 4 bytes long. Data: < Y > F0 59 F4 0F {204} normal block at 0x012B71F8, 8 bytes long. Data: 4C 0D 00 10 00 00 00 00 {203} normal block at 0x012B71C0, 8 bytes long. Data: <0 > 30 0D 00 10 00 00 00 00 {202} normal block at 0x012B7188, 8 bytes long. Data: < > 14 0D 00 10 00 00 00 00 {201} normal block at 0x012B7150, 8 bytes long. Data: < > F8 0C 00 10 00 00 00 00 {200} normal block at 0x012B7118, 8 bytes long. Data: < > DC 0C 00 10 00 00 00 00 {199} normal block at 0x012B70E0, 8 bytes long. Data: < > C0 0C 00 10 00 00 00 00 {198} normal block at 0x012B70A8, 8 bytes long. Data: < > A4 0C 00 10 00 00 00 00 {197} normal block at 0x012B7070, 8 bytes long. Data: < > 88 0C 00 10 00 00 00 00 {196} normal block at 0x012B7038, 8 bytes long. Data: 6C 0C 00 10 00 00 00 00 {195} normal block at 0x012B7000, 8 bytes long. Data:

50 0C 00 10 00 00 00 00 {194} normal block at 0x012B4E98, 8 bytes long. Data: <4 > 34 0C 00 10 00 00 00 00 {193} normal block at 0x012B4E60, 8 bytes long. Data: < > 18 0C 00 10 00 00 00 00 {192} normal block at 0x012B4E28, 8 bytes long. Data: 48 0E 00 10 00 00 00 00 {191} normal block at 0x012B4DF0, 8 bytes long. Data: <, > 2C 0E 00 10 00 00 00 00 {190} normal block at 0x012B4DB8, 8 bytes long. Data: < > 10 0E 00 10 00 00 00 00 {189} normal block at 0x012B4D80, 8 bytes long. Data: < > F4 0D 00 10 00 00 00 00 {188} normal block at 0x012B4D48, 8 bytes long. Data: < > D8 0D 00 10 00 00 00 00 {187} normal block at 0x012B4D10, 8 bytes long. Data: < > BC 0D 00 10 00 00 00 00 {186} normal block at 0x012B4CD8, 8 bytes long. Data: < > A0 0D 00 10 00 00 00 00 {185} normal block at 0x012B6230, 32 bytes long. Data: <%Y-%m-%d %H:%M:%> 25 59 2D 25 6D 2D 25 64 20 25 48 3A 25 4D 3A 25 {184} normal block at 0x012B4CA0, 8 bytes long. Data: < > A8 0B 00 10 00 00 00 00 {183} normal block at 0x012B61E0, 32 bytes long. Data: <%w %b %f %H:%M:%> 25 77 20 25 62 20 25 66 20 25 48 3A 25 4D 3A 25 {182} normal block at 0x012B4C68, 8 bytes long. Data: < > E0 0B 00 10 00 00 00 00 {181} normal block at 0x012B6190, 32 bytes long. Data: <%W, %e %b %y %H:> 25 57 2C 20 25 65 20 25 62 20 25 79 20 25 48 3A {180} normal block at 0x012B4C30, 8 bytes long. Data: < > 84 0D 00 10 00 00 00 00 {179} normal block at 0x012B6140, 32 bytes long. Data: <%W, %e-%b-%y %H:> 25 57 2C 20 25 65 2D 25 62 2D 25 79 20 25 48 3A {178} normal block at 0x012B4BF8, 8 bytes long. Data: < > FC 0B 00 10 00 00 00 00 {177} normal block at 0x012B60F0, 32 bytes long. Data: <%w, %d %b %Y %H:> 25 77 2C 20 25 64 20 25 62 20 25 59 20 25 48 3A {176} normal block at 0x012B4BC0, 8 bytes long. Data: < > 9C 0E 00 10 00 00 00 00 {175} normal block at 0x012B60A0, 32 bytes long. Data: <%w, %e %b %Y %H:> 25 77 2C 20 25 65 20 25 62 20 25 59 20 25 48 3A {174} normal block at 0x012B4B88, 8 bytes long. Data: < > 80 0E 00 10 00 00 00 00 {173} normal block at 0x012B6050, 32 bytes long. Data: <%w, %e %b %y %H:> 25 77 2C 20 25 65 20 25 62 20 25 79 20 25 48 3A {172} normal block at 0x012B4B50, 8 bytes long. Data: 68 0D 00 10 00 00 00 00 {171} normal block at 0x012B6000, 32 bytes long. Data: <%Y-%m-%dT%H:%M:%> 25 59 2D 25 6D 2D 25 64 54 25 48 3A 25 4D 3A 25 {170} normal block at 0x012B4B18, 8 bytes long. Data: < > C4 0B 00 10 00 00 00 00 {169} normal block at 0x012B4150, 32 bytes long. Data: <%Y-%m-%dT%H:%M:%> 25 59 2D 25 6D 2D 25 64 54 25 48 3A 25 4D 3A 25 {168} normal block at 0x012B4AE0, 8 bytes long. Data: 64 0E 00 10 00 00 00 00 {167} normal block at 0x012B4AA8, 8 bytes long. Data: 4C 0B 00 10 00 00 00 00 Object dump complete.