interactive_ui_tests MacViews Crash in NSAutoreleasePool |
||||||
Issue description
Test: HungRendererNavigationTest.HungRendererWithCrossProcessNavigation (Flaky)
* thread #1, name = 'CrBrowserMain', queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x48)
frame #0: 0x0000000109450fab interactive_ui_tests`ScopedObserver<content::RenderProcessHost, content::RenderProcessHostObserver>::RemoveAll(this=0x0000000156483a58) at scoped_observer.h:45
frame #1: 0x0000000109450ec9 interactive_ui_tests`ScopedObserver<content::RenderProcessHost, content::RenderProcessHostObserver>::~ScopedObserver(this=0x0000000156483a58) at scoped_observer.h:26
frame #2: 0x00000001094509f5 interactive_ui_tests`ScopedObserver<content::RenderProcessHost, content::RenderProcessHostObserver>::~ScopedObserver(this=0x0000000156483a58) at scoped_observer.h:25
frame #3: 0x000000010945127d interactive_ui_tests`HungRendererObserverBridge::~HungRendererObserverBridge(this=0x0000000156483a30) at hung_renderer_controller.mm:92
frame #4: 0x0000000109450a15 interactive_ui_tests`HungRendererObserverBridge::~HungRendererObserverBridge(this=0x0000000156483a30) at hung_renderer_controller.mm:92
frame #5: 0x0000000109450a39 interactive_ui_tests`HungRendererObserverBridge::~HungRendererObserverBridge(this=0x0000000156483a30) at hung_renderer_controller.mm:92
frame #6: 0x00000001094503bc interactive_ui_tests`::-[HungRendererController .cxx_destruct]() [inlined] std::__1::default_delete<HungRendererObserverBridge>::operator(this=0x000000015647f4e8, __ptr=0x0000000156483a30)(HungRendererObserverBridge*) const at memory:2333
frame #7: 0x0000000109450397 interactive_ui_tests`::-[HungRendererController .cxx_destruct]() [inlined] std::__1::unique_ptr<HungRendererObserverBridge, std::__1::default_delete<HungRendererObserverBridge> >::reset(this=0x000000015647f4e8, __p=0x0000000000000000) at memory:2646
frame #8: 0x0000000109450344 interactive_ui_tests`::-[HungRendererController .cxx_destruct]() [inlined] std::__1::unique_ptr<HungRendererObserverBridge, std::__1::default_delete<HungRendererObserverBridge> >::~unique_ptr(this=0x000000015647f4e8) at memory:2600
frame #9: 0x0000000109450344 interactive_ui_tests`::-[HungRendererController .cxx_destruct]() [inlined] std::__1::unique_ptr<HungRendererObserverBridge, std::__1::default_delete<HungRendererObserverBridge> >::~unique_ptr(this=0x000000015647f4e8) at memory:2600
frame #10: 0x0000000109450344 interactive_ui_tests`::-[HungRendererController .cxx_destruct](self=0x000000015647f460, _cmd=<no value available>) at hung_renderer_controller.mm:131
frame #11: 0x00007fff5ac6142e libobjc.A.dylib`object_cxxDestructFromClass(objc_object*, objc_class*) + 127
frame #12: 0x00007fff5ac5a2b1 libobjc.A.dylib`objc_destructInstance + 92
frame #13: 0x0000000134db2b16 libzombies.dylib`(anonymous namespace)::ZombieDealloc(self=0x000000015647f460, _cmd="dealloc") at objc_zombie.mm:110
frame #14: 0x00007fff314690ab AppKit`-[NSResponder dealloc] + 143
frame #15: 0x00007fff3170ee48 AppKit`-[NSWindowController dealloc] + 328
frame #16: 0x000000010944e9ab interactive_ui_tests`::-[HungRendererController dealloc](self=0x000000015647f460, _cmd="dealloc") at hung_renderer_controller.mm:149
frame #17: 0x00007fff314836d8 AppKit`-[NSWindowController release] + 154
frame #18: 0x00007fff5ac5b042 libobjc.A.dylib`(anonymous namespace)::AutoreleasePoolPage::pop(void*) + 812
frame #19: 0x00007fff33e5d676 CoreFoundation`_CFAutoreleasePoolPop + 22
frame #20: 0x00007fff35f7d4f5 Foundation`-[NSAutoreleasePool drain] + 144
* frame #21: 0x000000011d8c81fe libbase.dylib`base::mac::ScopedNSAutoreleasePool::Recycle(this=0x000000015ba0a180) at scoped_nsautorelease_pool.mm:26
,
Mar 23 2018
,
Apr 13 2018
,
Apr 17 2018
,
Apr 17 2018
,
Apr 17 2018
Issue 802162 has been merged into this issue.
,
Apr 17 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e0ea06e31ab0d3d13b2a4cdfd8fb1a65ae49bf28 commit e0ea06e31ab0d3d13b2a4cdfd8fb1a65ae49bf28 Author: Elly Fong-Jones <ellyjones@chromium.org> Date: Tue Apr 17 18:59:49 2018 cocoa: reset observer in HungRendererController dealloc HungRendererController autoreleases itself, which doesn't work well when it doesn't actually hold a reference to the containing window (which it doesn't in MacViews builds). This fixes the HungRendererController interactive UI test. Bug: 823517 Change-Id: I5fc14faa8eeaba7b20f5e922a43d4817ca2c810a Reviewed-on: https://chromium-review.googlesource.com/1015261 Reviewed-by: Robert Liao <robliao@chromium.org> Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org> Cr-Commit-Position: refs/heads/master@{#551412} [modify] https://crrev.com/e0ea06e31ab0d3d13b2a4cdfd8fb1a65ae49bf28/chrome/browser/ui/cocoa/hung_renderer_controller.mm
,
Apr 17 2018
|
||||||
►
Sign in to add a comment |
||||||
Comment 1 by robliao@chromium.org
, Mar 19 2018