Bug 381955 - kmail hangs or causes desktop to hang when used with Nouveau graphics driver
Summary: kmail hangs or causes desktop to hang when used with Nouveau graphics driver
Status: RESOLVED UPSTREAM
Alias: None
Product: kmail2
Classification: Applications
Component: message list (show other bugs)
Version: 5.5.2
Platform: Fedora RPMs Linux
: NOR critical
Target Milestone: ---
Assignee: kdepim bugs
URL: https://bugs.freedesktop.org/show_bug...
Keywords:
Depends on:
Blocks:
 
Reported: 2017-07-03 13:47 UTC by Nick
Modified: 2018-10-02 13:43 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
syslog output when kmail 5.5.2 causes kmail/desktop to hang (1.66 MB, image/jpeg)
2017-07-03 13:54 UTC, Nick
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Nick 2017-07-03 13:47:43 UTC
System Config, KDE Neon LTS 5.8.7, Nouveau driver. Nvidia GeForce GTX570M, kmail 5.5.2.

Kmail will become unresponsive when attempting to scroll or click left on an email. Sometimes just the controls/buttons in kmail will be unreponsive but sometimes the whole desktop will become unreponsive and freeze, requiring a ALT-SYSRq RSEIUB command to reboot system, ALT-F1 not working. If instead I use the Nvidia 375 driver the problem disappears, so this problem seems to be related to the use of the Nouveau driver. syslog reports the following errors..


Jul  2 23:02:30 nick-X681X kernel: [12787.488155] nouveau 0000:01:00.0: kmail[8229]: Unknown handle 0x0000002c
Jul  2 23:02:30 nick-X681X kernel: [12787.488159] nouveau 0000:01:00.0: kmail[8229]: validate_init
Jul  2 23:02:30 nick-X681X kernel: [12787.488161] nouveau 0000:01:00.0: kmail[8229]: validate: -2
Jul  2 23:02:33 nick-X681X kernel: [12790.327435] nouveau 0000:01:00.0: gr: TRAP ch 17 [005f1f4000 kmail[8229]]
Jul  2 23:02:33 nick-X681X kernel: [12790.327448] nouveau 0000:01:00.0: gr: GPC0/TPC0/TEX: 80000041
Jul  2 23:02:33 nick-X681X kernel: [12790.327456] nouveau 0000:01:00.0: gr: GPC0/TPC1/TEX: 80000041
Jul  2 23:02:33 nick-X681X kernel: [12790.327464] nouveau 0000:01:00.0: gr: GPC0/TPC2/TEX: 80000041
Jul  2 23:02:33 nick-X681X kernel: [12790.327472] nouveau 0000:01:00.0: gr: GPC0/TPC3/TEX: 80000041
Jul  2 23:02:33 nick-X681X kernel: [12790.327481] nouveau 0000:01:00.0: gr: GPC1/TPC0/TEX: 80000041
Jul  2 23:02:33 nick-X681X kernel: [12790.327489] nouveau 0000:01:00.0: gr: GPC1/TPC1/TEX: 80000041
Jul  2 23:02:33 nick-X681X kernel: [12790.327498] nouveau 0000:01:00.0: gr: GPC1/TPC2/TEX: 80000041
Jul  2 23:02:33 nick-X681X kernel: [12790.327513] nouveau 0000:01:00.0: fifo: read fault at 0002a0a000 engine 00 [PGRAPH] client 01 [GPC1/TEX] reason 02 [PAGE_NOT_PRESENT] on channel 17 [005f1f4000 kmail[8229]]
Jul  2 23:02:33 nick-X681X kernel: [12790.327516] nouveau 0000:01:00.0: fifo: gr engine fault on channel 17, recovering...
Jul  2 23:03:33 nick-X681X kernel: [12850.755747] nouveau 0000:01:00.0: kmail[8229]: failed to idle channel 17 [kmail[8229]]
Jul  2 23:03:48 nick-X681X kernel: [12865.757800] nouveau 0000:01:00.0: kmail[8229]: failed to idle channel 17 [kmail[8229]]

