DynamoRIO / DynamoRIO/drmemory

rel64 app_suite failing to suppress 3 errors b/c of bogus callstack frames

Open
#1,927 0 comments 0 reactions 0 assignees View on GitHub
Bug-FalsePositive Component-Tests OpSys-Windows OpSys-x64
Dominant language
C
Stars
2.7k
Forks
290
PR merge metrics
No merged PRs in 30d

Description

http://dynamorio.org/CDash/testDetails.php?test=151399&build=14556

CMake Error at runtest.cmake:501 (message):
stderr failed to match "~~Dr\.M~~ NO ERRORS FOUND:"

```
~~Dr.M~~ ERRORS FOUND:
~~Dr.M~~ 0 unique, 0 total unaddressable access(es)
~~Dr.M~~ 2 unique, 2 total invalid heap argument(s)
~~Dr.M~~ 0 unique, 0 total GDI usage error(s)
~~Dr.M~~ 0 unique, 0 total handle leak(s)
~~Dr.M~~ 1 unique, 1 total warning(s)
~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of leak(s)
~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of possible leak(s)
~~Dr.M~~ Details: D:\derek\drmemory\nightly\run\build_drmemory-rel-64\logs\DrMemory-app_suite_tests.exe.8764.000\results.txt
```

These all may be due to bogus frames on the callstack.

The invalid heap args are i#1240 but aren't matching the supp:

```
INVALID HEAP ARGUMENT
name=default i#1240 CRT mismatch
*!Concurrency::details::*
```

