Häufige Abstürtze von kmail

Seit einiger Zeit (wenige Monate) habe ich Probleme mit kmail (Version 5.8.1). Es läuft eine Zeit lang, dann stürtzt es ohne Fehlermeldung ab. Nachdem ich es von der Kommandozeile gestartet habe sehe ich, dass immer wieder diese Fehlermeldung kommt (der Wert von sequence ändert sich jedesmal):

QXcbConnection: XCB error: 8 (BadMatch), sequence: 26007, resource id: 150995031, major code: 130 (Unknown), minor code: 3

nach dem Absturz kommt dieser Stacktrace:

*** stack smashing detected ***: <unknown> terminated
Received signal 6
#0 0x7f51c0fca93e <unknown>
#1 0x7f51bf952e46 <unknown>
#2 0x7f51c0fcae27 <unknown>
#3 0x7f51d65daa70 <unknown>
#4 0x7f51d65da9eb __GI_raise
#5 0x7f51d65dbda1 __GI_abort
#6 0x7f51d661dc87 __libc_message
#7 0x7f51d66af14e __GI___fortify_fail_abort
#8 0x7f51d66af112 __stack_chk_fail_local
#9 0x7f51bf981d69 <unknown>
#10 0x7f51bf986000 <unknown>
#11 0x7f51bf98abef <unknown>
#12 0x7f51bf9bd94c <unknown>
#13 0x7f51c7a2de17 QQuickWindowPrivate::updateDirtyNode()
#14 0x7f51c7a2e64b QQuickWindowPrivate::updateDirtyNodes()
#15 0x7f51c7a2f932 QQuickWindowPrivate::syncSceneGraph()
#16 0x7f51c7ae0039 QQuickRenderControl::sync()
#17 0x7f51c80b07a9 <unknown>
#18 0x7f51c80b0862 <unknown>
#19 0x7f51d6f8ed6b QObject::event()
#20 0x7f51d7d541c3 QWidget::event()
#21 0x7f51c80b41ab QQuickWidget::event()
#22 0x7f51c69eb4b0 <unknown>
#23 0x7f51d7d1788c QApplicationPrivate::notify_helper()
#24 0x7f51d7d1e974 QApplication::notify()
#25 0x7f51d6f60858 QCoreApplication::notifyInternal2()
#26 0x7f51d6fb6e0e QTimerInfoList::activateTimers()
#27 0x7f51d6fb7521 <unknown>
#28 0x7f51c9f9c277 g_main_context_dispatch
#29 0x7f51c9f9c4b0 <unknown>
#30 0x7f51c9f9c53c g_main_context_iteration
#31 0x7f51d6fb786f QEventDispatcherGlib::processEvents()
#32 0x7f51aa1e8591 <unknown>
#33 0x7f51d6f5f14a QEventLoop::exec()
#34 0x7f51d6f67c30 QCoreApplication::exec()
#35 0x557be50cdbcc <unknown>
#36 0x7f51d65c5a87 __libc_start_main
#37 0x557be50cdcfa _start
  r8: 0000000000000000  r9: 00007ffec10a10b0 r10: 0000000000000008 r11: 0000000000000246
 r12: 00007ffec10a1350 r13: 0000000000001000 r14: 0000000000000000 r15: 0000000000000002
  di: 0000000000000002  si: 00007ffec10a10b0  bp: 00007ffec10a14e0  bx: 0000000000000006
  dx: 0000000000000000  ax: 0000000000000000  cx: 00007f51d65da9eb  sp: 00007ffec10a10b0
  ip: 00007f51d65da9eb efl: 0000000000000246 cgf: 002b000000000033 erf: 0000000000000000
 trp: 0000000000000000 msk: 0000000000000000 cr2: 0000000000000000
[end of stack trace]

Der Stacktrace sieht aber jedesmal anders aus. Die Abstürze kommen häufig (oder immer, hab ich noch nicht verifiziert), wenn ich im Nachrichtenbereich mit der Maus nach unten rolle.
Kann mir jemand einen Tipp geben, wie ich die Abstürze wieder loswerde?

Auch das hier riecht nach keine Benützung von ‘zypper dup’

Richtig, besonders da Tumbleweed seit fast zwei Wochen bereits kmail 5.8.2 hat.
https://lists.opensuse.org/opensuse-factory/2018-06/msg00196.html

Außerdem ist die gepostete Ausgabe absolut nicht aussagekräftig.
Aber warten wir mal damit, vielleicht hilft ein “zypper dup” ja… :wink:

