← Back to team overview

ubuntu-webapps-bugs team mailing list archive

[Bug 1455214] [NEW] Crash when deleting WebView's due to the fix for bug 1449660

 

Public bug reported:

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 ()

** Affects: oxide
     Importance: Undecided
         Status: Invalid

** Affects: oxide/1.7
     Importance: Critical
     Assignee: Alexandre Abreu (abreu-alexandre)
         Status: Triaged

** Also affects: oxide/1.7
   Importance: Undecided
       Status: New

** Changed in: oxide
       Status: New => Invalid

** Changed in: oxide/1.7
       Status: New => Triaged

** Changed in: oxide/1.7
   Importance: Undecided => Critical

** Changed in: oxide/1.7
     Assignee: (unassigned) => Alexandre Abreu (abreu-alexandre)

-- 
You received this bug notification because you are a member of Ubuntu
WebApps bug tracking, which is subscribed to Oxide.
https://bugs.launchpad.net/bugs/1455214

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

Status in Oxide Webview:
  Invalid
Status in Oxide 1.7 series:
  Triaged

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 ()

To manage notifications about this bug go to:
https://bugs.launchpad.net/oxide/+bug/1455214/+subscriptions


Follow ups

References