New issue
Advanced search Search tips

Issue 890310 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Sep 29
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: ----

Blocking:
issue 888476



Sign in to add a comment

browser_tests failing on chromium.memory/win-asan after clang roll

Project Member Reported by sheriff-...@appspot.gserviceaccount.com, Sep 28

Issue description

Filed by sheriff-o-matic@appspot.gserviceaccount.com on behalf of clamy@google.com

browser_tests failing on chromium.memory/win-asan

Builders failed on: 
- win-asan: 
  https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/win-asan

There are also several other tests failing with problematic process error codes. I suspect a roll is the culprit, possibly the clang one.
 
Cc: h...@chromium.org clamy@chromium.org
Owner: h...@chromium.org
Status: Started (was: Available)
Summary: browser_tests failing on chromium.memory/win-asan after clang roll (was: browser_tests failing on chromium.memory/win-asan)
I'm taking a look.
 Issue 890207  has been merged into this issue.
 Issue 890191  has been merged into this issue.
 Issue 890189  has been merged into this issue.
Confirmed locally that it's the roll that regressed this.

Looking at elf_unittests, the errors are order dependent.

When run as part of the full test suite, ThirdParty.Logs fails. When run with --gtest_filter=ThirdParty.Logs it passes.

When running with --gtest_filter=ThirdParty.* the test that comes after fails instead:

out\release\chrome_elf_unittests.exe --gtest_filter=ThirdParty.*
IMPORTANT DEBUGGING NOTE: batches of tests are run inside their
own process. For debugging a test inside a debugger, use the
--gtest_filter=<your_test_name> flag along with
--single-process-tests.
Using sharding settings from environment. This is shard 0/1
Using 1 parallel jobs.
Note: Google Test filter = ThirdParty.Logs:ThirdParty.LogNotifications:ThirdParty.BlockedLogDuplicates
[==========] Running 3 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 3 tests from ThirdParty
[ RUN      ] ThirdParty.Logs
[       OK ] ThirdParty.Logs (0 ms)
[ RUN      ] ThirdParty.LogNotifications
../../chrome_elf/third_party_dlls/logs_unittest.cc(188): error: Expected equality of these values:
  exit_code
    Which is: 2484056064
  DWORD{0}
    Which is: 0
Stack trace:
Backtrace:
        testing::internal::UnitTestImpl::CurrentOsStackTraceExceptTop [0x00007FF6B745021A+214] (C:\src\chromium\src\third_party\googletest\src\googletest\src\gtest.cc:846)
        testing::internal::AssertHelper::operator= [0x00007FF6B744F195+265] (C:\src\chromium\src\third_party\googletest\src\googletest\src\gtest.cc:421)
        third_party_dlls::`anonymous namespace'::ThirdParty_LogNotifications_Test::TestBody [0x00007FF6B7401F55+3547] (C:\src\chromium\src\chrome_elf\third_party_dlls\logs_unittest.cc:188)

[  FAILED  ] ThirdParty.LogNotifications (98 ms)
[ RUN      ] ThirdParty.BlockedLogDuplicates
[       OK ] ThirdParty.BlockedLogDuplicates (0 ms)
[----------] 3 tests from ThirdParty (105 ms total)

[----------] Global test environment tear-down
[==========] 3 tests from 1 test case ran. (112 ms total)
[  PASSED  ] 2 tests.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] ThirdParty.LogNotifications

 1 FAILED TEST
[1/3] ThirdParty.Logs (0 ms)
[2/3] ThirdParty.LogNotifications (98 ms)
[3/3] ThirdParty.BlockedLogDuplicates (0 ms)
1 test failed:
    ThirdParty.LogNotifications (../../chrome_elf/third_party_dlls/logs_unittest.cc:155)
Tests took 0 seconds.
 Issue 890172  has been merged into this issue.
 Issue 890164  has been merged into this issue.
 Issue 890163  has been merged into this issue.
 Issue 890149  has been merged into this issue.
 Issue 890202  has been merged into this issue.
 Issue 890162  has been merged into this issue.
 Issue 890161  has been merged into this issue.
 Issue 890160  has been merged into this issue.
 Issue 890159  has been merged into this issue.
 Issue 890158  has been merged into this issue.
 Issue 890156  has been merged into this issue.
 Issue 890155  has been merged into this issue.
 Issue 890154  has been merged into this issue.
 Issue 890150  has been merged into this issue.
 Issue 890157  has been merged into this issue.
 Issue 890153  has been merged into this issue.
 Issue 890151  has been merged into this issue.
 Issue 890152  has been merged into this issue.
> Looking at elf_unittests, the errors are order dependent.
>
> When run as part of the full test suite, ThirdParty.Logs fails. When run with --gtest_filter=ThirdParty.Logs it passes.
>
> When running with --gtest_filter=ThirdParty.* the test that comes after fails instead:

No, I just fail at reading the output. It's ThirdParty.LogNotifications that's failing every time.
 Issue 890200  has been merged into this issue.
Looks like reverting compiler-rt only is enough to make the test pass.

Bisecting over that now...
Cc: r...@chromium.org
Bisection points to this one:

----
Author: dmajor
Date: Thu Sep 20 07:59:33 2018
New Revision: 342652

URL: http://llvm.org/viewvc/llvm-project?rev=342652&view=rev
Log:
[winasan] Unpoison the stack in NtTerminateThread

In long-running builds we've seen some ASan complaints during thread creation that we suspect are due to leftover poisoning from previous threads whose stacks occupied that memory. This patch adds a hook that unpoisons the stack just before the NtTerminateThread syscall.

Differential Revision: https://reviews.llvm.org/D52091
----

I suspect this somehow clobbers the thread's exit code.
Project Member

Comment 30 by bugdroid1@chromium.org, Sep 28

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7dcaa8f8a20e48e280bd0a0a67f080dc481e3325

commit 7dcaa8f8a20e48e280bd0a0a67f080dc481e3325
Author: Hans Wennborg <hans@chromium.org>
Date: Fri Sep 28 14:31:40 2018

Revert "Roll clang 342523:343189."

This reverts commit 7c58d162bce2af84b2ec900fe9d66ae17c3ae8ad.

Reason for revert:
This broke win-asan, see 2nd bug.

Original change's description:
> Roll clang 342523:343189.
> 
> Bug:  888476 
> Change-Id: Iccb39603a10261d1bdf3fcb26b008bb02fc371e6
> Reviewed-on: https://chromium-review.googlesource.com/1245465
> Commit-Queue: Nico Weber <thakis@chromium.org>
> Reviewed-by: Nico Weber <thakis@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#594765}

TBR=thakis@chromium.org,hans@chromium.org

Change-Id: I003bbfca7a542fe18c31a679ea58cf1da2c3fdb3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  888476 ,  890310 
Reviewed-on: https://chromium-review.googlesource.com/1251606
Reviewed-by: Hans Wennborg <hans@chromium.org>
Commit-Queue: Hans Wennborg <hans@chromium.org>
Cr-Commit-Position: refs/heads/master@{#595081}
[modify] https://crrev.com/7dcaa8f8a20e48e280bd0a0a67f080dc481e3325/tools/clang/scripts/update.py

Blocking: 888476
Reverted the compiler-rt change in r343322

The failure was also showing here:
https://ci.chromium.org/buildbot/chromium.clang/CrWinAsan/1363
But we missed it due to the other redness.

With the revert in, we should be able to confirm things working again with that bot.
Status: Fixed (was: Started)
Thanks! Closing.

Sign in to add a comment