Bug 997171 - akgregator aborts on article view with nouveau backtrace
akgregator aborts on article view with nouveau backtrace
Status: RESOLVED FIXED
: 997180 1003402 1004860 1005245 (view as bug list)
Classification: openSUSE
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: X.Org
Current
Other Other
: P3 - Medium : Critical with 1 vote (vote)
: ---
Assigned To: Max Staudt
E-mail List
:
Depends on: 1005323
Blocks:
  Show dependency treegraph
 
Reported: 2016-09-03 09:08 UTC by Marcus Meissner
Modified: 2016-11-22 15:09 UTC (History)
8 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Marcus Meissner 2016-09-03 09:08:51 UTC
after tghe recent tumbleweed upgrade akgreator via libqt5 via mesa / nouveau aborts pretty much immediately.

backtrace:

bt
#0  0x00007ffff3942975 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#1  0x00007ffff3943d8a in __GI_abort () at abort.c:78
#2  0x00007ffff393b887 in __assert_fail_base (fmt=<optimized out>, assertion=assertion@entry=0x7fffc7dfcceb "kref", file=file@entry=0x7fffc7dfccda "pushbuf.c", line=line@entry=727, function=function@entry=0x7fffc7dfcd10 "nouveau_pushbuf_data") at assert.c:92
#3  0x00007ffff393b932 in __GI___assert_fail (assertion=0x7fffc7dfcceb "kref", file=0x7fffc7dfccda "pushbuf.c", line=727, function=0x7fffc7dfcd10 "nouveau_pushbuf_data") at assert.c:101
#4  0x00007fffc7dfb0df in  () at /usr/lib64/libdrm_nouveau.so.2
#5  0x00007fffc7dfb035 in nouveau_pushbuf_data () at /usr/lib64/libdrm_nouveau.so.2
#6  0x00007fffc7dfb16b in  () at /usr/lib64/libdrm_nouveau.so.2
#7  0x00007fffc7dfb3ff in  () at /usr/lib64/libdrm_nouveau.so.2
#8  0x00007fffc7dfbfb0 in nouveau_pushbuf_kick () at /usr/lib64/libdrm_nouveau.so.2
#9  0x00007fffcc5cea16 in nvc0_flush (push=<optimized out>) at ./nouveau_winsys.h:59
#10 0x00007fffcc5cea16 in nvc0_flush (pipe=0x1837e00, fence=<optimized out>, flags=<optimized out>) at nvc0/nvc0_context.c:41
#11 0x00007fffcc2a185a in st_context_flush (stctxi=0x1872840, flags=3, fence=<optimized out>) at state_tracker/st_manager.c:506
#12 0x00007fffcc3a606a in dri_flush (cPriv=<optimized out>, dPriv=<optimized out>, flags=<optimized out>, reason=<optimized out>) at dri_drawable.c:532
#13 0x00007fffeba60ebc in  () at /usr/lib64/libGL.so.1
#14 0x00007fffcd6a22b2 in  () at /usr/lib64/qt5/plugins/xcbglintegrations/libqxcb-glx-integration.so
#15 0x00007ffff4a6dd96 in QOpenGLContext::swapBuffers(QSurface*) () at /usr/lib64/libQt5Gui.so.5
#16 0x00007ffff4cf405c in QPlatformBackingStore::composeAndFlush(QWindow*, QRegion const&, QPoint const&, QPlatformTextureList*, QOpenGLContext*, bool) () at /usr/lib64/libQt5Gui.so.5
#17 0x00007fffcffda087 in  () at /usr/lib64/libQt5XcbQpa.so.5
#18 0x00007ffff54b77f8 in QWidgetBackingStore::qt_flush(QWidget*, QRegion const&, QBackingStore*, QWidget*, QPoint const&, QPlatformTextureList*, QWidgetBackingStore*) (widget=0x7bbed0, region=..., backingStore=<optimized out>, tlw=<optimized out>, tlwOffset=..., widgetTextures=0x18f9c10, widgetBackingStore=0xa410e0) at kernel/qwidgetbackingstore.cpp:116
#19 0x00007ffff54b85ee in QWidgetBackingStore::flush(QWidget*) (this=this@entry=0xa410e0, widget=widget@entry=0x0) at kernel/qwidgetbackingstore.cpp:1375
#20 0x00007ffff54bae4a in QWidgetBackingStore::doSync() (beginPaintInfo=<synthetic pointer>, backingStore=<optimized out>, cleaned=..., this=0xa410e0) at kernel/qwidgetbackingstore.cpp:337
#21 0x00007ffff54bae4a in QWidgetBackingStore::doSync() (this=this@entry=0xa410e0) at kernel/qwidgetbackingstore.cpp:1359
#22 0x00007ffff54bb009 in QWidgetBackingStore::sync() (this=0xa410e0) at kernel/qwidgetbackingstore.cpp:1145
#23 0x00007ffff54da97f in QWidgetPrivate::syncBackingStore() (this=0x7c06a0) at kernel/qwidget.cpp:1942
#24 0x00007ffff54f2698 in QWidget::event(QEvent*) (this=this@entry=0x7bbed0, event=event@entry=0x1e54560) at kernel/qwidget.cpp:9053
#25 0x00007ffff560bbcb in QMainWindow::event(QEvent*) (this=0x7bbed0, event=0x1e54560) at widgets/qmainwindow.cpp:1543
#26 0x00007ffff6942787 in KMainWindow::event(QEvent*) () at /usr/lib64/libKF5XmlGui.so.5
#27 0x00007ffff69876a5 in KXmlGuiWindow::event(QEvent*) () at /usr/lib64/libKF5XmlGui.so.5
#28 0x00007ffff54acaec in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x7bbed0, e=0x1e54560) at kernel/qapplication.cpp:3804
#29 0x00007ffff54b1f8f in QApplication::notify(QObject*, QEvent*) (this=0x7fffffffdde0, receiver=0x7bbed0, e=0x1e54560) at kernel/qapplication.cpp:3561
#30 0x00007ffff44daa20 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5
#31 0x00007ffff44dc99c in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib64/libQt5Core.so.5
#32 0x00007ffff45306c3 in  () at /usr/lib64/libQt5Core.so.5
#33 0x00007fffec604e37 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#34 0x00007fffec6050a0 in  () at /usr/lib64/libglib-2.0.so.0
#35 0x00007fffec60514c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#36 0x00007ffff4530acf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#37 0x00007ffff44d876a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#38 0x00007ffff44e0f6c in QCoreApplication::exec() () at /usr/lib64/libQt5Core.so.5
#39 0x0000000000409176 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kdepim-16.08.0/akregator/src/main.cpp:120
Comment 1 Marcus Meissner 2016-09-03 09:10:04 UTC
(although only akregator is installed on september 2, mesa and libqt5 are older)
Comment 2 Wolfgang Bauer 2016-09-03 15:42:24 UTC
*** Bug 997180 has been marked as a duplicate of this bug. ***
Comment 3 Wolfgang Bauer 2016-09-05 22:39:41 UTC
Doesn't seem to be a new problem really:
https://bugreports.qt.io/browse/QTBUG-41242
https://bugs.freedesktop.org/show_bug.cgi?id=91632

