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

Issue 612473 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: May 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocked on:
issue 612496
issue 612503
issue 612507



Sign in to add a comment

{cast,sandbox_linux}_unittests are broken in official build

Project Member Reported by krasin@chromium.org, May 17 2016

Issue description

The new LTO Linux bot has a few test suites red:
https://build.chromium.org/p/chromium.fyi/builders/LTO%20Linux/builds/496

cast_unittests, mojo_system_unittests, sandbox_linux_unittests

cast_unittests crash with SIGSEGV:
[ RUN      ] VideoEncoderTest.GeneratesKeyFrameThenOnlyDeltaFrames/0
Received signal 11 SEGV_MAPERR 000000000000
#0 0x0000005e6ec9 (/b/build/slave/google-chrome-lto-linux_64/build/src/out/Release/cast_unittests+0x5e6ec8)
  r8: 0000000000000168  r9: 000000000000005a r10: 000000000000005a r11: 000000000000005a
 r12: 00007ffc42caaf70 r13: 0000000000000000 r14: 000011d35663ea90 r15: 000011d3565f3e00
  di: 000011d356639f00  si: 0000000000000168  bp: 000011d3565f3e00  bx: 000011d3566031c0
  dx: 0000000000000056  ax: 00007ffc42caaf70  cx: 000011d356859400  sp: 00007ffc42caaf10
  ip: 00000000004b1680 efl: 0000000000010206 cgf: 0000000000000033 erf: 0000000000000004
 trp: 000000000000000e msk: 0000000000000000 cr2: 0000000000000000
[end of stack trace]



mojo_system_unittests fails with ILLOPN:
[ RUN      ] OptionsValidationTest.InvalidDeath
../../mojo/edk/system/options_validation_unittest.cc:103: Failure
Death test: { UserOptionsReader<TestOptions> reader((nullptr)); }
    Result: died but not with expected error.
  Expected: Check failed
Actual msg:
[  DEATH   ] [13530:13530:0517/074906:5200029197:WARNING:test_suite.cc(195)] Test launcher output path /tmp/.com.google.Chrome.U4FK8l/test_results.xml exists. Not adding test launcher result printer.
[  DEATH   ] Received signal 4 ILL_ILLOPN 00000048c85f
[  DEATH   ] #0 0x00000058c719 (/b/build/slave/google-chrome-lto-linux_64/build/src/out/Release/mojo_system_unittests+0x58c718)
[  DEATH   ]   r8: 0000000000000000  r9: 00007ffff3423ff0 r10: 0000000000000000 r11: 00007f57813da870
[  DEATH   ]  r12: 00003cc69798e300 r13: 00003cc697984500 r14: 00003cc6979aa600 r15: 00003cc697987e00
[  DEATH   ]   di: 00003cc6979aa600  si: 0000000000000004  bp: 0000000000000002  bx: 00003cc6979aa600
[  DEATH   ]   dx: 0000000000000000  ax: 0000000000000001  cx: 00003cc697989c20  sp: 00007ffff3423f70
[  DEATH   ]   ip: 000000000048c85f efl: 0000000000010202 cgf: 0000000000000033 erf: 0000000000000000
[  DEATH   ]  trp: 0000000000000006 msk: 0000000000000000 cr2: 0000000000000000
[  DEATH   ] [end of stack trace]
[  DEATH   ] 
../../mojo/edk/system/options_validation_unittest.cc:111: Failure
Death test: { UserOptionsReader<TestOptions> reader( reinterpret_cast<const TestOptions*>(1)); }
    Result: died but not with expected error.
  Expected: Check failed
Actual msg:
[  DEATH   ] [13553:13553:0517/074906:5200034900:WARNING:test_suite.cc(195)] Test launcher output path /tmp/.com.google.Chrome.U4FK8l/test_results.xml exists. Not adding test launcher result printer.
[  DEATH   ] Received signal 4 ILL_ILLOPN 00000048c85f
[  DEATH   ] #0 0x00000058c719 (/b/build/slave/google-chrome-lto-linux_64/build/src/out/Release/mojo_system_unittests+0x58c718)
[  DEATH   ]   r8: 0000000000000000  r9: 00007ffde27e3dd0 r10: 0000000000000000 r11: 00007f456f17d870
[  DEATH   ]  r12: 000009212c735300 r13: 000009212c72b500 r14: 000009212c751600 r15: 000009212c72ee00
[  DEATH   ]   di: 000009212c751600  si: 0000000000000004  bp: 0000000000000004  bx: 000009212c751600
[  DEATH   ]   dx: 0000000000000000  ax: 0000000000000001  cx: 000009212c730c20  sp: 00007ffde27e3d50
[  DEATH   ]   ip: 000000000048c85f efl: 0000000000010202 cgf: 0000000000000033 erf: 0000000000000000
[  DEATH   ]  trp: 0000000000000006 msk: 0000000000000000 cr2: 0000000000000000
[  DEATH   ] [end of stack trace]
[  DEATH   ] 
../../mojo/edk/system/options_validation_unittest.cc:125: Failure
Death test: { uint32_t buffer[100] = {}; TestOptions* options = (reinterpret_cast<uintptr_t>(buffer) % 8 == 0) ? reinterpret_cast<TestOptions*>(&buffer[1]) : reinterpret_cast<TestOptions*>(&buffer[0]); options->struct_size = static_cast<uint32_t>(sizeof(TestOptions)); UserOptionsReader<TestOptions> reader(options); }
    Result: died but not with expected error.
  Expected: Check failed




