DynamoRIO/drmemory

possible leak in Concurrency::details::SchedulerBase::GetSubAllocator

Open

#1,875 建立於 2016年3月21日

在 GitHub 查看
 (2 留言) (0 反應) (0 負責人)C (289 fork)auto 404
Bug-FalsePositiveComponent-LeakCheckComponent-Testsgood first issuehelp wanted

倉庫指標

Star
 (2,727 star)
PR 合併指標
 (PR 指標待抓取)

描述

Running the 64-bit Concurrency.Scheduler test on win7:

Error #5: POSSIBLE LEAK 1568 direct bytes 0x0000000002572480-0x0000000002572aa0 + 64 indirect bytes
#0 replace_operator_new (0x00000000bfac8ef0 <drmemorylib.dll+0x1a8ef0>)
    d:\derek\drmemory\git\src\common\alloc_replace.c:2899
#1 Concurrency::details::SchedulerBase::GetSubAllocator (0x000000013f7dfb5c <app_suite_tests.exe+0xbfb5c>)
    f:\dd\vctools\crt_bld\self_64_amd64\crt\src\schedulerbase.cpp:2488
#2 Concurrency::Alloc  (0x000000013f7e1ef7 <app_suite_tests.exe+0xc1ef7>)
    f:\dd\vctools\crt_bld\self_64_amd64\crt\src\suballocator.cpp:34
#3 Concurrency::details::ExternalContextBase::Alloc (0x000000013f7ffa7d <app_suite_tests.exe+0xdfa7d>)
    f:\dd\vctools\crt_bld\self_64_amd64\crt\src\externalcontextbase.cpp:191
#4 Concurrency::details::_AllocBase::operator new (0x000000013f744353 <app_suite_tests.exe+0x24353>)
    c:\program files (x86)\microsoft visual studio 10.0\vc\include\concrt.h:184
#5 Concurrency::details::ContextBase::CreateWorkQueue (0x000000013f7f7e90 <app_suite_tests.exe+0xd7e90>)
    f:\dd\vctools\crt_bld\self_64_amd64\crt\src\contextbase.cpp:467
#6 Concurrency::details::_UnrealizedChore::_InternalAlloc<> (0x000000013f7442cc <app_suite_tests.exe+0x242cc>)
    c:\program files (x86)\microsoft visual studio 10.0\vc\include\concrt.h:3484
#7 Concurrency::details::_TaskCollection::_TaskCollection (0x000000013f7dc54c <app_suite_tests.exe+0xbc54c>)
    f:\dd\vctools\crt_bld\self_64_amd64\crt\src\taskcollection.cpp:545
#8 Concurrency::task_group::run_and_wait<> (0x000000013f744248 <app_suite_tests.exe+0x24248>)
    c:\program files (x86)\microsoft visual studio 10.0\vc\include\ppl.h:636
#9 perform_task        (0x000000013f742a78 <app_suite_tests.exe+0x22a78>)
    d:\derek\drmemory\git\src\tests\app_suite\concurrency_win.cpp:97
#10 current_scheduler   (0x000000013f7429c6 <app_suite_tests.exe+0x229c6>)
    d:\derek\drmemory\git\src\tests\app_suite\concurrency_win.cpp:118
#11 std::_Vector_const_iterator<>::_Vector_const_iterator<> (0x000000013f7c6c1f <app_suite_tests.exe+0xa6c1f>)
    c:\program files (x86)\microsoft visual studio 10.0\vc\include\vector:46

Glancing at the SchedulerBase.cpp I don't see any shenanigans where the returned pointer from new is not used directly and is offset, so it's not clear what's going on. Needs analysis.

貢獻者指南