“zypper dup” gibt eine Liste von 12 Problemen aus (siehe unten). Offensichtlich liegt es daran, dass ich mal einen Wechsel von GStreamer ins Packman-Repository gemacht habe. Wenn ich mich richtig erinnere, weil sonst einige Video Formate nicht abgespielt werden konnten.
Komisch ist, dass einmal ein Wechsel vom openSuSE Repo ins Packman Repo vorgeschlagen wird (bei lqt3-3.3.8c), und bei den anderen ein Wechsel von Packman nach OpenSuSE?! Sollte ich beiden Vorschlägen folgen?
Könnte das die Ursache sein?
Gibt es einen Unterschied zwischen “zypper dup” und dem Update über das Miniprogramm “Softwareaktualisierungen” im Systembereich? Das mache ich regelmäßig (alle paar Wochen, auf jeden Fall schon öfters seit die Probleme mit kmail aufgetaucht sind) und dort gab es nie solche Fehlermeldungen.

Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command.
Loading repository data...
Reading installed packages...
Computing distribution upgrade...
12 Problems:
Problem: problem with installed package qt3-3.3.8c-141.1.x86_64
Problem: problem with installed package libgstbadbase-1_0-0-1.12.5-4.4.x86_64
Problem: problem with installed package libgstgl-1_0-0-1.12.5-4.4.x86_64
Problem: problem with installed package libmjpegutils-2_0-0-2.0.0-25.1.x86_64
Problem: problem with installed package mjpegtools-2.0.0-25.1.x86_64
Problem: problem with installed package libmpeg2-0-0.5.1-3.42.x86_64
Problem: problem with installed package libmpeg2convert0-0.5.1-3.42.x86_64
Problem: problem with installed package libvidstab1_1-1.1.0-5.1.x86_64
Problem: problem with installed package perl-DateTime-Format-ISO8601-0.08-1.15.noarch
Problem: libgit2-26-0.26.0-1.1.x86_64 requires libhttp_parser.so.suse0()(64bit), but this requirement cannot be provided
Problem: ibus-lang-1.5.18-5.2.noarch requires ibus = 1.5.18, but this requirement cannot be provided
Problem: perl-Test-Warn-0.35-1.1.noarch requires perl(:MODULE_COMPAT_5.26.2), but this requirement cannot be provided

Problem: problem with installed package qt3-3.3.8c-141.1.x86_64
 Solution 1: install qt3-3.3.8c-153.2.x86_64 (with vendor change)
  openSUSE  -->  http://packman.links2linux.de
 Solution 2: keep obsolete qt3-3.3.8c-141.1.x86_64

Choose from above solutions by number or skip, retry or cancel [1/2/s/r/c] (c): s

Problem: problem with installed package libgstbadbase-1_0-0-1.12.5-4.4.x86_64
 Solution 1: install libgstbadbase-1_0-0-1.12.2-3.1.x86_64 (with vendor change)
  http://packman.links2linux.de  -->  openSUSE
 Solution 2: keep obsolete libgstbadbase-1_0-0-1.12.5-4.4.x86_64

Choose from above solutions by number or skip, retry or cancel [1/2/s/r/c] (c): s

Problem: problem with installed package libgstgl-1_0-0-1.12.5-4.4.x86_64
 Solution 1: install libgstgl-1_0-0-1.14.1-2.1.x86_64 (with vendor change)
  http://packman.links2linux.de  -->  openSUSE
 Solution 2: keep obsolete libgstgl-1_0-0-1.12.5-4.4.x86_64

Choose from above solutions by number or skip, retry or cancel [1/2/s/r/c] (c): s

Problem: problem with installed package libmjpegutils-2_0-0-2.0.0-25.1.x86_64
 Solution 1: install libmjpegutils-2_0-0-2.0.0-26.2.x86_64 (with vendor change)
  http://packman.links2linux.de  -->  openSUSE
 Solution 2: keep obsolete libmjpegutils-2_0-0-2.0.0-25.1.x86_64

Choose from above solutions by number or skip, retry or cancel [1/2/s/r/c] (c): s

Problem: problem with installed package mjpegtools-2.0.0-25.1.x86_64
 Solution 1: install mjpegtools-2.0.0-26.2.x86_64 (with vendor change)
  http://packman.links2linux.de  -->  openSUSE
 Solution 2: keep obsolete mjpegtools-2.0.0-25.1.x86_64

Choose from above solutions by number or skip, retry or cancel [1/2/s/r/c] (c): s

Problem: problem with installed package libmpeg2-0-0.5.1-3.42.x86_64
 Solution 1: install libmpeg2-0-0.5.1-2.2.x86_64 (with vendor change)
  http://packman.links2linux.de  -->  openSUSE
 Solution 2: keep obsolete libmpeg2-0-0.5.1-3.42.x86_64

Choose from above solutions by number or skip, retry or cancel [1/2/s/r/c] (c): s

Problem: problem with installed package libmpeg2convert0-0.5.1-3.42.x86_64
 Solution 1: install libmpeg2convert0-0.5.1-2.2.x86_64 (with vendor change)
  http://packman.links2linux.de  -->  openSUSE
 Solution 2: keep obsolete libmpeg2convert0-0.5.1-3.42.x86_64