It also generates a second different error on some occasions ie a FIFO read fault at 0001afa00 engine 00 [PGRAPH] client 01 [GPC1/TEX] reason 02 [Page not present] on channel 5.

This error tends to hang the entire desktop, hence why I have attached a photo of the tail -f /var/log/syslog output.
Comment 1 Nick 2017-07-03 13:54:56 UTC
Created attachment 106431 [details]
syslog output when kmail 5.5.2 causes kmail/desktop to hang
Comment 2 Benoît Vézina 2017-10-18 11:36:29 UTC
Same kind of issue here, kmail unusable with nouveau, closing when we want to open a message but using nvidia-340 fixit (but performance is not there anymore)

Can you fix it please
Comment 3 n8807604 2018-09-20 19:25:59 UTC
The bug is very annoying because one have to start kmail very often and is forced to use other email clients or web mail services.

Standard fedora 28 installation
dnf list '*kmail'
kmail.x86_64                       18.04.3-1.fc28                       @updates
nouveau: dnf list '*nouveau*'
xorg-x11-drv-nouveau.x86_64              1:1.0.15-4.fc28               @anacond

kmail hangs or causes desktop to hang when used with Nouveau graphics driver
like https://bugs.kde.org/show_bug.cgi?id=381955
but with kmail2 5.8.3

 I am not sure whether this is the same bug or not.