```
Error #1: INVALID HEAP ARGUMENT: allocated with operator new[], freed with operator delete
# 0 replace_operator_delete_nothrow (0x00000000bf6067e0 )
d:\derek\drmemory\nightly\src\common\alloc_replace.c:2974
# 1 KERNELBASE.dll!CloseHandle (0x000007fefca61873 )
??:0
# 2 KERNELBASE.dll!SetEvent (0x000007fefca6133c )
??:0
# 3 Concurrency::details::SchedulerBase::DetachExternalContext (0x000000013f49fb52 )
f:\dd\vctools\crt_bld\self_64_amd64\crt\src\schedulerbase.cpp:1164
# 4 std::endl (0x000000013f402cd1 )
c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream:1015
# 5 Concurrency::details::SchedulerBase::Detach (0x000000013f4a0618 )
f:\dd\vctools\crt_bld\self_64_amd64\crt\src\schedulerbase.cpp:1088
# 6 current_scheduler (0x000000013f4029ed )
d:\derek\drmemory\nightly\src\tests\app_suite\concurrency_win.cpp:123
# 7 std::_Vector_const_iterator<>::_Vector_const_iterator<> (0x000000013f486d8f )
c:\program files (x86)\microsoft visual studio 10.0\vc\include\vector:46
# 8 Concurrency_Scheduler_Test::TestBody (0x000000013f4028cf )
d:\derek\drmemory\nightly\src\tests\app_suite\concurrency_win.cpp:184
# 9 testing::internal::CountIf<> (0x000000013f489a9d )
d:\derek\drmemory\nightly\src\third_party\googletest\src\gtest-internal-inl.h:277
#10 testing::internal::GetUnitTestImpl (0x000000013f478521 )
d:\derek\drmemory\nightly\src\third_party\googletest\src\gtest-internal-inl.h:906
#11 testing::internal::HandleExceptionsInMethodIfSupported<> (0x000000013f48a01d )
d:\derek\drmemory\nightly\src\third_party\googletest\src\gtest.cc:2126
#12 testing::TestResult::HasFatalFailure (0x000000013f464501 )
d:\derek\drmemory\nightly\src\third_party\googletest\src\gtest.cc:1868
#13 testing::Test::Run (0x000000013f464d9e )
d:\derek\drmemory\nightly\src\third_party\googletest\src\gtest.cc:2162
#14 testing::Test::HasFatalFailure (0x000000013f464df9 )
d:\derek\drmemory\nightly\src\third_party\googletest\src\gtest.cc:2175
#15 testing::TestInfo::Run (0x000000013f4654ab )
d:\derek\drmemory\nightly\src\third_party\googletest\src\gtest.cc:2338
#16 testing::TestCase::GetMutableTestInfo (0x000000013f4658a4 )
d:\derek\drmemory\nightly\src\third_party\googletest\src\gtest.cc:2419
#17 testing::TestCase::Run (0x000000013f4659fe )
d:\derek\drmemory\nightly\src\third_party\googletest\src\gtest.cc:2445
#18 testing::internal::UnitTestImpl::GetMutableTestCase (0x000000013f47a206 )
d:\derek\drmemory\nightly\src\third_party\googletest\src\gtest-internal-inl.h:574
#19 testing::internal::UnitTestImpl::RunAllTests (0x000000013f46a477 )
d:\derek\drmemory\nightly\src\third_party\googletest\src\gtest.cc:4237
Note: @0:00:01.903 in thread 6748
Note: memory was allocated here:
Note: # 0 replace_operator_new_array (0x00000000bf6065c0 )
Note: d:\derek\drmemory\nightly\src\common\alloc_replace.c:2928
Note: # 1 Concurrency::details::SchedulerProxy::RemoveCore (0x000000013f4dd697 )
Note: f:\dd\vctools\crt_bld\self_64_amd64\crt\src\schedulerproxy.cpp:889
Note: # 2 KERNELBASE.dll!SetThreadPriority (0x000007fefca73c3a )
??:0
Note: # 3 Concurrency::details::LoadLibraryAndCreateThread (0x000000013f4bc9ea )
Note: f:\dd\vctools\crt_bld\self_64_amd64\crt\src\utils.cpp:610
Note: # 4 Concurrency::details::ResourceManager::RestoreSchedulerResources (0x000000013f4b4b32 )
Note: f:\dd\vctools\crt_bld\self_64_amd64\crt\src\resourcemanager.cpp:2523
Note: # 5 KERNELBASE.dll!CreateSemaphoreExW (0x000007fefca67da5 )
??:0
Note: # 6 Concurrency::details::ResourceManager::CreateDynamicRMWorker (0x000000013f4b5bb9 )
Note: f:\dd\vctools\crt_bld\self_64_amd64\crt\src\resourcemanager.cpp:474
Note: # 7 Concurrency::details::SchedulerBase::Initialize (0x000000013f49ec4d )
Note: f:\dd\vctools\crt_bld\self_64_amd64\crt\src\schedulerbase.cpp:429
Note: # 8 Concurrency::details::SchedulerBase::CreateWithoutInitializing (0x000000013f4a0cd9 )
Note: f:\dd\vctools\crt_bld\self_64_amd64\crt\src\schedulerbase.cpp:239
Note: # 9 Concurrency::details::SchedulerBase::Create (0x000000013f4a0fd2 )
Note: f:\dd\vctools\crt_bld\self_64_amd64\crt\src\schedulerbase.cpp:220
Note: #10 Concurrency::CurrentScheduler::Create (0x000000013f49ae3d )
Note: f:\dd\vctools\crt_bld\self_64_amd64\crt\src\currentscheduler.cpp:71
Note: #11 current_scheduler (0x000000013f402997 )
Note: d:\derek\drmemory\nightly\src\tests\app_suite\concurrency_win.cpp:110
```

```
Error #2: INVALID HEAP ARGUMENT: allocated with operator new[], freed with operator delete
# 0 replace_operator_delete_nothrow (0x00000000bf6067e0 )
d:\derek\drmemory\nightly\src\common\alloc_replace.c:2974
# 1 KERNELBASE.dll!CloseHandle (0x000007fefca61873 )
??:0
# 2 KERNEL32.dll!BaseThreadInitThunk (0x0000000076bf59bd )
??:0
Note: @0:00:01.919 in thread 5652
Note: memory was allocated here:
Note: # 0 replace_operator_new_array (0x00000000bf6065c0 )
Note: d:\derek\drmemory\nightly\src\common\alloc_replace.c:2928
Note: # 1 Concurrency::details::SchedulerProxy::RemoveCore (0x000000013f4dd697 )
Note: f:\dd\vctools\crt_bld\self_64_amd64\crt\src\schedulerproxy.cpp:889
Note: # 2 Concurrency::details::SchedulerProxy::GrantAllocation (0x000000013f4ddcf7 )
Note: f:\dd\vctools\crt_bld\self_64_amd64\crt\src\schedulerproxy.cpp:652
Note: # 3 Concurrency::details::ResourceManager::RestoreSchedulerResources (0x000000013f4b4b32 )
Note: f:\dd\vctools\crt_bld\self_64_amd64\crt\src\resourcemanager.cpp:2523
Note: # 4 KERNELBASE.dll!CreateSemaphoreExW (0x000007fefca67da5 )
??:0
Note: # 5 KERNEL32.dll!BaseThreadInitThunk (0x0000000076bf59bd )
??:0
```