Choose from above solutions by number or skip, retry or cancel [1/2/s/r/c] (c): s

Problem: problem with installed package libvidstab1_1-1.1.0-5.1.x86_64
 Solution 1: install libvidstab1_1-1.1.0-1.1.x86_64 (with vendor change)
  http://packman.links2linux.de  -->  openSUSE
 Solution 2: keep obsolete libvidstab1_1-1.1.0-5.1.x86_64

Choose from above solutions by number or skip, retry or cancel [1/2/s/r/c] (c): s

Problem: problem with installed package perl-DateTime-Format-ISO8601-0.08-1.15.noarch
 Solution 1: install perl-DateTime-Format-ISO8601-0.08-1.3.noarch (with vendor change)
  http://packman.links2linux.de  -->  openSUSE
 Solution 2: keep obsolete perl-DateTime-Format-ISO8601-0.08-1.15.noarch

Choose from above solutions by number or skip, retry or cancel [1/2/s/r/c] (c): s

Problem: libgit2-26-0.26.0-1.1.x86_64 requires libhttp_parser.so.suse0()(64bit), but this requirement cannot be provided
  not installable providers: libhttp-parser-suse0-2.7.1-1.3.x86_64[openSUSE-20170904-0]
 Solution 1: deinstallation of libgit2-26-0.26.3-1.1.x86_64
 Solution 2: deinstallation of libhttp_parser2_7_1-2.7.1-2.1.x86_64
 Solution 3: keep obsolete libgit2-26-0.26.3-1.1.x86_64
 Solution 4: break libgit2-26-0.26.0-1.1.x86_64 by ignoring some of its dependencies

Choose from above solutions by number or skip, retry or cancel [1/2/3/4/s/r/c] (c): c

Das liegt daran das einige Pakete die früher aus Lizenz/Patentgründen nur in Packman verfügbar waren mittlerweile in die Distribution aufgenommen wurden (z.B. sind die MPEG1/2 Patente ausgelaufen, deswegen ist libmpeg2 jetzt in den Standardrepos).

Andererseits kommt es auch vor dass Pakete aus der Distribution entfernt werden, z.B. qt3 das in Packman aufgenommen wurde weil andere Pakete in Packman es benötigen.

Sollte ich beiden Vorschlägen folgen?

Ja.

Könnte das die Ursache sein?

Definitiv.
Dein momentanes System enthält eine Mischung aus veralteten und brandneuen Paketen, die einfach nicht zusammenpassen.

Gibt es einen Unterschied zwischen “zypper dup” und dem Update über das Miniprogramm “Softwareaktualisierungen” im Systembereich?

Ja. Das Miniprogramm macht das gleiche wie “zypper up”, und ist daher ungeeignet um Tumbleweed upzudaten.
(außerdem zeigt es Updates die Konflikte verursachen würden oder aus einem anderen Repo kommen einfach nicht an, ähnlich wie “zypper up”)

Seit neuestem ist deshalb das Installieren von Updates in Tumbleweed damit sowieso nicht mehr möglich, es zeigt nur einen Text dass man stattdessen “zypper dup” verwenden sollte.

