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

Issue 612503 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
please use my google.com address
Closed: May 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug

Blocking:
issue 612473



Sign in to add a comment

mojo_system_unittests are broken in the official build

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

Issue description

Version: tip
OS: Linux

What steps will reproduce the problem?
(1) Build mojo_system_unittests in the official mode:
$ gn gen out/gn-off '--args=is_chrome_branded=true is_official_build=true is_debug=false' --check
$ ninja -C out/gn-off mojo_system_unittests

(2) Run mojo_system_unittests:
$ ./out/gn-off/mojo_system_unittests
...
Retrying 2 tests (retry #1)
[ 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   ] [11813:11813:0517/101212:589892447147:WARNING:test_suite.cc(195)] Test launcher output path /tmp/.com.google.Chrome.BYGarC/test_results.xml exists. Not adding test launcher result printer.
[  DEATH   ] Received signal 4 ILL_ILLOPN 000000497f67
[  DEATH   ] #0 0x00000059dcb7 (/usr/local/google/home/krasin/chr22/src/out/gn-off/mojo_system_unittests+0x59dcb6)
[  DEATH   ]   r8: 0000000000000000  r9: 00007ffc420f1ec0 r10: 0000000000000001 r11: 00007f75ea5dd870
[  DEATH   ]  r12: 00002f6955326e00 r13: 00002f6955326e00 r14: 00002f6955368940 r15: 00002f6955323500
[  DEATH   ]   di: 00002f6955368940  si: 0000000000000004  bp: 0000000000000002  bx: 00002f6955368940
[  DEATH   ]   dx: 0000000000000000  ax: 0000000000000001  cx: 00002f6955329c20  sp: 00007ffc420f1e40
[  DEATH   ]   ip: 0000000000497f67 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   ] [11815:11815:0517/101212:589892454348:WARNING:test_suite.cc(195)] Test launcher output path /tmp/.com.google.Chrome.BYGarC/test_results.xml exists. Not adding test launcher result printer.
[  DEATH   ] Received signal 4 ILL_ILLOPN 000000497f67
[  DEATH   ] #0 0x00000059dcb7 (/usr/local/google/home/krasin/chr22/src/out/gn-off/mojo_system_unittests+0x59dcb6)
[  DEATH   ]   r8: 0000000000000000  r9: 00007ffe547bfd80 r10: 0000000000000001 r11: 00007f7e17660870
[  DEATH   ]  r12: 00000a17593e6e00 r13: 00000a17593e6e00 r14: 00000a1759428940 r15: 00000a17593e3500
[  DEATH   ]   di: 00000a1759428940  si: 0000000000000004  bp: 0000000000000004  bx: 00000a1759428940
[  DEATH   ]   dx: 0000000000000000  ax: 0000000000000001  cx: 00000a17593e9c20  sp: 00007ffe547bfd00
[  DEATH   ]   ip: 0000000000497f67 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
Actual msg:
[  DEATH   ] [11817:11817:0517/101212:589892461283:WARNING:test_suite.cc(195)] Test launcher output path /tmp/.com.google.Chrome.BYGarC/test_results.xml exists. Not adding test launcher result printer.
[  DEATH   ] Received signal 4 ILL_ILLOPN 000000497f67
[  DEATH   ] #0 0x00000059dcb7 (/usr/local/google/home/krasin/chr22/src/out/gn-off/mojo_system_unittests+0x59dcb6)
[  DEATH   ]   r8: 0000000000000000  r9: 00007ffd8d4ab540 r10: 0000000000000001 r11: 00007fed85307870
[  DEATH   ]  r12: 00003dc387f53e00 r13: 00003dc387f53e00 r14: 00003dc387f95940 r15: 00003dc387f50500
[  DEATH   ]   di: 00007ffd8d4ab5c0  si: 0000000000000000  bp: 0000000000000000  bx: 00003dc387f95940
[  DEATH   ]   dx: 00007ffd8d4ab740  ax: 00007ffd8d4ab5c0  cx: 00007ffd8d4ab740  sp: 00007ffd8d4ab540
[  DEATH   ]   ip: 0000000000497f67 efl: 0000000000010246 cgf: 0000000000000033 erf: 0000000000000000
[  DEATH   ]  trp: 0000000000000006 msk: 0000000000000000 cr2: 0000000000000000
[  DEATH   ] [end of stack trace]
[  DEATH   ] 
[  FAILED  ] OptionsValidationTest.InvalidDeath (23 ms)
[161/162] OptionsValidationTest.InvalidDeath (23 ms)
[ RUN      ] CoreTest.InvalidArgumentsDeath
../../mojo/edk/system/core_unittest.cc:457: Failure
Death test: core()->WaitMany(nullptr, &signals, 1, MOJO_DEADLINE_INDEFINITE, nullptr, nullptr)
    Result: died but not with expected error.
  Expected: Check failed