The warning isn't matching the app suite supp for this deliberate calloc failure:

```
WARNING
name=deliberate calloc failure
*!MallocTests_CallocOverflow_Test::TestBody*
```

```
Error #3: WARNING: heap allocation failed
# 0 replace_calloc (0x00000000bf605740 )
d:\derek\drmemory\nightly\src\common\alloc_replace.c:2616
# 1 testing::internal::String::ConstructNonNull (0x000000013f411e76 )
d:\derek\drmemory\nightly\src\third_party\googletest\include\gtest\internal\gtest-string.h:304
# 2 testing::internal::String::operator= (0x000000013f478189 )
d:\derek\drmemory\nightly\src\third_party\googletest\include\gtest\internal\gtest-string.h:290
# 3 testing::internal::GTestFlagSaver::GTestFlagSaver (0x000000013f478db4 )
d:\derek\drmemory\nightly\src\third_party\googletest\src\gtest-internal-inl.h:169
# 4 std::basic_string<>::c_str (0x000000013f408133 )
c:\program files (x86)\microsoft visual studio 10.0\vc\include\xstring:1496
# 5 MallocTests_CallocOverflow_Test::TestBody (0x000000013f42980c )
d:\derek\drmemory\nightly\src\tests\app_suite\malloc_tests.cpp:67
# 6 std::_Vector_const_iterator<>::operator== (0x000000013f486dcd )
c:\program files (x86)\microsoft visual studio 10.0\vc\include\vector:202
# 7 std::_Vector_const_iterator<>::_Vector_const_iterator<> (0x000000013f486d8f )
c:\program files (x86)\microsoft visual studio 10.0\vc\include\vector:46
# 8 std::_Vector_const_iterator<>::operator!= (0x000000013f48526d )
c:\program files (x86)\microsoft visual studio 10.0\vc\include\vector:208
# 9 testing::internal::CountIf<> (0x000000013f489a9d )
d:\derek\drmemory\nightly\src\third_party\googletest\src\gtest-internal-inl.h:277
#10 testing::internal::GetUnitTestImpl (0x000000013f478521 )
d:\derek\drmemory\nightly\src\third_party\googletest\src\gtest-internal-inl.h:906
#11 testing::internal::HandleExceptionsInMethodIfSupported<> (0x000000013f48a01d )
d:\derek\drmemory\nightly\src\third_party\googletest\src\gtest.cc:2126
#12 testing::TestResult::HasFatalFailure (0x000000013f464501 )
d:\derek\drmemory\nightly\src\third_party\googletest\src\gtest.cc:1868
#13 testing::Test::Run (0x000000013f464d9e )
d:\derek\drmemory\nightly\src\third_party\googletest\src\gtest.cc:2162
#14 testing::Test::HasFatalFailure (0x000000013f464df9 )
d:\derek\drmemory\nightly\src\third_party\googletest\src\gtest.cc:2175
#15 testing::TestInfo::Run (0x000000013f4654ab )
d:\derek\drmemory\nightly\src\third_party\googletest\src\gtest.cc:2338
#16 testing::TestCase::GetMutableTestInfo (0x000000013f4658a4 )
d:\derek\drmemory\nightly\src\third_party\googletest\src\gtest.cc:2419
#17 testing::TestCase::Run (0x000000013f4659fe )
d:\derek\drmemory\nightly\src\third_party\googletest\src\gtest.cc:2445
#18 testing::internal::UnitTestImpl::GetMutableTestCase (0x000000013f47a206 )
d:\derek\drmemory\nightly\src\third_party\googletest\src\gtest-internal-inl.h:574
#19 testing::internal::UnitTestImpl::RunAllTests (0x000000013f46a477 )
d:\derek\drmemory\nightly\src\third_party\googletest\src\gtest.cc:4237
Note: @0:00:02.168 in thread 6748
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.