Comments (3)
This is pending for review in a future release given this is a one-time operation allocation.
from cpp_client_telemetry.
Memory dump as shared by @aks3090 -
Direct leak of 16 byte(s) in 1 object(s) allocated from:
#0 0x7f103e232c5f in __interceptor_malloc ../../../../libsanitizer/asan/asan_malloc_linux.cpp:69
#1 0x7f103c2fd570 in sqlite3MemMalloc (/opt/3p/binary/drm-mip2004/lib/libmip_core.so+0x694570)
#2 0x7f103c2fe035 in mallocWithAlarm (/opt/3p/binary/drm-mip2004/lib/libmip_core.so+0x695035)
#3 0x7f103c2fe0e1 in sqlite3Malloc (/opt/3p/binary/drm-mip2004/lib/libmip_core.so+0x6950e1)
#4 0x7f103c2fe815 in sqlite3DbMallocRaw (/opt/3p/binary/drm-mip2004/lib/libmip_core.so+0x695815)
#5 0x7f103c301b95 in strAccumFinishRealloc (/opt/3p/binary/drm-mip2004/lib/libmip_core.so+0x698b95)
#6 0x7f103c301c59 in sqlite3StrAccumFinish (/opt/3p/binary/drm-mip2004/lib/libmip_core.so+0x698c59)
#7 0x7f103c3020af in sqlite3_vmprintf (/opt/3p/binary/drm-mip2004/lib/libmip_core.so+0x6990af)
#8 0x7f103c302192 in sqlite3_mprintf (/opt/3p/binary/drm-mip2004/lib/libmip_core.so+0x699192)
#9 0x7f103c37cf6f in sqlite3Pragma (/opt/3p/binary/drm-mip2004/lib/libmip_core.so+0x713f6f)
#10 0x7f103c3b6a6c in yy_reduce (/opt/3p/binary/drm-mip2004/lib/libmip_core.so+0x74da6c)
#11 0x7f103c3b7ee0 in sqlite3Parser (/opt/3p/binary/drm-mip2004/lib/libmip_core.so+0x74eee0)
#12 0x7f103c3b91bd in sqlite3RunParser (/opt/3p/binary/drm-mip2004/lib/libmip_core.so+0x7501bd)
#13 0x7f103c382162 in sqlite3Prepare (/opt/3p/binary/drm-mip2004/lib/libmip_core.so+0x719162)
#14 0x7f103c3823bb in sqlite3LockAndPrepare (/opt/3p/binary/drm-mip2004/lib/libmip_core.so+0x7193bb)
#15 0x7f103c3825ce in sqlite3_prepare_v2 (/opt/3p/binary/drm-mip2004/lib/libmip_core.so+0x7195ce)
#16 0x7f103c099034 in Microsoft::Applications::Events::OfflineStorage_SQLite::initializeDatabase() (/opt/3p/binary/drm-mip2004/lib/libmip_core.so+0x430034)
SUMMARY: AddressSanitizer: 16 byte(s) leaked in 1 allocation(s).
FAIL mip_test (exit status: 1)
Reason for Leak:
The allocation of this memory happens during LogManager initialization. SqliteDB wrapper will create prepared statement objects during initialization -
cpp_client_telemetry/lib/offline/OfflineStorage_SQLite.cpp
Lines 791 to 793 in 4f3adbd
These objects should be cleaned (by explicitly calling sqlite3_finalize..()) when LogManager is shutdown, but this is missing in code. Since this is one time allocation during startup, in general it should be safe to have. The memory leak will get significant only if the LogManager is frequently reinitialized while the application is running.
from cpp_client_telemetry.
Hi, is there any update on this issue?
from cpp_client_telemetry.
Related Issues (20)
- Android crash on LogManager::UploadNow() HOT 10
- Data race in OfflineStorageHandler::GetAndReserveRecords
- OfflineStorage_Room::GetAndReserveRecords crash in Android HOT 6
- [Vision Pro Support] visionOS related changes in OneDS SDK HOT 11
- Does CFG_STR_CACHE_FILE_PATH need to be a full path or can it just be a file name? HOT 1
- How does the SDK send array types?
- #define PAL overrides namespace projectNamespace::PAL HOT 1
- The latest version - v3.8.32.1 is not available on CocoaPods HOT 1
- .NET Framework 4.0 no longer supported HOT 1
- Cannot link win10-lib into C++/WinRt Runtime component
- Cannot "Build" - only Rebuild or Clean
- Pit of failure: can't tell if custom properties file is getting included HOT 2
- Adding new PiiKind values for Scrub Last Hextet and for dropping value. #1249
- VS2022 support HOT 5
- Compilation errors in MacOS 14.4.1 with 'Apple clang version 15.0.0' HOT 3
- Crash in BondSplicer Splice HOT 1
- MacOS CI failing
- logManager.UploadNow() causes crash in iOS
- OneDSInspector tool removed from the repo HOT 4
- ./build-ios.sh release failed with iOS17.4 incompatible errors HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cpp_client_telemetry.