New issue
Advanced search Search tips

Issue 850867 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner: ----
Closed: Jun 2018
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocking:
issue 845798



Sign in to add a comment

sandbox_linux_unittests fails under ASan with ToT clang

Project Member Reported by h...@chromium.org, Jun 8 2018

Issue description

From a Clang roll attempt: https://chromium-review.googlesource.com/c/chromium/src/+/1088917

On both these bots,
https://ci.chromium.org/p/chromium/builders/luci.chromium.try/linux_chromium_asan_rel_ng/29122
https://ci.chromium.org/p/chromium/builders/luci.chromium.try/linux_chromium_chromeos_asan_rel_ng/15638

sandbox_linux_unittests fails a bunch of cases, all with the same assert:

../../sandbox/linux/tests/unit_tests.cc:256: Failure
Value of: subprocess_exited_but_printed_messages
  Actual: true
Expected: false


What's up with that?


Why doesn't this show on the ASan ToT bot? (https://ci.chromium.org/buildbot/chromium.clang/ToTLinuxASan/)
 

Comment 1 by h...@chromium.org, Jun 8 2018

Blockedon: 850870

Comment 2 by h...@chromium.org, Jun 8 2018

Local repro, args.gn

dcheck_always_on = true
is_asan = true
is_component_build = false
is_debug = false
is_lsan = true
strip_absolute_paths_from_debug_symbols = true
symbol_level = 1
use_goma = true

$ ninja -C out/release -j1000 sandbox_linux_unittests
$ ASAN_OPTIONS="detect_leaks=1" out/release/sandbox_linux_unittests --gtest_filter=BrokerFilePermission.CreateGood
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 = BrokerFilePermission.CreateGood
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from BrokerFilePermission
[ RUN      ] BrokerFilePermission.CreateGood
../../sandbox/linux/tests/unit_tests.cc:256: Failure
Value of: subprocess_exited_but_printed_messages
  Actual: true
Expected: false
Actual test failure: ==147889==WARNING: LeakSanitizer is disabled in forked process.

Stack trace:
#0 0x000000732f9c (/work/chromium/src/out/release/sandbox_linux_unittests+0x732f9b)
#1 0x000000758950 (/work/chromium/src/out/release/sandbox_linux_unittests+0x75894f)
#2 0x0000007574c7 (/work/chromium/src/out/release/sandbox_linux_unittests+0x7574c6)
#3 0x00000072d0e9 (/work/chromium/src/out/release/sandbox_linux_unittests+0x72d0e8)
#4 0x00000072b2f1 (/work/chromium/src/out/release/sandbox_linux_unittests+0x72b2f0)

[  FAILED  ] BrokerFilePermission.CreateGood (4 ms)
[----------] 1 test from BrokerFilePermission (4 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (4 ms total)
[  PASSED  ] 0 tests.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] BrokerFilePermission.CreateGood

 1 FAILED TEST
[147880:147886:0608/140831.640576:3042425107388:ERROR:kill_posix.cc(83)] Unable to terminate process group 147887: No such process (3)
[1/1] BrokerFilePermission.CreateGood (4 ms)
1 test failed:
    BrokerFilePermission.CreateGood (../../sandbox/linux/syscall_broker/broker_file_permission_unittest.cc:39)
Tests took 0 seconds.

Comment 3 by h...@chromium.org, Jun 8 2018

Blockedon: -850870

Comment 4 by h...@chromium.org, Jun 8 2018

Interestingly, the test does not fail if we drop "detect_leaks=1" from the command-line.

So this must be LSan related, and I suspect maybe it's related to r334036

Comment 5 by h...@chromium.org, Jun 8 2018

Oh, it's a death test that relies on the contents of stdout or stderr of the forked process, so of course it doesn't work now that LSan prints a message.

Comment 6 by h...@chromium.org, Jun 8 2018

Cc: thakis@chromium.org vitalyb...@chromium.org
Status: Started (was: Untriaged)
Relaxing the test here: https://chromium-review.googlesource.com/c/chromium/src/+/1092740
Project Member

Comment 7 by bugdroid1@chromium.org, Jun 8 2018

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

commit ca2591d9e4c311d39650ee953be2912b8e0a0d20
Author: Hans Wennborg <hans@chromium.org>
Date: Fri Jun 08 17:43:10 2018

sandbox_linux_unittests: Relax death test output expectation under LSan

After upstream change r334036, LSan started printing a warning to stdout,
breaking the test expectations.

Bug:  850867 
Change-Id: I9a5857a3175f7520ffe448f41fb260d5722c62d4
Reviewed-on: https://chromium-review.googlesource.com/1092740
Commit-Queue: Hans Wennborg <hans@chromium.org>
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#565674}
[modify] https://crrev.com/ca2591d9e4c311d39650ee953be2912b8e0a0d20/sandbox/linux/tests/unit_tests.cc

Comment 8 by h...@chromium.org, Jun 11 2018

Status: Fixed (was: Started)

Sign in to add a comment