sandbox_linux_unittests fails with ILLOPN:
[ RUN      ] BrokerFilePermission.CreateBadNotAbs
../../sandbox/linux/tests/unit_tests.cc:300: Failure
Value of: subprocess_exited_without_matching_message
  Actual: true
Expected: false
Actual test failure: Received signal 4 ILL_ILLOPN 000000469195
#0 0x0000004df809 (/b/build/slave/google-chrome-lto-linux_64/build/src/out/Release/sandbox_linux_unittests+0x4df808)
  r8: 000005db72a877d8  r9: 0000000000000000 r10: 0000000000000008 r11: 0000000000000246
 r12: 0000000000000000 r13: 00007fffddaf2c00 r14: 0000000000000000 r15: 0000000000000001
  di: 000005db72a87840  si: 00007fffddaf2a8f  bp: 0000000000000000  bx: 00007fffddaf2b40
  dx: 000005db72a877c0  ax: 000005db72a877d8  cx: 0000000000000074  sp: 00007fffddaf2ae0
  ip: 0000000000469195 efl: 0000000000010212 cgf: 0000000000000033 erf: 0000000000000000
 trp: 0000000000000006 msk: 0000000000000000 cr2: 0000000000000000
[end of stack trace]

[  FAILED  ] BrokerFilePermission.CreateBadNotAbs (0 ms)

I will take a look at this today. It's a bit sad that the bot is not green from the beginning, but it would be a miracle anyway.
 

Comment 1 by krasin@chromium.org, May 17 2016

Reproduced locally:

$ gn gen out/gn-lto '--args=is_chrome_branded=true is_official_build=true is_debug=false allow_posix_link_time_opt=true' --check
$ ninja -C out/gn-lto cast_unittests mojo_system_unittests sandbox_linux_unittests
$ ./out/gn-lto/cast_unittests # and other tests above

A very interesting note: this only happens with an official build. If I built a regular Chromium, the tests pass.

Comment 2 by krasin@chromium.org, May 17 2016

Running cast_unittests under GDB:

$ gdb --args ./out/gn-lto/cast_unittests --gtest_filter=End2EndTest.BasicFakeSoftwareVideo
[ RUN      ] End2EndTest.BasicFakeSoftwareVideo
../../media/cast/test/end2end_unittest.cc:99: Failure
Value of: status
  Actual: 4
Expected: STATUS_INITIALIZED
Which is: 1

