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

Bug #1455214 reported by Chris Coulson on 2015-05-14
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Oxide
Undecided
Unassigned
1.7
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  Edit
Everyone can see this information.

Other bug subscribers