Bug 479214

Summary: crash on save (Alpine Linux) umbrello 23.04+ still in 24.01.85
Product: [Applications] umbrello Reporter: Björn Strömberg <bjorn.stromberg86>
Component: generalAssignee: Umbrello Development Group <umbrello-devel>
Status: CONFIRMED ---    
Severity: crash CC: okellogg
Priority: NOR Keywords: release_blocker, usability
Version: unspecified   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: compressed build log of local package

Description Björn Strömberg 2023-12-31 08:13:37 UTC
Created attachment 164569 [details]
compressed build log of local package

SUMMARY
***
Thread 20 "KIO::WorkerThre" received signal SIGSEGV, Segmentation fault.
[Switching to LWP 15698]
0x00007fffdfcc9849 in ?? () from /usr/lib/qt5/plugins/kf5/kio/kio_file.so
(gdb) bt
#0  0x00007fffdfcc9849 in ?? () from /usr/lib/qt5/plugins/kf5/kio/kio_file.so
#1  0x00007ffff77e4593 in KIO::SlaveBase::dispatch(int, QByteArray const&) () from /usr/lib/libKF5KIOCore.so.5
#2  0x00007ffff77e51a6 in KIO::SlaveBase::dispatchLoop() () from /usr/lib/libKF5KIOCore.so.5
#3  0x00007ffff78810b5 in ?? () from /usr/lib/libKF5KIOCore.so.5
#4  0x00007ffff630c9db in operator() (__closure=<optimized out>) at thread/qthread_unix.cpp:350
#5  (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=...) at thread/qthread_unix.cpp:287
#6  QThreadPrivate::start (arg=0x7fffdf00d240) at thread/qthread_unix.cpp:310
#7  0x00007ffff7fb822e in start (p=0x7fffdee6a640) at src/thread/pthread_create.c:207
#8  0x00007ffff7fba82f in __clone () at src/thread/x86_64/clone.s:22
Backtrace stopped: frame did not save the PC
(gdb) 
***

the crash has been known since 23.08.x and is still in play on 24.01.85 
made a local build of the beta2-app since its not yet updated to KF6 and Alpine 3.19 has new enough packages to fulfill the minimums. just to get atleast the apps debugsymbols. so maybe this can be fixed before the big 24.02 release..

a working umbrello would make my live a bit easier to create diagrams of stuff..

STEPS TO REPRODUCE
1. start the program, or wrap it in 'gdb umbrello5' to capture the segv, since umbrello does not trigger the KCrash handler like i would expect it to.. 
2. if using gdb: type in 'run' to start the process
3. with an empty project (does not matter if empty or contains anything, crashes the same) save it to a .xmi file (or wait for autosave, it will also trigger the crash)
4. if in gdb type in 'bt' after the segv to get the backtrace i've added above.. 

OBSERVED RESULT
crashes with segv, since alpine does not package the debug symbols for Qt + Kde i can't get the full backtraces at this time.

EXPECTED RESULT
save the file, and not crash during autosave, hopefully be able to actually load the file on the next run..

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Alpine Linux v3.19
(available in About System)
KDE Plasma Version: 5.27.10
KDE Frameworks Version:  5.112.0
Qt Version:  5.15.10
Kernel: 6.6.7-0-lts
Graphics Platform: Wayland

ADDITIONAL INFORMATION
downstream bug: https://gitlab.alpinelinux.org/alpine/aports/-/issues/15473

ps. bugs-version list does not have anything after 2.33.2 (KDE releases 20.12.2) but it is tarballed with kde 24.01.85

ps.2. warning: Included by graph for 'operation.h' not generated, too many nodes (66), threshold is 50. Consider increasing DOT_GRAPH_MAX_NODES. 
warnings like these are a lot, so 100-150 should probably be a better threshold.
Comment 1 Oliver Kellogg 2023-12-31 11:09:06 UTC
Not reproducible using Umbrello master built on openSUSE Tumbleweed 20231129 (x86_64, Qt 6.6, Frameworks 5.27.9).

(In reply to Björn Strömberg from comment #0)
> [...]
> the crash has been known since 23.08.x and is still in play on 24.01.85 
> made a local build of the beta2-app since its not yet updated to KF6 and
> Alpine 3.19 has new enough packages to fulfill the minimums. just to get
> atleast the apps debugsymbols. [...]

However, your backtrace does not show the app debug symbols:
> [...]
> #8  0x00007ffff7fba82f in __clone () at src/thread/x86_64/clone.s:22
> Backtrace stopped: frame did not save the PC
> (gdb) 

I'm afraid without the application-side backtrace I cannot proceed.
Comment 2 Björn Strömberg 2023-12-31 11:28:11 UTC
(In reply to Oliver Kellogg from comment #1)
> Not reproducible using Umbrello master built on openSUSE Tumbleweed 20231129
> (x86_64, Qt 6.6, Frameworks 5.27.9).
> 
> (In reply to Björn Strömberg from comment #0)
> > [...]
> > the crash has been known since 23.08.x and is still in play on 24.01.85 
> > made a local build of the beta2-app since its not yet updated to KF6 and
> > Alpine 3.19 has new enough packages to fulfill the minimums. just to get
> > atleast the apps debugsymbols. [...]
> 
> However, your backtrace does not show the app debug symbols:
> > [...]
> > #8  0x00007ffff7fba82f in __clone () at src/thread/x86_64/clone.s:22
> > Backtrace stopped: frame did not save the PC
> > (gdb) 
> 
> I'm afraid without the application-side backtrace I cannot proceed.

my big problem is that the kcrashhandler is not invoked, had to force the bt via gdb, cant say im used to extracing crash bt manually unfortunally, that was what bt in gdb spit out..

right now i'm working on setting up a ci for building everything on alpine with enabled debuginfo on invent.kde.org on a new repos ci, it will take some time to get all the ducks in a row, but the target is getting this patched into the 24.02 release.

if you got any ideas of getting the backtraces faster im all ears, but i think this is the only way to setup a limited scope repos that build ontop of alpine v3.19-{main, Qt,  KDE}

hopefully nobody gets mad for abusing the CI..
Comment 3 Björn Strömberg 2023-12-31 11:55:39 UTC
since there been commits after the beta tag, i'll just compile the master without packaging it, and see if works or not, unsure about the process to package from git, no reason to abuse the ci to get debuginfo built if the issue is fixed and will be tagged as rc1 in like a week...
Comment 4 Björn Strömberg 2023-12-31 12:52:30 UTC
master 49cc63e8c8718de3e442d43d284d40811f65ca87 still crashes in the same way. so its something alpine specific.

will try to get to the bottom of this
Comment 5 Nate Graham 2024-06-14 15:10:46 UTC
Migrating "reproducible" keyword to "CONFIRMED" status.