This is the stacktrace extracted from Víctor’s crash file:
#0 size (this=0x14, this=0x14) at /usr/include/c++/4.9/bits/stl_vector.h:655
#1 GetChildCount (this=0x0) at ../../../../shared/browser/oxide_web_frame.cc:182
#2 oxide::WebFrame::WillDestroy (this=this@entry=0x0) at ../../../../shared/browser/oxide_web_frame.cc:52
#3 0xad1aa7a4 in oxide::WebFrame::Destroy (frame=0x0) at ../../../../shared/browser/oxide_web_frame.cc:157
#4 0xad404114 in content::WebContentsImpl::OnFrameRemoved (this=<optimized out>, render_frame_host=0xb791c3d8)
at ../../../../third_party/chromium/src/content/browser/web_contents/web_contents_impl.cc:4504
#5 0xad2ad954 in Run (args#0=@0xbeeeeedc: 0xb791c3d8, this=<optimized out>)
at ../../../../third_party/chromium/src/base/callback.h:396
#6 content::FrameTree::FrameRemoved (this=<optimized out>, frame=frame@entry=0xb7a11218)
at ../../../../third_party/chromium/src/content/browser/frame_host/frame_tree.cc:347
#7 0xad2ae5b2 in content::FrameTreeNode::~FrameTreeNode (this=this@entry=0xb7a11218, __in_chrg=<optimized out>)
at ../../../../third_party/chromium/src/content/browser/frame_host/frame_tree_node.cc:71
#8 0xad2ae84a in STLDeleteContainerPointers<__gnu_cxx::__normal_iterator<content::FrameTreeNode**, std::vector<content::FrameTreeNode*, std::allocator<content::FrameTreeNode*> > > > (end=..., begin=)
at ../../../../third_party/chromium/src/base/stl_util.h:44
#9 STLDeleteElements<std::vector<content::FrameTreeNode*, std::allocator<content::FrameTreeNode*> > > (
container=container@entry=0xb78fd5a4) at ../../../../third_party/chromium/src/base/stl_util.h:148
#10 0xad2ae66a in clear (this=0xb78fd5a4) at ../../../../third_party/chromium/src/base/memory/scoped_vector.h:99
#11 ~ScopedVector (this=0xb78fd5a4, __in_chrg=<optimized out>)
at ../../../../third_party/chromium/src/base/memory/scoped_vector.h:38
#12 content::FrameTreeNode::~FrameTreeNode (this=this@entry=0xb78fd510, __in_chrg=<optimized out>)
at ../../../../third_party/chromium/src/content/browser/frame_host/frame_tree_node.cc:70
#13 0xad2ae84a in STLDeleteContainerPointers<__gnu_cxx::__normal_iterator<content::FrameTreeNode**, std::vector<content::FrameTreeNode*, std::allocator<content::FrameTreeNode*> > > > (end=..., begin=)
at ../../../../third_party/chromium/src/base/stl_util.h:44
#14 STLDeleteElements<std::vector<content::FrameTreeNode*, std::allocator<content::FrameTreeNode*> > > (
container=container@entry=0xbeeef078) at ../../../../third_party/chromium/src/base/stl_util.h:148
#15 0xad2ae8d6 in clear (this=0xbeeef078) at ../../../../third_party/chromium/src/base/memory/scoped_vector.h:99
#16 content::FrameTreeNode::ResetForNewProcess (this=<optimized out>)
at ../../../../third_party/chromium/src/content/browser/frame_host/frame_tree_node.cc:134
#17 0xad2ad0d2 in content::FrameTree::ResetForMainFrameSwap (this=0xb795d898)
at ../../../../third_party/chromium/src/content/browser/frame_host/frame_tree.cc:217
#18 0xad3905ae in content::RenderViewHostImpl::AttachToFrameTree (this=<optimized out>)
at ../../../../third_party/chromium/src/content/browser/renderer_host/render_view_host_impl.cc:1386
---Type <return> to continue, or q <return> to quit---
#19 0xad2c1434 in content::RenderFrameHostManager::CommitPending (this=0xb795e0c8)
at ../../../../third_party/chromium/src/content/browser/frame_host/render_frame_host_manager.cc:1685
#20 0xad2c15c4 in content::RenderFrameHostManager::DidNavigateFrame (this=0xb795e0c8,
render_frame_host=<optimized out>, was_caused_by_user_gesture=<optimized out>)
at ../../../../third_party/chromium/src/content/browser/frame_host/render_frame_host_manager.cc:448
#21 0xad2b67bc in content::NavigatorImpl::DidNavigate (this=0xb795d2e8, render_frame_host=0xb76127d0, input_params=...)
at ../../../../third_party/chromium/src/content/browser/frame_host/navigator_impl.cc:404
#22 0xad2ba67c in content::RenderFrameHostImpl::OnDidCommitProvisionalLoad (this=this@entry=0xb76127d0, msg=...)
at ../../../../third_party/chromium/src/content/browser/frame_host/render_frame_host_impl.cc:839
#23 0xad2bef8c in content::RenderFrameHostImpl::OnMessageReceived (this=0xb76127d0, msg=...)
at ../../../../third_party/chromium/src/content/browser/frame_host/render_frame_host_impl.cc:348
#24 0xad38a3f0 in content::RenderProcessHostImpl::OnMessageReceived (this=0xb77d4750, msg=...)
at ../../../../third_party/chromium/src/content/browser/renderer_host/render_process_host_impl.cc:1543
#25 0xad9d72fe in IPC::ChannelProxy::Context::OnDispatchMessage (this=0xb7a64b80, message=...)
at ../../../../third_party/chromium/src/ipc/ipc_channel_proxy.cc:282
#26 0xad1c7f9e in Run (this=0xbeeefde0) at ../../../../third_party/chromium/src/base/callback.h:396
#27 base::debug::TaskAnnotator::RunTask (this=this@entry=0xb734ee68,
queue_function=0xaef8f3a4 "MessageLoop::PostTask", run_function=0xaef8f3c8 "MessageLoop::RunTask",
pending_task=...) at ../../../../third_party/chromium/src/base/debug/task_annotator.cc:63
#28 0xad1df804 in base::MessageLoop::RunTask (this=this@entry=0xb734edb0, pending_task=...)
at ../../../../third_party/chromium/src/base/message_loop/message_loop.cc:445
#29 0xad1df9a6 in base::MessageLoop::DeferOrRunPendingTask (this=this@entry=0xb734edb0, pending_task=...)
at ../../../../third_party/chromium/src/base/message_loop/message_loop.cc:454
#30 0xad1dfc6c in base::MessageLoop::DoWork (this=0xb734edb0)
at ../../../../third_party/chromium/src/base/message_loop/message_loop.cc:566
#31 0xad1818b0 in oxide::qt::MessagePump::customEvent (this=0xb78fcd00, event=<optimized out>)
at ../../../../qt/core/browser/oxide_qt_message_pump.cc:60
#32 0xb6d866da in QObject::event(QEvent*) () from /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5
#33 0xb6397ef4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
from /usr/lib/arm-linux-gnueabihf/libQt5Widgets.so.5
#34 0xb639bde4 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/arm-linux-gnueabihf/libQt5Widgets.so.5
I can’t reproduce it myself with the steps listed above, and I would venture this is a different issue than the one being addressed here, so I don’t think this should prevent publication of oxide 1.7.4. Of course we need to look closely at this new crash and fix it.
This is the stacktrace extracted from Víctor’s crash file:
#0 size (this=0x14, this=0x14) at /usr/include/ c++/4.9/ bits/stl_ vector. h:655 ./../shared/ browser/ oxide_web_ frame.cc: 182 WebFrame: :WillDestroy (this=this@ entry=0x0) at ../../. ./../shared/ browser/ oxide_web_ frame.cc: 52 WebFrame: :Destroy (frame=0x0) at ../../. ./../shared/ browser/ oxide_web_ frame.cc: 157 :WebContentsImp l::OnFrameRemov ed (this=<optimized out>, render_ frame_host= 0xb791c3d8) ./../third_ party/chromium/ src/content/ browser/ web_contents/ web_contents_ impl.cc: 4504 @0xbeeeeedc: 0xb791c3d8, this=<optimized out>) ./../third_ party/chromium/ src/base/ callback. h:396 :FrameTree: :FrameRemoved (this=<optimized out>, frame=frame@ entry=0xb7a1121 8) ./../third_ party/chromium/ src/content/ browser/ frame_host/ frame_tree. cc:347 :FrameTreeNode: :~FrameTreeNode (this=this@ entry=0xb7a1121 8, __in_chrg= <optimized out>) ./../third_ party/chromium/ src/content/ browser/ frame_host/ frame_tree_ node.cc: 71 nerPointers< __gnu_cxx: :__normal_ iterator< content: :FrameTreeNode* *, std::vector< content: :FrameTreeNode* , std::allocator< content: :FrameTreeNode* > > > > (end=..., begin=) ./../third_ party/chromium/ src/base/ stl_util. h:44 ts<std: :vector< content: :FrameTreeNode* , std::allocator< content: :FrameTreeNode* > > > ( container@ entry=0xb78fd5a 4) at ../../. ./../third_ party/chromium/ src/base/ stl_util. h:148 ./../third_ party/chromium/ src/base/ memory/ scoped_ vector. h:99 <optimized out>) ./../third_ party/chromium/ src/base/ memory/ scoped_ vector. h:38 :FrameTreeNode: :~FrameTreeNode (this=this@ entry=0xb78fd51 0, __in_chrg= <optimized out>) ./../third_ party/chromium/ src/content/ browser/ frame_host/ frame_tree_ node.cc: 70 nerPointers< __gnu_cxx: :__normal_ iterator< content: :FrameTreeNode* *, std::vector< content: :FrameTreeNode* , std::allocator< content: :FrameTreeNode* > > > > (end=..., begin=) ./../third_ party/chromium/ src/base/ stl_util. h:44 ts<std: :vector< content: :FrameTreeNode* , std::allocator< content: :FrameTreeNode* > > > ( container@ entry=0xbeeef07 8) at ../../. ./../third_ party/chromium/ src/base/ stl_util. h:148 ./../third_ party/chromium/ src/base/ memory/ scoped_ vector. h:99 :FrameTreeNode: :ResetForNewPro cess (this=<optimized out>) ./../third_ party/chromium/ src/content/ browser/ frame_host/ frame_tree_ node.cc: 134 :FrameTree: :ResetForMainFr ameSwap (this=0xb795d898) ./../third_ party/chromium/ src/content/ browser/ frame_host/ frame_tree. cc:217 :RenderViewHost Impl::AttachToF rameTree (this=<optimized out>) ./../third_ party/chromium/ src/content/ browser/ renderer_ host/render_ view_host_ impl.cc: 1386 :RenderFrameHos tManager: :CommitPending (this=0xb795e0c8) ./../third_ party/chromium/ src/content/ browser/ frame_host/ render_ frame_host_ manager. cc:1685 :RenderFrameHos tManager: :DidNavigateFra me (this=0xb795e0c8, frame_host= <optimized out>, was_caused_ by_user_ gesture= <optimized out>) ./../third_ party/chromium/ src/content/ browser/ frame_host/ render_ frame_host_ manager. cc:448 :NavigatorImpl: :DidNavigate (this=0xb795d2e8, render_ frame_host= 0xb76127d0, input_params=...) ./../third_ party/chromium/ src/content/ browser/ frame_host/ navigator_ impl.cc: 404 :RenderFrameHos tImpl:: OnDidCommitProv isionalLoad (this=this@ entry=0xb76127d 0, msg=...) ./../third_ party/chromium/ src/content/ browser/ frame_host/ render_ frame_host_ impl.cc: 839 :RenderFrameHos tImpl:: OnMessageReceiv ed (this=0xb76127d0, msg=...) ./../third_ party/chromium/ src/content/ browser/ frame_host/ render_ frame_host_ impl.cc: 348 :RenderProcessH ostImpl: :OnMessageRecei ved (this=0xb77d4750, msg=...) ./../third_ party/chromium/ src/content/ browser/ renderer_ host/render_ process_ host_impl. cc:1543 xy::Context: :OnDispatchMess age (this=0xb7a64b80, message=...) ./../third_ party/chromium/ src/ipc/ ipc_channel_ proxy.cc: 282 ./../third_ party/chromium/ src/base/ callback. h:396 :TaskAnnotator: :RunTask (this=this@ entry=0xb734ee6 8, function= 0xaef8f3a4 "MessageLoop: :PostTask" , run_function= 0xaef8f3c8 "MessageLoop: :RunTask" , task=.. .) at ../../. ./../third_ party/chromium/ src/base/ debug/task_ annotator. cc:63 op::RunTask (this=this@ entry=0xb734edb 0, pending_task=...) ./../third_ party/chromium/ src/base/ message_ loop/message_ loop.cc: 445 op::DeferOrRunP endingTask (this=this@ entry=0xb734edb 0, pending_task=...) ./../third_ party/chromium/ src/base/ message_ loop/message_ loop.cc: 454 op::DoWork (this=0xb734edb0) ./../third_ party/chromium/ src/base/ message_ loop/message_ loop.cc: 566 qt::MessagePump ::customEvent (this=0xb78fcd00, event=<optimized out>) ./../qt/ core/browser/ oxide_qt_ message_ pump.cc: 60 :event( QEvent* ) () from /usr/lib/ arm-linux- gnueabihf/ libQt5Core. so.5 vate::notify_ helper( QObject* , QEvent*) () arm-linux- gnueabihf/ libQt5Widgets. so.5 :notify( QObject* , QEvent*) () from /usr/lib/ arm-linux- gnueabihf/ libQt5Widgets. so.5
#1 GetChildCount (this=0x0) at ../../.
#2 oxide::
#3 0xad1aa7a4 in oxide::
#4 0xad404114 in content:
at ../../.
#5 0xad2ad954 in Run (args#0=
at ../../.
#6 content:
at ../../.
#7 0xad2ae5b2 in content:
at ../../.
#8 0xad2ae84a in STLDeleteContai
at ../../.
#9 STLDeleteElemen
container=
#10 0xad2ae66a in clear (this=0xb78fd5a4) at ../../.
#11 ~ScopedVector (this=0xb78fd5a4, __in_chrg=
at ../../.
#12 content:
at ../../.
#13 0xad2ae84a in STLDeleteContai
at ../../.
#14 STLDeleteElemen
container=
#15 0xad2ae8d6 in clear (this=0xbeeef078) at ../../.
#16 content:
at ../../.
#17 0xad2ad0d2 in content:
at ../../.
#18 0xad3905ae in content:
at ../../.
---Type <return> to continue, or q <return> to quit---
#19 0xad2c1434 in content:
at ../../.
#20 0xad2c15c4 in content:
render_
at ../../.
#21 0xad2b67bc in content:
at ../../.
#22 0xad2ba67c in content:
at ../../.
#23 0xad2bef8c in content:
at ../../.
#24 0xad38a3f0 in content:
at ../../.
#25 0xad9d72fe in IPC::ChannelPro
at ../../.
#26 0xad1c7f9e in Run (this=0xbeeefde0) at ../../.
#27 base::debug:
queue_
pending_
#28 0xad1df804 in base::MessageLo
at ../../.
#29 0xad1df9a6 in base::MessageLo
at ../../.
#30 0xad1dfc6c in base::MessageLo
at ../../.
#31 0xad1818b0 in oxide::
at ../../.
#32 0xb6d866da in QObject:
#33 0xb6397ef4 in QApplicationPri
from /usr/lib/
#34 0xb639bde4 in QApplication:
I can’t reproduce it myself with the steps listed above, and I would venture this is a different issue than the one being addressed here, so I don’t think this should prevent publication of oxide 1.7.4. Of course we need to look closely at this new crash and fix it.