Actual msg:
[  DEATH   ] [11821:11821:0517/101212:589892486856:WARNING:test_suite.cc(195)] Test launcher output path /tmp/.com.google.Chrome.nbTM2p/test_results.xml exists. Not adding test launcher result printer.
[  DEATH   ] Received signal 4 ILL_ILLOPN 00000050018e
[  DEATH   ] #0 0x00000059dcb7 (/usr/local/google/home/krasin/chr22/src/out/gn-off/mojo_system_unittests+0x59dcb6)
[  DEATH   ]   r8: ffffffffffffffff  r9: 00007ffede22bc74 r10: 0000000000000001 r11: 00007f97ea0d0870
[  DEATH   ]  r12: 00007ffede22bddc r13: 0000000000000000 r14: 00000a4ef44bcb00 r15: ffffffffffffffff
[  DEATH   ]   di: 00000a4ef44bcb00  si: 0000000000000000  bp: 0000000000000001  bx: 0000000000000001
[  DEATH   ]   dx: 00007ffede22bddc  ax: a4e15e69ca4a9400  cx: 0000000000000001  sp: 00007ffede22bb30
[  DEATH   ]   ip: 000000000050018e efl: 0000000000010246 cgf: 0000000000000033 erf: 0000000000000000
[  DEATH   ]  trp: 0000000000000006 msk: 0000000000000000 cr2: 0000000000000000
[  DEATH   ] [end of stack trace]
[  DEATH   ] 
[  FAILED  ] CoreTest.InvalidArgumentsDeath (7 ms)
[162/162] CoreTest.InvalidArgumentsDeath (7 ms)
2 tests failed:
    CoreTest.InvalidArgumentsDeath (../../mojo/edk/system/core_unittest.cc:447)
    OptionsValidationTest.InvalidDeath (../../mojo/edk/system/options_validation_unittest.cc:97)

The tests only fail in the official mode. That was uncovered by the new 'LTO Linux' buildbot, but it turned out that the failure has nothing to do with LTO, and reproduces in the regular build as well.

Please, take a look.
 

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

Blocking: 612473

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

Owner: roc...@chromium.org
Status: Started (was: Untriaged)
I'll look at this. Seems like an issue with how we link official builds vs how we access internal globals in tests.

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

Nevermind, it's way dumber than that. Just a mismatch of expectations between CHECK output on official vs non-official builds. Fix incoming.
Project Member

Comment 4 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

Project Member

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

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

commit ab9c83e8baabd5596d9f3702de970dba0cbecc88
Author: rockot <rockot@chromium.org>
Date: Tue May 17 20:14:16 2016

[mojo-edk] Fix test expectations for official builds

CHECK has different (i.e. empty) output on official builds
instead of "Check failed" - ASSERT/EXPECT_DEATH* testing
macros need different expectations here.

BUG= 612503 
R=jam@chromium.org

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

[modify] https://crrev.com/ab9c83e8baabd5596d9f3702de970dba0cbecc88/mojo/edk/system/core_unittest.cc
[modify] https://crrev.com/ab9c83e8baabd5596d9f3702de970dba0cbecc88/mojo/edk/system/options_validation_unittest.cc

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

Status: Fixed (was: Started)

Sign in to add a comment