Vielen Dank für die ausführliche Antwort. Leider hat “zypper dup” das Problem nicht behoben (dafür ein anderes, akonadiserver hat vorher ständig einen meiner vier CPU cores ausgelastet, jetzt nicht mehr :slight_smile:
Wie kann ich weiter machen? Welche Ausgaben wären nützlich zur genauen Diagnose?

Ein vollständiger Backtrace mit installierten debuginfo Paketen.
Dazu kmail in gdb laufen lassen (“gdb kmail”, dann “run” eingeben), den Crash reproduzieren, und mit “bt” den Backtrace generieren. (gdb sollte auch Hinweise zur Installation von fehlenden debuginfo Paketen geben)

Allerdings hab ich mir den Stacktrace den du gepostet hast nochmal angeschaut. Da gibts Verweise zu QtQuick, das von kmail eigentlich gar nicht verwendet wird.
Dürfte also wohl von QtWebEngine kommen, der HTML-Engine die zur Anzeige von EMails verwendet wird. Schon die Ausgabe selbst deutet auf QtWebEngine hin, wenn kmail selbst abstürzen würde solltest du stattdessen den KDE Crash-Reporter (drkonqi) bekommen.

Wenn du Glück hast, ist das evtl. schon in Qt 5.11.1 gefixt, das bald in TW verfügbar sein sollte, zumindest hab ich da im Changelog was gesehen… (hab aber keine Ahnung ob genau dein Crash behoben wurde)

Du kannst aber auch mal probieren den Ordner ~/.cache/ zu löschen. Vielleicht sind da drin ja korrupte QML/QtQuick Cache Dateien die den Crash verursachen.

PS: benutzt du den nvidia Treiber?
Ich hab gerade diesen Bugreport gefunden über Abstürze von kwin, der einen Backtrace enthält ähnlich zu dem Stacktrace den du gepostet hast (zumindest die Teile die nicht als “unknown” gelistet waren).
https://bugs.kde.org/show_bug.cgi?id=384379
Wurde als Fehler im nvidia Treiber geschlossen…

Allerdings sehe ich dort Hinweise auf Aurorae, benutzt du evtl. eine nicht-Standard Fensterdekoration?

Du kannst aber auch mal probieren den Ordner ~/.cache/ zu löschen. Vielleicht sind da drin ja korrupte QML/QtQuick Cache Dateien die den Crash verursachen.

hat leider nichts gebracht

Allerdings sehe ich dort Hinweise auf Aurorae, benutzt du evtl. eine nicht-Standard Fensterdekoration?

Ich benutze breeze als Fensterdekoration (hab ich nie geändert)

PS: benutzt du den nvidia Treiber?

Ich benutze den Intel i915 Treiber (Dell Notebook xps13)

Dürfte also wohl von QtWebEngine kommen, der HTML-Engine die zur Anzeige von EMails verwendet wird. Schon die Ausgabe selbst deutet auf QtWebEngine hin, wenn kmail selbst abstürzen würde solltest du stattdessen den KDE Crash-Reporter (drkonqi) bekommen.

Kann sein, aber ich benutze standardmäßig die Textanzeige, und nur auf Nachfrage die html-Darstellung. Könnte es trotzdem der Grund für die Abstürze sein, auch wenn die Nachrichten im Textmodus angezeigt werden?

Ein vollständiger Backtrace mit installierten debuginfo Paketen.
Dazu kmail in gdb laufen lassen (“gdb kmail”, dann “run” eingeben), den Crash reproduzieren, und mit “bt” den Backtrace generieren. (gdb sollte auch Hinweise zur Installation von fehlenden debuginfo Paketen geben)

da alle Deine anderen Hinweise nicht zum Erfolg geführt haben, wird mir wohl nichts anderes übrigbleiben. Dazu komme ich aber heute nicht mehr. Ich poste ihn, sobald ich ihn erstellt habe.
Vielen Dank nochmal für Deie ausführlichen Tipps und Antworten https://forums.opensuse.org/images/icons/icon14.png

Ok, es würde wahrscheinlich sowieso eher kwin abstürzen, wenn dass das Problem wäre…
Der Crash schaut aber in der Tat ähnlich aus.

Ich benutze den Intel i915 Treiber (Dell Notebook xps13)

Hm.
Und welcher X Treiber?

Du könntest mal versuchen xf86-video-intel zu deinstallieren, vielleicht läufts besser mit dem modesetting Treiber.
Oder evtl. hilft das (nur wenn der intel Treiber verwendet wird):
https://en.opensuse.org/SDB:Switch_xf86-video-intel_to_UXA

Wenn du sowieso bereits den modesetting Treiber benutzt, kannst du ja mal probieren, xf86-video-intel zu installieren.

Ich habe keine Abstürze hier, weder auf einem intel, noch auf einem radeon System. Allerdings benutze ich Leap (42.3 und 15.0), nicht Tumbleweed, also hab ich andere Kernel, X Treiber und Mesa Versionen (wenns ein Problem mit dem Grafiktreiber ist, kanns aber sowieso ziemlich spezifisch für bestimmte Chips sein).

Kann sein, aber ich benutze standardmäßig die Textanzeige, und nur auf Nachfrage die html-Darstellung. Könnte es trotzdem der Grund für die Abstürze sein, auch wenn die Nachrichten im Textmodus angezeigt werden?

Sicher, die Mail wird ja trotzdem mit der HTML-Engine am Bildschirm angezeigt.

da alle Deine anderen Hinweise nicht zum Erfolg geführt haben, wird mir wohl nichts anderes übrigbleiben. Dazu komme ich aber heute nicht mehr. Ich poste ihn, sobald ich ihn erstellt habe.

Wie gesagt, ich würde damit zumindest noch auf Qt 5.11.1 warten, sollte in den nächsten paar Tagen in TW sein.

Wie gesagt, ich würde damit zumindest noch auf Qt 5.11.1 warten, sollte in den nächsten paar Tagen in TW sein.

Das war es wohl. Habe gestern nochmal ein “zypper dup” gemacht, da war das Qt 5.11.1 dabei. Seit dem keine Abstürze von kmail mehr. Ich hoffe es bleibt so https://forums.opensuse.org/images/icons/icon11.png

Vielen Dank nochmal für die tolle Unterstützung