DynamoRIO / DynamoRIO/drmemory
Unaddrs in gtest, uninits in setlocale on Xenial 32-bit app_suite_tests
- Dominant language
- C
- Stars
- 2.7k
- Forks
- 290
- PR merge metrics
- No merged PRs in 30d
Description
Upgrading Travis to Xenial ends up with these extra errors:
```
~~Dr.M~~ 13 unique, 13 total unaddressable access(es)
~~Dr.M~~ 13 unique, 14 total uninitialized access(es)
```
A bunch of unaddress which are all like this:
```
Error #13: UNADDRESSABLE ACCESS beyond heap bounds: reading
0x08100c92-0x08100c94 2 byte(s) within 0x08100c90-0x08100c94
# 0 libc.so.6!? (0xf7405885 )
??:0
# 1 libc.so.6!getenv (0xf73beefc )
??:0
# 2 testing::internal::posix::GetEnv (0x080aaffb )
/home/travis/build/DynamoRIO/drmemory/tests/app_suite/../../third_party/googletest/include/gtest/internal/gtest-port.h:1654
# 3 testing::internal::BoolFromGTestEnv (0x080a883c
)
/home/travis/build/DynamoRIO/drmemory/tests/app_suite/../../third_party/googletest/src/gtest-port.cc:709
# 4 __static_initialization_and_destruction_0 (0x080aa8ab
)
/home/travis/build/DynamoRIO/drmemory/tests/app_suite/../../third_party/googletest/src/gtest-death-test.cc:85
# 5 _GLOBAL__sub_I__ZN7testing8internal17kStackTraceMarkerE (0x080aa94e
)
/home/travis/build/DynamoRIO/drmemory/tests/app_suite/../../third_party/googletest/src/gtest-typed-test.cc:110
# 6 app_suite_tests!? (0x08087bf1 )
??:0
Note: @0:00:04.753 in thread 30739
Note: refers to 0 byte(s) beyond last valid byte in prior malloc
Note: prev lower malloc: 0x08100c78-0x08100c92
Note: instruction: mov (%eax) -> %ecx
```
Uninits are all like this:
```
Error #14: UNINITIALIZED READ: reading register eflags
# 0 libc.so.6!? (0xf7405094 )
??:0
# 1 libc.so.6!? (0xf73b9800 )
??:0
# 2 libc.so.6!? (0xf73b9da5 )
??:0
# 3 libc.so.6!setlocale (0xf73b3128 )
??:0
# 4 StringTests_strcasecmp_Test::TestBody (0x08092934
)
/home/travis/build/DynamoRIO/drmemory/tests/app_suite/strmem_tests.cpp:159
# 5 testing::internal::HandleSehExceptionsInMethodIfSupported<> (0x080b5521
)
/home/travis/build/DynamoRIO/drmemory/tests/app_suite/../../third_party/googletest/src/gtest.cc:2090
# 6 testing::internal::HandleExceptionsInMethodIfSupported<> (0x080b0597
)
/home/travis/build/DynamoRIO/drmemory/tests/app_suite/../../third_party/googletest/src/gtest.cc:2126
# 7 testing::Test::Run (0x0809cf31 )
/home/travis/build/DynamoRIO/drmemory/tests/app_suite/../../third_party/googletest/src/gtest.cc:2162
# 8 testing::TestInfo::Run (0x0809d6fa )
/home/travis/build/DynamoRIO/drmemory/tests/app_suite/../../third_party/googletest/src/gtest.cc:2338
# 9 testing::TestCase::Run (0x0809dcc5 )
/home/travis/build/DynamoRIO/drmemory/tests/app_suite/../../third_party/googletest/src/gtest.cc:2445
#10 testing::internal::UnitTestImpl::RunAllTests (0x080a2d53
)
/home/travis/build/DynamoRIO/drmemory/tests/app_suite/../../third_party/googletest/src/gtest.cc:4237
#11 testing::internal::HandleSehExceptionsInMethodIfSupported<> (0x080b6873
)
/home/travis/build/DynamoRIO/drmemory/tests/app_suite/../../third_party/googletest/src/gtest.cc:2090
#12 testing::internal::HandleExceptionsInMethodIfSupported<> (0x080b14a3
)
/home/travis/build/DynamoRIO/drmemory/tests/app_suite/../../third_party/googletest/src/gtest.cc:2126
#13 testing::UnitTest::Run (0x080a1a09 )
/home/travis/build/DynamoRIO/drmemory/tests/app_suite/../../third_party/googletest/src/gtest.cc:3871
#14 main (0x080beef0 )
/home/travis/build/DynamoRIO/drmemory/third_party/googletest/src/gtest_main.cc:38
Note: @0:00:09.675 in thread 30739
Note: instruction: jnb $0xf7405122
```
That line is this:
```
ASSERT_EQ(res, 0);
```
Ideally these would be investigated. For now I'm suppressing them.
Contributor guide
Assessment
This issue has not been assessed yet.