New issue
Advanced search Search tips

Issue 748518 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug

Blocking:
issue 748242



Sign in to add a comment

views_unittests NativeWidgetMacTest.NonWidgetParentLastReference fails on 10.13

Project Member Reported by rsesek@chromium.org, Jul 25 2017

Issue description

Chrome Version: 4b523c1060e2bc62bceb42e3d1674635cd48f2e0
OS: macOS 10.13 High Sierra

What steps will reproduce the problem?
(1) Run views_unittests on 10.13
(2) Observe NativeWidgetMacTest.NonWidgetParentLastReference fails

[ RUN      ] NativeWidgetMacTest.NonWidgetParentLastReference
../../ui/views/widget/native_widget_mac_unittest.mm:777: Failure
Value of: child_dealloced
  Actual: false
Expected: true
[  FAILED  ] NativeWidgetMacTest.NonWidgetParentLastReference (33 ms)

What is the expected result?
Test passes

What happens instead?
Test fails

Please use labels and text to provide additional information.

Job: https://luci-milo.appspot.com/buildbot/chromium.fyi/Chromium%20Mac%2010.13/2
Logs: 


For graphics-related bugs, please copy/paste the contents of the about:gpu
page at the end of this report.

 

Comment 2 by tapted@chromium.org, Jul 26 2017

Owner: tapted@chromium.org
Status: Assigned (was: Untriaged)
Curious.

The parent is dealloced but not the child. The code is

  {
    /* snip */
    base::mac::ScopedNSAutoreleasePool pool;
    [native_parent_.autorelease() close];
    EXPECT_TRUE(child_dealloced);
  }
  EXPECT_TRUE(native_parent_dealloced);


I suspect the fix is just to move EXPECT_TRUE(child_dealloced); to the outer scope so that the autorelease pool has been drained.

Likely AppKit has just added a new autorelease call that wasn't there before.

Comment 3 by tapted@chromium.org, Jul 28 2017

This doesn't fail for me on macOS 10.13 developer beta 4 17A315i

google@googles-Mac-Pro ~/ssd/chromium/src
$ out/gn_os1013/views_unittests --gtest_filter=NativeWidgetMacTest.NonWidgetParentLastReference
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 = NativeWidgetMacTest.NonWidgetParentLastReference
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from NativeWidgetMacTest
[ RUN      ] NativeWidgetMacTest.NonWidgetParentLastReference
[       OK ] NativeWidgetMacTest.NonWidgetParentLastReference (75 ms)
[----------] 1 test from NativeWidgetMacTest (75 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (75 ms total)
[  PASSED  ] 1 test.
[1/1] NativeWidgetMacTest.NonWidgetParentLastReference (75 ms)
SUCCESS: all tests passed.
Tests took 0 seconds.
google@googles-Mac-Pro ~/ssd/chromium/src
$ uname -a
Darwin googles-Mac-Pro.local 17.0.0 Darwin Kernel Version 17.0.0: Thu Jul 20 17:24:26 PDT 2017; root:xnu-4556.0.0.1.2~1/RELEASE_X86_64 x86_64


Note this is linking with the 10.10 SDK.

Comment 4 by rsesek@chromium.org, Jul 28 2017

The bot is on Beta 2, so I just filed issue 749901 to get it upgraded to Beta 4.

Comment 5 by tapted@chromium.org, Jul 28 2017

Interestingly, another test may be failing now that wasn't previously WidgetTest.ChildStackedRelativeToParent - Filed  Issue 749905 

Seems some step in AppKit is asynchronous now that wasn't previously. Maybe that was part of Apple's fix for this issue.
Status: WontFix (was: Assigned)
Doesn't appear to be happening anymore. https://luci-milo.appspot.com/buildbot/chromium.fyi/Chromium%20Mac%2010.13/29

Sign in to add a comment