Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dialog for saving attachments causes repeated crashes of kioworker in KDE 6 #7006

Open
2 tasks done
GumiBear93 opened this issue Sep 2, 2024 · 12 comments
Open
2 tasks done

Comments

@GumiBear93
Copy link

Using a supported version?

  • I have searched searched open and closed issues for duplicates.
  • I am using Signal-Desktop as provided by the Signal team, not a 3rd-party package.

Overall summary

I'm using KDE Plasma 6.1.4 on TUXEDO OS 3, running the latest Signal desktop client on version 7.22.2.
Downloading an attachment (either directly in a chat or when viewing the attachment inside the Signal client) works just fine, it opens the Dolphin file manager and allows me to download the file in the desired place. While the file manager is open, my task bar is flooded with notifications from KDE's crash handler, notifying me that kioworker has crashed.
The following crash information is available to me:

Application: kioworker (kioworker), signal: Aborted

[KCrash Handler]
#4  __pthread_kill_implementation (no_tid=0, signo=6, threadid=138435145347712) at ./nptl/pthread_kill.c:44
#5  __pthread_kill_internal (signo=6, threadid=138435145347712) at ./nptl/pthread_kill.c:78
#6  __GI___pthread_kill (threadid=138435145347712, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#7  0x00007de7f5a42476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#8  0x00007de7f5a287f3 in __GI_abort () at ./stdlib/abort.c:79
#9  0x00007de7f62fdbca in qAbort() () from /lib/x86_64-linux-gnu/libQt6Core.so.6
#10 0x00007de7f62f875a in ?? () from /lib/x86_64-linux-gnu/libQt6Core.so.6
#11 0x00007de7f62fe56d in QMessageLogger::fatal(char const*, ...) const () from /lib/x86_64-linux-gnu/libQt6Core.so.6
#12 0x00007de7f62c2ce2 in qt_assert_x(char const*, char const*, char const*, int) () from /lib/x86_64-linux-gnu/libQt6Core.so.6
#13 0x00007de7f65bd728 in ?? () from /usr/lib/x86_64-linux-gnu/qt6/plugins/kf6/kio/thumbnail.so
#14 0x00007de7f649d8b5 in ?? () from /lib/x86_64-linux-gnu/libKF6KIOCore.so.6
#15 0x00007de7f649aeae in ?? () from /lib/x86_64-linux-gnu/libKF6KIOCore.so.6
#16 0x00007de7f654a39a in ?? () from /lib/x86_64-linux-gnu/libKF6KIOCore.so.6
#17 0x00007de7f65c1bbb in kdemain () from /usr/lib/x86_64-linux-gnu/qt6/plugins/kf6/kio/thumbnail.so
#18 0x00005fff287a05a0 in ?? ()
#19 0x00007de7f5a29d90 in __libc_start_call_main (main=main@entry=0x5fff287a03c0, argc=argc@entry=5, argv=argv@entry=0x7ffd39989e38) at ../sysdeps/nptl/libc_start_call_main.h:58
#20 0x00007de7f5a29e40 in __libc_start_main_impl (main=0x5fff287a03c0, argc=5, argv=0x7ffd39989e38, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffd39989e28) at ../csu/libc-start.c:392
#21 0x00005fff287a0885 in ?? ()
[Inferior 1 (process 10216) detached]

Similar reports can be found on the KDE forum, with no conclusion as to what causes this behavior.

Steps to reproduce

  1. Enter a chat with attachments
  2. Press Download-button next to attachment or in attachment-view to bring up the file explorer dialogue

Expected result

Able to save file without any interference.

Actual result

Able to save file, but kioworker is crashing at a rate of about 5-10 crashes per second, flooding the task bar with notifications.

Screenshots

No response

Signal version

7.22.2

Operating system

TUXEDO OS 3 Release 22.04, Kernel Version 6.8.0-101041-tuxedo

Version of Signal on your phone

7.15.4

Link to debug log

No response

@GumiBear93 GumiBear93 changed the title Dialog for saving attatchments causes repeated crashes of kioworker in KDE 6 Dialog for saving attachments causes repeated crashes of kioworker in KDE 6 Sep 2, 2024
@ayumi-signal
Copy link
Contributor

Sorry this is happening. This could be an electron issue, since the KDE report you linked mentions Typora which is also an electron app.

Could you please try to reproduce this using Electron fiddle and consider looking at the electron issues?
Here is a Fiddle which involves file selection:
electron/electron#42250 (comment)

@securityboxtc
Copy link

I have a similar problem with the same OS/KDE/Signal desktop versions and would be more than willing to attempt to duplicate any tests or provide duplicate logs if necessary.

@scottnonnenberg-signal
Copy link
Contributor

@securityboxtc If you go to that electron issue and try that in Electron Fiddle, you can contribute to the set of people who can reproduce the issue. But for now, we're waiting on Electron to fix it.

@GumiBear93
Copy link
Author

@scottnonnenberg-signal the linked gist doesn't cause the issue on the affected system, Neither with the provided Version (30.0.9) nor with Signal's version (at least the one specified in package.json, 32.0.1).

@scottnonnenberg-signal
Copy link
Contributor

@GumiBear93 7.23.0, the latest production version of Signal Desktop, is using Electron 31.3.1. It's been the Electron version in use for a couple versions now. Do you see the error in Electron Fiddle for that version?

@scottnonnenberg-signal
Copy link
Contributor

If you install the beta, that's on Electron 32.0.1. Maybe you could try installing it, see if the problem happens on that newer build: https://support.signal.org/hc/en-us/articles/360007318471-Signal-Beta

@GumiBear93
Copy link
Author

GumiBear93 commented Sep 11, 2024

7.23.0, the latest production version of Signal Desktop, is using Electron 31.3.1.

thanks for the correction :) but the error seems to be independent from the Electron version. Neither does version 31.3.1 cause any errors in the gist, nor is the problem solved in the latest beta version of the Signal desktop client.

@scottnonnenberg-signal
Copy link
Contributor

@GumiBear93 You can see the code Signal Desktop uses to show the save dialog here:

Signal-Desktop/app/main.ts

Lines 2996 to 3005 in 52a012d

const { canceled, filePath: selectedFilePath } = await dialog.showSaveDialog(
mainWindow,
{
defaultPath,
showsTagField: false,
}
);
if (canceled || selectedFilePath == null) {
return { canceled: true };
}

Maybe the gist needs to be updated to do that? It's being called from the main process, via IPC. You can search for the string 'show-save-dialog' to find that ipc setup.

@GumiBear93
Copy link
Author

@scottnonnenberg-signal can you help me how to do that? i've never worked with these tools/ languages before.

@jamiebuilds-signal
Copy link
Member

@GumiBear93 Here is a gist that opens up the save dialog as soon as you launch the app, you can put this into electron fiddle and test it out on your device: https://gist.github.com/25bcd3ef171e899901ed6e0da6fc7ad8

@GumiBear93
Copy link
Author

GumiBear93 commented Sep 17, 2024

@jamiebuilds-signal thank you :) running that fiddle does open up the file explorer as expected, but again, the issue doesn't come up.
I merged the two electron fiddles to open the dialog on a button press just in case it made a difference, but it works without any issues.

@jamiebuilds-signal
Copy link
Member

Are you able to reproduce the results with the fiddle in this comment: electron/electron#42250 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

5 participants