Crash when deleting WebView's due to the fix for bug 1449660

Bug #1455214 reported by Chris Coulson
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Oxide
Invalid
Undecided
Unassigned
1.7
Fix Released
Critical
Alexandre Abreu

Bug Description

Deleting a WebView in 1.7 causes a crash every time, which makes every test fail. Here's a stacktrace from the browser:

Program received signal SIGSEGV, Segmentation fault.
0x00007fffbf677929 in oxide::WebContentsUnloader::Unload (this=0x55555890bae0, contents=...) at ../../../../shared/browser/oxide_web_contents_unloader.cc:90
90 contents->SetDelegate(this);
(gdb) bt
#0 0x00007fffbf677929 in oxide::WebContentsUnloader::Unload(scoped_ptr<content::WebContents, base::DefaultDeleter<content::WebContents> >) (this=0x55555890bae0, contents=...)
    at ../../../../shared/browser/oxide_web_contents_unloader.cc:90
#1 0x00007fffbf67c768 in oxide::WebView::WebContentsDeleter::operator()(content::WebContents*) (this=this@entry=0x5555585e25a0, contents=<optimised out>)
    at ../../../../shared/browser/oxide_web_view.cc:221
#2 0x00007fffbf681e3f in oxide::WebView::~WebView() (this=0x5555585e25a0, __in_chrg=<optimised out>) at ../../../../third_party/chromium/src/base/memory/scoped_ptr.h:222
#3 0x00007fffbf681e3f in oxide::WebView::~WebView() (this=0x5555585e25a0, __in_chrg=<optimised out>) at ../../../../third_party/chromium/src/base/memory/scoped_ptr.h:312
#4 0x00007fffbf681e3f in oxide::WebView::~WebView() (this=0x5555585e24f0, __in_chrg=<optimised out>) at ../../../../shared/browser/oxide_web_view.cc:1241
#5 0x00007fffbf64bdab in oxide::qt::WebView::~WebView() (this=0x5555585e24e0, __in_chrg=<optimised out>) at ../../../../qt/core/browser/oxide_qt_web_view.cc:1483
#6 0x00007fffbf64beb9 in oxide::qt::WebView::~WebView() (this=0x5555585e24e0, __in_chrg=<optimised out>) at ../../../../qt/core/browser/oxide_qt_web_view.cc:1488
#7 0x00007fffd80dae16 in OxideQQuickWebView::~OxideQQuickWebView() (this=0x555558748ec0, __in_chrg=<optimised out>) at /home/chr1s/src/oxide/1.7/qt/quick/api/oxideqquickwebview.cc:828
#8 0x00007fffd80dae16 in OxideQQuickWebView::~OxideQQuickWebView() (pointer=0x555558748ec0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:54
#9 0x00007fffd80dae16 in OxideQQuickWebView::~OxideQQuickWebView() (this=0x55555817bc90, __in_chrg=<optimised out>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:101
#10 0x00007fffd80dae16 in OxideQQuickWebView::~OxideQQuickWebView() (this=0x55555817bc70, __in_chrg=<optimised out>) at /home/chr1s/src/oxide/1.7/qt/quick/api/oxideqquickwebview.cc:1087
#11 0x00007fffd8116919 in QQmlPrivate::QQmlElement<OxideQQuickWebView>::~QQmlElement() (this=0x55555817bc70, __in_chrg=<optimised out>)
    at /usr/include/x86_64-linux-gnu/qt5/QtQml/qqmlprivate.h:98
#12 0x00007fffd8116919 in QQmlPrivate::QQmlElement<OxideQQuickWebView>::~QQmlElement() (this=0x55555817bc70, __in_chrg=<optimised out>)
    at /usr/include/x86_64-linux-gnu/qt5/QtQml/qqmlprivate.h:98
#13 0x00007ffff7ba718c in QObjectPrivate::deleteChildren() (this=this@entry=0x555558088800) at kernel/qobject.cpp:1950
#14 0x00007ffff7bb17f3 in QObject::~QObject() (this=<optimised out>, __in_chrg=<optimised out>) at kernel/qobject.cpp:1030
#15 0x00007ffff720b866 in QQuickItem::~QQuickItem() (this=0x5555580ae540, __in_chrg=<optimised out>) at items/qquickitem.cpp:2225
#16 0x00007ffff7225206 in QQmlPrivate::QQmlElement<QQuickFocusScope>::~QQmlElement() (this=0x5555580ae540, __in_chrg=<optimised out>)
    at ../../include/QtQml/../../src/qml/qml/qqmlprivate.h:98
#17 0x00007ffff7225206 in QQmlPrivate::QQmlElement<QQuickFocusScope>::~QQmlElement() (this=0x5555580ae540, __in_chrg=<optimised out>)
    at ../../include/QtQml/../../src/qml/qml/qqmlprivate.h:98
#18 0x00007ffff7ba718c in QObjectPrivate::deleteChildren() (this=this@entry=0x5555563e12c0) at kernel/qobject.cpp:1950
#19 0x00007ffff7bb17f3 in QObject::~QObject() (this=<optimised out>, __in_chrg=<optimised out>) at kernel/qobject.cpp:1030
#20 0x00007ffff720b866 in QQuickItem::~QQuickItem() (this=0x5555580a5af0, __in_chrg=<optimised out>) at items/qquickitem.cpp:2225
#21 0x00007ffff7225206 in QQmlPrivate::QQmlElement<QQuickFocusScope>::~QQmlElement() (this=0x5555580a5af0, __in_chrg=<optimised out>)
    at ../../include/QtQml/../../src/qml/qml/qqmlprivate.h:98