(KDEPIM uses QtWebEngine since the latest update to 16.08)
Comment 4 Yasha Gindikin 2016-09-07 05:45:17 UTC
Apparently, the support for multi-threading is still lacking in several graphic drivers. The question is then, if the technology is not there yet, what can be done for compatibility with existing drivers?

They report that if Qt is compiled with OpenGL ES instead of OpenGL desktop, QtWebEngine works fine on nouveau, though WebGL seems to be disabled.

Is it reasonable then to ship the Qt compiled with OpenGL ES?
Comment 5 Fabian Vogt 2016-09-28 14:24:33 UTC
(In reply to Yasha Gindikin from comment #4)
> Apparently, the support for multi-threading is still lacking in several
> graphic drivers. The question is then, if the technology is not there yet,
> what can be done for compatibility with existing drivers?
> 
> They report that if Qt is compiled with OpenGL ES instead of OpenGL desktop,
> QtWebEngine works fine on nouveau, though WebGL seems to be disabled.
> 
> Is it reasonable then to ship the Qt compiled with OpenGL ES?

IMO it would be much easier to integrate most fixes from https://github.com/imirkin/mesa/commits/locking into our mesa.
Comment 6 Wolfgang Bauer 2016-09-28 14:41:09 UTC
(In reply to Fabian Vogt from comment #5)
> IMO it would be much easier to integrate most fixes from
> https://github.com/imirkin/mesa/commits/locking into our mesa.

I agree, though I have no idea of the state of those patches.

This being a problem with "several graphics drivers" seems a bit overaggerated to me anyway, I am only aware of actual problems with nouveau so far.
And I'm using it myself on a radeon and an intel system (both being older though) without problems.

Building Qt with GLES would affect everybody though.

The WebGL issue probably shouldn't matter for kdepim, but there are dedicated web browsers using QtWebEngine (qupzilla e.g.).

And I'm not sure all graphics drivers support GLES properly already either.

So it may also affect other Qt applications, kwin and Plasma e.g. (which do make use of OpenGL) but also YaST, in a negative way (just saying, I don't know whether there actually may be any problems).
Comment 7 Fabian Vogt 2016-09-28 14:58:42 UTC
As the patches should not cause any major issues (except maybe a small performance hit) and the affected applications are installed by default, they should be included into 42.2 and probably TW as well.
Reassigning to nouveau maintainer.
Comment 8 Ian Powell 2016-09-29 10:51:16 UTC
This could be the cause of kmail 5.3.0 only being able to stay alive for seconds to a few minutes.
Comment 9 Egbert Eich 2016-10-04 05:40:33 UTC
Reassigning back to xorg-maintainer. Please do *not* assign to individuals.
Comment 11 Max Staudt 2016-10-06 10:06:44 UTC
Backported the suggested patches to Leap 42.2:

https://build.opensuse.org/request/show/433556

Closing as FIXED.
Comment 12 Bernhard Wiedemann 2016-10-14 12:00:46 UTC
This is an autogenerated message for OBS integration:
This bug (997171) was mentioned in
https://build.opensuse.org/request/show/435101 Factory / Mesa
Comment 13 Bernhard Wiedemann 2016-10-14 14:00:50 UTC
This is an autogenerated message for OBS integration:
This bug (997171) was mentioned in
https://build.opensuse.org/request/show/435122 42.2 / Mesa
Comment 14 Wolfgang Bauer 2016-10-17 08:53:41 UTC
*** Bug 1004860 has been marked as a duplicate of this bug. ***
Comment 15 Bernhard Wiedemann 2016-10-17 14:01:26 UTC
This is an autogenerated message for OBS integration:
This bug (997171) was mentioned in
https://build.opensuse.org/request/show/435753 Factory / Mesa
https://build.opensuse.org/request/show/435754 42.2 / Mesa
Comment 16 Bernhard Wiedemann 2016-10-17 16:00:50 UTC
This is an autogenerated message for OBS integration:
This bug (997171) was mentioned in
https://build.opensuse.org/request/show/435767 Factory / Mesa
https://build.opensuse.org/request/show/435769 42.2 / Mesa
Comment 17 Stefan Dirsch 2016-10-18 09:33:42 UTC
*** Bug 1005245 has been marked as a duplicate of this bug. ***
Comment 18 Max Staudt 2016-10-20 08:36:24 UTC
As it turns out, the locking patches are not to be included in Leap 42.2. A discussion for a solution is being held in boo#1005323.
Comment 19 Max Staudt 2016-10-20 08:37:18 UTC
*** Bug 1003402 has been marked as a duplicate of this bug. ***
Comment 20 Bernhard Wiedemann 2016-10-24 16:02:11 UTC
This is an autogenerated message for OBS integration:
This bug (997171) was mentioned in
https://build.opensuse.org/request/show/437177 42.2 / Mesa
https://build.opensuse.org/request/show/437179 42.2 / Mesa
Comment 21 Bernhard Wiedemann 2016-10-25 12:01:33 UTC
This is an autogenerated message for OBS integration:
This bug (997171) was mentioned in
https://build.opensuse.org/request/show/437257 Factory / Mesa
Comment 23 Antonio Larrosa 2016-10-27 14:34:54 UTC
Just for the record, I submitted [1] a couple of days ago a patch for libqt5-qtwebengine that detects if nouveau opengl drivers are being used and disables the gpu usage so it's only used by the Qt thread, thus fixing the crashes for the webengine related applications like akregator and kontact/kmail in case anyone installs them and tries to use them. The patch also adds support for two environment variables: QT_WEBENGINE_DISABLE_GPU to force the disabling of the gpu 
and QT_WEBENGINE_DISABLE_NOUVEAU_WORKAROUND to disable the detection
of nouveau, just in case someone wants to try with newer nouveau releases.

[1] To SLE12-SP2, KDE:Qt5, KDE:Qt56, KDE:Qt57 and upstream (at QTBUG-41242 ).
Comment 24 Swamp Workflow Management 2016-11-09 14:08:07 UTC
SUSE-RU-2016:2754-1: An update that has two recommended fixes can now be installed.

Category: recommended (moderate)
Bug References: 1005323,997171
CVE References: 
Sources used:
SUSE Linux Enterprise Software Development Kit 12-SP2 (src):    libqt5-qtwebengine-5.6.1-9.1
SUSE Linux Enterprise Server 12-SP2 (src):    libqt5-qtwebengine-5.6.1-9.1
SUSE Linux Enterprise Desktop 12-SP2 (src):    libqt5-qtwebengine-5.6.1-9.1
Comment 25 Swamp Workflow Management 2016-11-18 00:08:07 UTC
openSUSE-RU-2016:2851-1: An update that has two recommended fixes can now be installed.

Category: recommended (moderate)
Bug References: 1005323,997171
CVE References: 
Sources used:
openSUSE Leap 42.2 (src):    libqt5-qtwebengine-5.6.1-4.2