Error message when kmail was started in the shell (tcsh)
after that line many  lines of backtrace was printed.
kmail: ../nouveau/pushbuf.c:723: nouveau_pushbuf_data: Assertion `kref' failed.

this was produced by  gdb:

Thread 1 "kmail" received signal SIGABRT, Aborted.
0x00007f6fd2ebeeab in raise () from /lib64/libc.so.6
(gdb) bt
#0  0x00007f6fd2ebeeab in raise () at /lib64/libc.so.6
#1  0x00007f6fd2ea95b9 in abort () at /lib64/libc.so.6
#2  0x00007f6fd2ea9491 in _nl_load_domain.cold.0 () at /lib64/libc.so.6
#3  0x00007f6fd2eb7612 in  () at /lib64/libc.so.6
#4  0x00007f6f99c4dcd7 in  () at /lib64/libdrm_nouveau.so.2
#5  0x00007f6f99c4dc37 in nouveau_pushbuf_data () at /lib64/libdrm_nouveau.so.2
#6  0x00007f6f99c4dd6f in pushbuf_submit.isra () at /lib64/libdrm_nouveau.so.2
#7  0x00007f6f99c4e1bf in pushbuf_flush () at /lib64/libdrm_nouveau.so.2
#8  0x00007f6f99c4edd4 in nouveau_pushbuf_kick () at /lib64/libdrm_nouveau.so.2
#9  0x00007f6f9a44ba9a in nvc0_flush () at /usr/lib64/dri/nouveau_dri.so
#10 0x00007f6f9a0d4c4f in st_context_flush () at /usr/lib64/dri/nouveau_dri.so
#11 0x00007f6f9a235a8f in dri_flush () at /usr/lib64/dri/nouveau_dri.so
#12 0x00007f6f9bbcd1c7 in loader_dri3_swap_buffers_msc ()
    at /lib64/libGLX_mesa.so.0
#13 0x00007f6fd8ae24aa in QGLXContext::swapBuffers(QPlatformSurface*) ()
    at /usr/lib64/qt5/plugins/xcbglintegrations/libqxcb-glx-integration.so
#14 0x00007f6fd41bb45f in QOpenGLContext::swapBuffers(QSurface*) ()
    at /lib64/libQt5Gui.so.5
#15 0x00007f6fd43e12cc in QPlatformBackingStore::composeAndFlush(QWindow*, QRegion const&, QPoint const&, QPlatformTextureList*, bool) ()
    at /lib64/libQt5Gui.so.5
#16 0x00007f6fa2f81138 in QXcbBackingStore::composeAndFlush(QWindow*, QRegion const&, QPoint const&, QPlatformTextureList*, bool) ()
---Type <return> to continue, or q <return> to quit--- 
    at /lib64/libQt5XcbQpa.so.5
#17 0x00007f6fd46e0cbb in QWidgetBackingStore::qt_flush(QWidget*, QRegion const&, QBackingStore*, QWidget*, QPlatformTextureList*, QWidgetBackingStore*) ()
    at /lib64/libQt5Widgets.so.5
#18 0x00007f6fd46e278b in QWidgetBackingStore::flush(QWidget*) ()
    at /lib64/libQt5Widgets.so.5
#19 0x00007f6fd46e3aa2 in QWidgetBackingStore::doSync() ()
    at /lib64/libQt5Widgets.so.5
#20 0x00007f6fd46e3c41 in QWidgetBackingStore::sync() ()
    at /lib64/libQt5Widgets.so.5
#21 0x00007f6fd46fb435 in QWidgetPrivate::syncBackingStore() ()
    at /lib64/libQt5Widgets.so.5
#22 0x00007f6fd47136f8 in QWidget::event(QEvent*) ()
    at /lib64/libQt5Widgets.so.5
#23 0x00007f6fd481cd68 in QMainWindow::event(QEvent*) ()
    at /lib64/libQt5Widgets.so.5
#24 0x00007f6fd7321e2b in KMainWindow::event(QEvent*) ()
    at /lib64/libKF5XmlGui.so.5
#25 0x00007f6fd736b5e9 in KXmlGuiWindow::event(QEvent*) ()
    at /lib64/libKF5XmlGui.so.5
#26 0x00007f6fd46d4475 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
#27 0x00007f6fd46dbb90 in QApplication::notify(QObject*, QEvent*) ()
---Type <return> to continue, or q <return> to quit---
    at /lib64/libQt5Widgets.so.5
#28 0x00007f6fd3ddbc36 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib64/libQt5Core.so.5
#29 0x00007f6fd3ddee0b in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /lib64/libQt5Core.so.5
#30 0x00007f6fd3e2c507 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () at /lib64/libQt5Core.so.5
#31 0x00007f6fbe7a18ad in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#32 0x00007f6fbe7a1c78 in g_main_context_iterate.isra ()
    at /lib64/libglib-2.0.so.0
#33 0x00007f6fbe7a1d10 in g_main_context_iteration ()
    at /lib64/libglib-2.0.so.0
#34 0x00007f6fd3e2c293 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#35 0x00007f6fa2ff27c5 in QPAEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5XcbQpa.so.5
#36 0x00007f6fd3ddab7b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#37 0x00007f6fd3de2c46 in QCoreApplication::exec() () at /lib64/libQt5Core.so.5
#38 0x0000560f51085b63 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/include/qt5/QtCore/qcoreapplication.h:116
(gdb) 
(gdb)
Comment 4 Rudi Gaelzer 2018-10-02 12:10:09 UTC
(In reply to n8807604 from comment #3)
> 
> Standard fedora 28 installation
> dnf list '*kmail'
> kmail.x86_64                       18.04.3-1.fc28                      
> @updates
> nouveau: dnf list '*nouveau*'
> xorg-x11-drv-nouveau.x86_64              1:1.0.15-4.fc28              
> @anacond
> 
> kmail hangs or causes desktop to hang when used with Nouveau graphics driver
> like https://bugs.kde.org/show_bug.cgi?id=381955
> but with kmail2 5.8.3
> 
>  I am not sure whether this is the same bug or not.
> 
> Error message when kmail was started in the shell (tcsh)
> after that line many  lines of backtrace was printed.
> kmail: ../nouveau/pushbuf.c:723: nouveau_pushbuf_data: Assertion `kref'
> failed.
> 
I'm having exactly the same problem with the same versions of Fedora/kmail/Nouveau.
Comment 5 Daniel Vrátil 2018-10-02 13:43:32 UTC
Sorry, this issue is out of our control, it's a problem between QtWebEngine and Nouveau.

There's an upstream bug report for this in the nouveau bug tracker: https://bugs.freedesktop.org/show_bug.cgi?id=91632