Program received signal SIGSEGV, Segmentation fault.
media::cast::End2EndTest::SendVideoFrame (this=0x3418a66c2200, frame_number=0, reference_time=...) at ../../media/cast/test/end2end_unittest.cc:591
591         video_frame_input_->InsertRawVideoFrame(video_frame, reference_time);
(gdb) bt
#0  media::cast::End2EndTest::SendVideoFrame (this=0x3418a66c2200, frame_number=0, reference_time=...) at ../../media/cast/test/end2end_unittest.cc:591
#1  0x00000000004c47af in media::cast::End2EndTest_BasicFakeSoftwareVideo_Test::TestBody (this=<optimized out>) at ../../media/cast/test/end2end_unittest.cc:1093
#2  0x00000000005d40d6 in HandleExceptionsInMethodIfSupported<testing::Test, void> (object=0x3418a66c2200, method=<error reading variable: DWARF-2 expression error: `DW_OP_stack_value' operations must be used either alone or in conjunction with DW_OP_piece or DW_OP_bit_piece.>, location=<optimized out>) at ../../testing/gtest/src/gtest.cc:2458
#3  testing::Test::Run (this=0x3418a66c2200) at ../../testing/gtest/src/gtest.cc:2474
#4  0x00000000005d53a9 in testing::TestInfo::Run (this=0x3418a66c4300) at ../../testing/gtest/src/gtest.cc:2656
#5  0x00000000005d56c3 in testing::TestCase::Run (this=<optimized out>) at ../../testing/gtest/src/gtest.cc:2774
#6  0x00000000005da189 in testing::internal::UnitTestImpl::RunAllTests (this=<optimized out>) at ../../testing/gtest/src/gtest.cc:4647
#7  0x00000000005d9e3a in HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> (method=<error reading variable: access outside bounds of object referenced via synthetic pointer>, object=<optimized out>, location=<optimized out>) at ../../testing/gtest/src/gtest.cc:2458
#8  testing::UnitTest::Run (this=<optimized out>) at ../../testing/gtest/src/gtest.cc:4255
#9  0x00000000005b04b2 in RUN_ALL_TESTS () at ../../testing/gtest/include/gtest/gtest.h:2237
#10 base::TestSuite::Run (this=0x7fffffffd528) at ../../base/test/test_suite.cc:230
#11 0x00000000005bb54f in Run (this=0x7fffffffd518) at ../../base/callback.h:397
#12 base::(anonymous namespace)::LaunchUnitTestsInternal(base::Callback<int (), (base::internal::CopyMode)1> const&, int, int, bool, base::Callback<void (), (base::internal::CopyMode)1> const&) (run_test_suite=..., default_jobs=48, default_batch_limit=10, use_job_objects=true, gtest_init=...) at ../../base/test/launcher/unit_test_launcher.cc:206
#13 0x00000000005bb3fb in base::LaunchUnitTests(int, char**, base::Callback<int (), (base::internal::CopyMode)1> const&) (argc=<optimized out>, argv=<optimized out>, run_test_suite=...) at ../../base/test/launcher/unit_test_launcher.cc:445
#14 0x00000000004ee65f in main (argc=2, argv=0x7fffffffd658) at ../../base/test/run_all_unittests.cc:21

The check at end2end_unittests.cc:99 fails with status=media::cast::STATUS_UNSUPPORTED_CODEC.

Comment 3 by krasin@chromium.org, May 17 2016

Summary: {cast,mojo_system,sandbox_linux}_unittests are broken in official build (was: LTO Linux bot is red)
Okay, this has nothing to do with LTO. These three tests fail in a regular official BUILD too:
$ gn gen out/gn-off '--args=is_chrome_branded=true is_official_build=true is_debug=false' --check
$ ninja -C out/gn-off cast_unittests mojo_system_unittests sandbox_linux_unittests
$ ./out/gn-off/cast_unittests # and other tests.

Next steps:

1. File separate bugs for each of the test failure, as they seem to be unrelated.
2. Disable these tests on LTO Linux bot until they are fixed.
3. Bisect the failures and find owners for each of the bugs.
4. Get them fixed, reenable on LTO Linux bot.

Since these failures are not due to LTO, they are not a blocker for launching LTO.

Comment 4 by krasin@chromium.org, May 17 2016

Blockedon: 612496
Filed an issue about cast_unittests: https://crbug.com/612496

Comment 5 by krasin@chromium.org, May 17 2016

Blockedon: 612503
Labels: -Pri-3 Pri-2
Filed an issue about mojo_system_unittests:  https://crbug.com/612503 

Comment 6 by krasin@chromium.org, May 17 2016

Blockedon: 612507
sandbox_linux_unittests:  https://crbug.com/612507 

Comment 7 by krasin@chromium.org, May 17 2016

CL to disable these tests on 'LTO Linux' buildbot: https://codereview.chromium.org/1985123002/
Project Member

Comment 8 by bugdroid1@chromium.org, May 17 2016

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

commit f7e3c42cc1d32437f3a9e7d0c9f5adecf92b43a5
Author: krasin <krasin@google.com>
Date: Tue May 17 20:06:59 2016

Disable broken tests on 'LTO Linux' buildbot.

These breakages are not related to LTO, and only happen in the official mode.
All of them are reported, and the tests will be reenabled after they are fixed.

BUG= 612473 ,612496, 612503 , 612507 

Review-Url: https://codereview.chromium.org/1985123002
Cr-Commit-Position: refs/heads/master@{#394201}

[modify] https://crrev.com/f7e3c42cc1d32437f3a9e7d0c9f5adecf92b43a5/testing/buildbot/chromium.fyi.json

Comment 9 by krasin@chromium.org, May 17 2016

Summary: {cast,sandbox_linux}_unittests are broken in official build (was: {cast,mojo_system,sandbox_linux}_unittests are broken in official build)
Status: Fixed (was: Untriaged)
All tests but cast_unittests are fixed. The tracking issue cast_unittests failure: https://crbug.com/612496

Sign in to add a comment