Bug 443078 - ksplashqml crashes in SplashWindow::setStage() on login after downgrade
Summary: ksplashqml crashes in SplashWindow::setStage() on login after downgrade
Status: RESOLVED DOWNSTREAM
Alias: None
Product: ksplash
Classification: Plasma
Component: general (show other bugs)
Version: 5.22.4
Platform: Other Linux
: NOR crash
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-09-28 15:18 UTC by Christian Göttsche
Modified: 2022-05-05 22:03 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christian Göttsche 2021-09-28 15:18:11 UTC
SUMMARY

After testing the beta 5.22.90 and downgrading back to 5.22.5 ksplashqml crashes every time on login:

Application: ksplashqml (ksplashqml), signal: Segmentation fault

[KCrash Handler]
#4  0x00007f877368a4a7 in QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::operator-> (this=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:118
#5  qGetPtrHelper<QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > > (ptr=...) at global/qglobal.h:1135
#6  QObject::d_func (this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobject.h:132
#7  QObject::setProperty (this=this@entry=0x0, name=name@entry=0x55f015201788 "stage", value=...) at kernel/qobject.cpp:4030
#8  0x000055f015200605 in SplashWindow::setStage (this=this@entry=0x55f0158e2be0, stage=0) at ./ksplash/ksplashqml/splashwindow.cpp:88
#9  0x000055f0151ff21d in SplashApp::adoptScreen (this=this@entry=0x7ffc8ce6fb40, screen=0x55f015857620) at ./ksplash/ksplashqml/splashapp.cpp:142
#10 0x000055f0151ffa0f in SplashApp::SplashApp (this=0x7ffc8ce6fb40, argc=<optimized out>, argv=<optimized out>) at ./ksplash/ksplashqml/splashapp.cpp:77
#11 0x000055f0151fe6f2 in main (argc=<optimized out>, argv=0x7ffc8ce6fc98) at ./ksplash/ksplashqml/main.cpp:69
[Inferior 1 (process 1304) detached]


SOFTWARE/OS VERSIONS
Linux/KDE Plasma:  Debian sid / KDE packages 5.22 from Norbert Preining 
KDE Plasma Version: 5.22.5
KDE Frameworks Version: 5.86.0
Qt Version: 5.15.2
Comment 1 Nate Graham 2021-09-29 15:14:35 UTC
I would suggest that this is probably an issue with the downgrade process. Does it happen with a fresh install of 5.22.x or an upgrade install with no downgrade?
Comment 2 Christian Göttsche 2021-10-01 19:33:27 UTC
Only happened after the downgrade (not before and not on another system).

Probably as a side-effect krunner does not open and the screen for logout/shutdown does not open.

gdb backtrace:


#0  QObject::setProperty (this=this@entry=0x0, name=name@entry=0x55555555b788 "stage", value=...) at kernel/qobject.cpp:4030
        d = <optimized out>
        meta = <optimized out>
        id = <optimized out>
        p = {mobj = 0x6e0000005b, handle = 4294957464, idx = 32767, menum = {mobj = 0x555555630b08, handle = 1433196272}}
#1  0x000055555555a605 in SplashWindow::setStage (this=this@entry=0x5555556bca80, stage=0) at ./ksplash/ksplashqml/splashwindow.cpp:88
No locals.
#2  0x000055555555921d in SplashApp::adoptScreen (this=this@entry=0x7fffffffdba0, screen=0x555555630ab0) at ./ksplash/ksplashqml/splashapp.cpp:142
        w = 0x5555556bca80
#3  0x0000555555559a0f in SplashApp::SplashApp (this=0x7fffffffdba0, argc=<optimized out>, argv=<optimized out>) at ./ksplash/ksplashqml/splashapp.cpp:77
        screen = <optimized out>
        _container_ = {c = {<QListSpecialMethods<QScreen*>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, 
                  end = 0, array = {0x0}}, d = <optimized out>}, d = <optimized out>}}, i = {i = <optimized out>}, e = {i = <optimized out>}, control = <optimized out>}
        parser = {d = 0x55555573e860}
        dbus = {static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7ffff7953880, data = 0x7ffff7953740, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}, d = 0x7fffc0003a00}
        cursor = <incomplete type>
        parser = {d = <optimized out>}
        dbus = {static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7ffff7953880, data = 0x7ffff7953740, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}, d = <optimized out>}
        cursor = <incomplete type>
        _container_ = {c = {<QListSpecialMethods<QScreen*>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, 
                  end = 0, array = {0x0}}, d = <optimized out>}, d = <optimized out>}}, i = {i = <optimized out>}, e = {i = <optimized out>}, control = <optimized out>}
        screen = <optimized out>
#4  0x00005555555586f2 in main (argc=<optimized out>, argv=0x7fffffffdcf8) at ./ksplash/ksplashqml/main.cpp:69
        test = <optimized out>
        app = {<QGuiApplication> = {<No data fields>}, static staticMetaObject = {d = {superdata = {direct = 0x7ffff786e0a0 <QGuiApplication::staticMetaObject>}, stringdata = 0x55555555b0c0 <qt_meta_stringdata_SplashApp>, 
              data = 0x55555555b020 <qt_meta_data_SplashApp>, static_metacall = 0x555555558840 <SplashApp::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, m_stage = 0, 
          m_windows = {<QListSpecialMethods<SplashWindow*>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, 
                  end = 0, array = {0x0}}, d = 0x7ffff6ffc470 <QListData::shared_null>}, d = 0x7ffff6ffc470 <QListData::shared_null>}}, m_testing = false, m_window = false, m_stages = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {
                  static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7ffff6ffc470 <QListData::shared_null>}, 
                d = 0x7ffff6ffc470 <QListData::shared_null>}}, <No data fields>}, m_timer = {id = 0}, m_theme = {static null = {<No data fields>}, d = 0x7ffff6ffb960 <QArrayData::shared_null>}}
Comment 3 Nate Graham 2021-10-01 20:10:29 UTC
All of these issues are characteristic signs of a failed downgrade, or bugs in the downgrade process itself on Debian, maybe. I would recommend following up with Norbert or other Debian packagers.
Comment 4 Christian Göttsche 2021-10-03 12:00:45 UTC
After looking at the home directory files opened by ksplashqml (via strace) and removing them, the issue disappeared.

The removed files were:
.cache/icon-cache.kcache
.cache/mesa_shader_cache/
.config/drkonqirc
.config/fontconfig/fonts.conf
.config/kdeglobals
.config/kwinrc
.Xauthority
Comment 5 Nate Graham 2021-10-03 14:36:31 UTC
Probably the cache files. Downgrading should definitely remove those.