Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UNADDR in msvcrt.dll!lock on base_unittests #610

Open
derekbruening opened this issue Nov 28, 2014 · 4 comments
Open

UNADDR in msvcrt.dll!lock on base_unittests #610

derekbruening opened this issue Nov 28, 2014 · 4 comments

Comments

@derekbruening
Copy link
Contributor

From bruen...@google.com on October 04, 2011 20:48:50

these are making the base_ bot red:

UNADDRESSABLE ACCESS: reading 0x0520ad44-0x0520ad48 4 byte(s)
#0 msvcrt.dll!lock
#1 msvcrt.dll!strncmp
#2 msvcrt.dll!vsnwprintf_l
#3 msvcrt.dll!vsnwprintf
#4 SHELL32.dll!SHFree
#5 SHELL32.dll!SHFree
#6 SHELL32.dll!Ordinal723
#7 SHELL32.dll!Ordinal723
#8 SHELL32.dll!Ordinal723
#9 SHELL32.dll!SHRestricted
#10 SHELL32.dll!SHRestricted
#11 SHELL32.dll!SHGetDiskFreeSpaceExW
#12 SHELL32.dll!SHGetDiskFreeSpaceExW
#13 SHELL32.dll!SHGetFolderPathEx
#14 SHELL32.dll!SHGetFolderPathW
#15 base::PathProviderWin [base\base_paths_win.cc:70]
#16 PathService::Get [base\path_service.cc:209]
#17 `anonymous namespace'::ReturnsValidPath [base\path_service_unittest.cc:23]
#18 PathServiceTest_Get_Test::TestBody [base\path_service_unittest.cc:68]
#19 testing::internal::HandleExceptionsInMethodIfSupportedtesting::Test,void [testing\gtest\src\gtest.cc:2145]
Note: @0:00:23.812 in thread 2876
Note: prev lower malloc: 0x0520aca0-0x0520acc4
Note: instruction: mov 0x6c(%eax) -> %ecx

15:25:31 drmemory_analyze.py [ERROR]
UNADDRESSABLE ACCESS: reading 0x0520ad40-0x0520ad44 4 byte(s)
#0 msvcrt.dll!lock
#1 msvcrt.dll!strncmp
#2 msvcrt.dll!vsnwprintf_l
#3 msvcrt.dll!vsnwprintf
#4 SHELL32.dll!SHFree
#5 SHELL32.dll!SHFree
#6 SHELL32.dll!Ordinal723
#7 SHELL32.dll!Ordinal723
#8 SHELL32.dll!Ordinal723
#9 SHELL32.dll!SHRestricted
#10 SHELL32.dll!SHRestricted
#11 SHELL32.dll!SHGetDiskFreeSpaceExW
#12 SHELL32.dll!SHGetDiskFreeSpaceExW
#13 SHELL32.dll!SHGetFolderPathEx
#14 SHELL32.dll!SHGetFolderPathW
#15 base::PathProviderWin [base\base_paths_win.cc:70]
#16 PathService::Get [base\path_service.cc:209]
#17 `anonymous namespace'::ReturnsValidPath [base\path_service_unittest.cc:23]
#18 PathServiceTest_Get_Test::TestBody [base\path_service_unittest.cc:68]
#19 testing::internal::HandleExceptionsInMethodIfSupportedtesting::Test,void [testing\gtest\src\gtest.cc:2145]
Note: @0:00:23.812 in thread 2876
Note: prev lower malloc: 0x0520aca0-0x0520acc4
Note: instruction: mov 0x68(%eax) -> %ecx

15:25:31 drmemory_analyze.py [ERROR]
UNADDRESSABLE ACCESS: reading 0x0520ad48-0x0520ad49 1 byte(s)
#0 msvcrt.dll!tolower
#1 msvcrt.dll!strncmp
#2 msvcrt.dll!vsnwprintf_l
#3 msvcrt.dll!vsnwprintf
#4 SHELL32.dll!SHFree
#5 SHELL32.dll!SHFree
#6 SHELL32.dll!Ordinal723
#7 SHELL32.dll!Ordinal723
#8 SHELL32.dll!Ordinal723
#9 SHELL32.dll!SHRestricted
#10 SHELL32.dll!SHRestricted
#11 SHELL32.dll!SHGetDiskFreeSpaceExW
#12 SHELL32.dll!SHGetDiskFreeSpaceExW
#13 SHELL32.dll!SHGetFolderPathEx
#14 SHELL32.dll!SHGetFolderPathW
#15 base::PathProviderWin [base\base_paths_win.cc:70]
#16 PathService::Get [base\path_service.cc:209]
#17 `anonymous namespace'::ReturnsValidPath [base\path_service_unittest.cc:23]
#18 PathServiceTest_Get_Test::TestBody [base\path_service_unittest.cc:68]
#19 testing::internal::HandleExceptionsInMethodIfSupportedtesting::Test,void [testing\gtest\src\gtest.cc:2145]
Note: @0:00:23.812 in thread 2876
Note: prev lower malloc: 0x0520aca0-0x0520acc4
Note: instruction: test 0x70(%eax) $0x02

Original issue: http://code.google.com/p/drmemory/issues/detail?id=610

@derekbruening
Copy link
Contributor Author

From timurrrr@google.com on October 06, 2011 07:11:57

Example failure: http://build.chromium.org/p/chromium.fyi/builders/Windows%20Tests%20%28DrMemory%20Win%207%29/builds/45/steps/memory%20test%3A%20base/logs/stdio I can't repro that locally with
$ tools\valgrind\chrome_tests.bat -t base --tool drmemory_light --gtest_filter="PathServiceTest.*"

Maybe one should run the preceding tests too.
$ C:\chromium\src>tools\valgrind\chrome_tests.bat -t base --tool drmemory_light --gtest_filter="FilePath_:PathServiceTest.:AtomicOps:TimeTicks_:ValuesTest_:UTF_:MD5_:VersionTest.:EnvironmentTest.:ToolsSanity_:LoggingTest.:ObserverList_Test.:StringPrintfTest._:StringNum*"
-> has the report!

Labels: Hotlist-Chrome

@derekbruening
Copy link
Contributor Author

From timurrrr@google.com on October 06, 2011 07:30:30

Hm, looks like it may be related to issue #532 [LoggingTest vs UNADDR instrumentation]:

$ tools\valgrind\chrome_tests.bat -t base --tool drmemory_light --gtest_filter="PathServiceTest.Get:LoggingTest.:ObserverListThreadSafeTest."

When I remove anything from the gtest_filter, the report goes away.
Looks like something threaded from the ObserverList tests affects some Logging tests that result in PathService test unaddrs.

Derek,
Can you have a look?

Owner: bruen...@google.com

@derekbruening
Copy link
Contributor Author

From timurrrr@google.com on October 06, 2011 07:34:28

Yeah!

Here's the report:
$ tools\valgrind\chrome_tests.bat -t base --tool drmemory_light --gtest_filter="PathServiceTest.Get:LoggingTest.Dcheck:ObserverListThreadSafeTest.CrossThreadObserver"
(3 tests)

but not here:
$ tools\valgrind\chrome_tests.bat -t base --tool drmemory_light --gtest_filter="PathServiceTest.Get:LoggingTest.Dcheck"
(2 tests)

nor here:
$ tools\valgrind\chrome_tests.bat -t base --tool drmemory_light --gtest_filter="PathServiceTest.Get:ObserverListThreadSafeTest.CrossThreadObserver"
(2 tests)

@derekbruening
Copy link
Contributor Author

From bruen...@google.com on October 06, 2011 10:24:37

can't repro the unaddr here yet, but I can repro issue #533

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant