New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 715315 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner: ----
Closed: Apr 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 3
Type: Bug

Blocking:
issue 82385
issue 714769



Sign in to add a comment

chrome_elf_unittests failing on CrWinAsanCov, CrWinAsan

Project Member Reported by thakis@chromium.org, Apr 25 2017

Issue description

Started here:

https://build.chromium.org/p/chromium.fyi/builders/CrWinAsanCov%20tester/builds/980 (clang 301299, last good 301180)

https://build.chromium.org/p/chromium.fyi/builders/CrWinAsan%20tester/builds/1717 (clang 301285, last good 301198)



[ RUN      ] ELFImportsTest.ChromeElfLoadSanityTest
../../chrome_elf/elf_imports_unittest.cc(131): error: Failed
Couldn't find
OK ] ELFImportsTest.DISABLED_ChromeElfLoadSanityTestImpl
 in output
 Note: Google Test filter = ELFImportsTest.DISABLED_ChromeElfLoadSanityTestImpl

[==========] Running 1 test from 1 test case.

[----------] Global test environment set-up.

[----------] 1 test from ELFImportsTest

[ RUN      ] ELFImportsTest.DISABLED_ChromeElfLoadSanityTestImpl

../../chrome_elf/elf_imports_unittest.cc(154): error: Value of: ::GetModuleHandleW(L"user32.dll")

  Actual: 76F80000

Expected: nullptr

Which is: NULL

[  FAILED  ] ELFImportsTest.DISABLED_ChromeElfLoadSanityTestImpl (6 ms)




[ RUN      ] ELFImportsTest.ChromeElfSanityCheck
../../chrome_elf/elf_imports_unittest.cc(106): error: Value of: match
  Actual: false
Expected: true
Illegal import in chrome_elf.dll: USER32.dll
[  FAILED  ] ELFImportsTest.ChromeElfSanityCheck (0 ms)
 

Comment 1 by thakis@chromium.org, Apr 25 2017

Oh, this is probably my fault actually.

Previously: https://bugs.chromium.org/p/chromium/issues/detail?id=646414#c10 -- so maybe this is due to https://codereview.chromium.org/2838673004/ ?

Comment 3 by thakis@chromium.org, Apr 25 2017

Cc: robertshield@chromium.org
robertshield, are you aware of any recent changes to chrome_elf?

Comment 4 by thakis@chromium.org, Apr 25 2017

Cc: euge...@chromium.org
eugenis, could http://llvm.org/viewvc/llvm-project?rev=301225&view=rev cause this?

Comment 5 by h...@chromium.org, Apr 25 2017

Blocking: 714769
Could be. That change should not have any effect unless building with -fno-data-sections.
https://cs.chromium.org/chromium/src/build/config/compiler/BUILD.gn?type=cs&l=1329

Apparently, we are building w/o data-sections. Since r301225, clang respects this setting for asan globals, too. This could potentially result in linking more stuff than before, and maybe pull the dependency to the user32.dll thing as well.

Am I making any sense?

@thakis: I don't see any recent changes that would break elf, and it would surprise me that something non-very-clang-specific would break this test without also breaking it on the msvc builders.

@eugenis: what you describe sounds plausible. I don't know much of anything about -fno-data-sections and its side effects on linking, but the test is designed to fail if dependencies creep in. 
Cc: penny...@chromium.org
+Penny FYI
robertshield: yes, I think this is caused by eugenis's change, thanks. (I hadn't seen that yet when I asked you.)

eugenis: I'm not sure if we still need that /Gw tweak for asan on win -- if so, your change breaks us and blocks clang rolls in chromium. 
I'm not sure what the ODR checker bit is about.
Let's revert for now. I've uploaded https://reviews.llvm.org/D32514.
Please land. Rnk is out today and I'm on a phone without phab access :+)
LLVM r301374

Comment 14 by p...@chromium.org, Apr 26 2017

I looked closely at the implementation of the ODR checker with eugenis and found a potential bug: after we rebuild a global [0] we do not copy the comdat from the original global. That may have caused duplicate symbol link errors with the ODR checker enabled. 

[0] http://llvm-cs.pcc.me.uk/lib/Transforms/Instrumentation/AddressSanitizer.cpp#1830

Comment 15 by h...@chromium.org, Apr 26 2017

Status: Fixed (was: Unconfirmed)
The bots from #0 are green again. So this seems fixed for the moment.
Do we want a bug for figuring out if /Gw is still needed and for investigating what pcc and eugenis found in comment 14 and for possibly relanding eugenis's change for coff after that's addressed?
Filed  issue 716193  for the follow-up suggested in comment 16.

Sign in to add a comment