#22 0x00007ffff7225206 in QQmlPrivate::QQmlElement<QQuickFocusScope>::~QQmlElement() (this=0x5555580a5af0, __in_chrg=<optimised out>)
    at ../../include/QtQml/../../src/qml/qml/qqmlprivate.h:98
#23 0x00007ffff7ba718c in QObjectPrivate::deleteChildren() (this=this@entry=0x555556473570) at kernel/qobject.cpp:1950
#24 0x00007ffff7bb17f3 in QObject::~QObject() (this=<optimised out>, __in_chrg=<optimised out>) at kernel/qobject.cpp:1030
#25 0x00007ffff720b866 in QQuickItem::~QQuickItem() (this=0x555556470460, __in_chrg=<optimised out>) at items/qquickitem.cpp:2225
#26 0x00007ffff7225206 in QQmlPrivate::QQmlElement<QQuickFocusScope>::~QQmlElement() (this=0x555556470460, __in_chrg=<optimised out>)
    at ../../include/QtQml/../../src/qml/qml/qqmlprivate.h:98
#27 0x00007ffff7225206 in QQmlPrivate::QQmlElement<QQuickFocusScope>::~QQmlElement() (this=0x555556470460, __in_chrg=<optimised out>)
    at ../../include/QtQml/../../src/qml/qml/qqmlprivate.h:98
#28 0x00007ffff7ba718c in QObjectPrivate::deleteChildren() (this=this@entry=0x55555644e210) at kernel/qobject.cpp:1950
#29 0x00007ffff7bb17f3 in QObject::~QObject() (this=<optimised out>, __in_chrg=<optimised out>) at kernel/qobject.cpp:1030
#30 0x00007ffff720b866 in QQuickItem::~QQuickItem() (this=0x55555644c9c0, __in_chrg=<optimised out>) at items/qquickitem.cpp:2225
#31 0x00007ffff72257c6 in QQmlPrivate::QQmlElement<QQuickItem>::~QQmlElement() (this=0x55555644c9c0, __in_chrg=<optimised out>) at ../../include/QtQml/../../src/qml/qml/qqmlprivate.h:98
#32 0x00007ffff72257c6 in QQmlPrivate::QQmlElement<QQuickItem>::~QQmlElement() (this=0x55555644c9c0, __in_chrg=<optimised out>) at ../../include/QtQml/../../src/qml/qml/qqmlprivate.h:98
#33 0x00007ffff7ba718c in QObjectPrivate::deleteChildren() (this=this@entry=0x5555563ddca0) at kernel/qobject.cpp:1950
#34 0x00007ffff7bb17f3 in QObject::~QObject() (this=<optimised out>, __in_chrg=<optimised out>) at kernel/qobject.cpp:1030
#35 0x00007ffff720b866 in QQuickItem::~QQuickItem() (this=0x5555563ddc70, __in_chrg=<optimised out>) at items/qquickitem.cpp:2225
#36 0x00007ffff72257c6 in QQmlPrivate::QQmlElement<QQuickItem>::~QQmlElement() (this=0x5555563ddc70, __in_chrg=<optimised out>) at ../../include/QtQml/../../src/qml/qml/qqmlprivate.h:98
#37 0x00007ffff72257c6 in QQmlPrivate::QQmlElement<QQuickItem>::~QQmlElement() (this=0x5555563ddc70, __in_chrg=<optimised out>) at ../../include/QtQml/../../src/qml/qml/qqmlprivate.h:98
#38 0x00007ffff7ba718c in QObjectPrivate::deleteChildren() (this=this@entry=0x5555563d6710) at kernel/qobject.cpp:1950
#39 0x00007ffff7bb17f3 in QObject::~QObject() (this=<optimised out>, __in_chrg=<optimised out>) at kernel/qobject.cpp:1030
#40 0x00007ffff7217409 in QQuickWindow::~QQuickWindow() (this=0x555556400c70, __in_chrg=<optimised out>) at items/qquickwindow.cpp:1100
#41 0x00007ffff72f9be3 in QQmlPrivate::QQmlElement<QQuickWindowQmlImpl>::~QQmlElement() (this=0x555556400c70, __in_chrg=<optimised out>) at items/qquickwindowmodule.cpp:48
#42 0x00007ffff72f9be3 in QQmlPrivate::QQmlElement<QQuickWindowQmlImpl>::~QQmlElement() (this=0x555556400c70, __in_chrg=<optimised out>)
#43 0x00007ffff72f9be3 in QQmlPrivate::QQmlElement<QQuickWindowQmlImpl>::~QQmlElement() (this=0x555556400c70, __in_chrg=<optimised out>)
    at ../../include/QtQml/../../src/qml/qml/qqmlprivate.h:98
#44 0x00005555555908f1 in BrowserApplication::~BrowserApplication() ()
#45 0x00005555555864db in main ()

Related branches

Changed in oxide:
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.