Bug 470653 - KDE portal crashes in KFileWidget::currentMimeFilter() when selecting files using App "Boatswain"
Summary: KDE portal crashes in KFileWidget::currentMimeFilter() when selecting files u...
Status: RESOLVED DUPLICATE of bug 450612
Alias: None
Product: xdg-desktop-portal-kde
Classification: Plasma
Component: general (show other bugs)
Version: 5.27.4
Platform: Kubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-06-05 04:00 UTC by eweapon713
Modified: 2023-12-01 00:13 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
Screen cap of portal browser (682.12 KB, image/png)
2023-06-05 04:00 UTC, eweapon713
Details

Note You need to log in before you can comment on or make changes to this bug.
Description eweapon713 2023-06-05 04:00:09 UTC
Created attachment 159469 [details]
Screen cap of portal browser

Good day

I am attempting to use an app called "Boatswain" (https://gitlab.gnome.org/World/boatswain) as a soundboard for an "Elgato Stream-deck".
The program installed just fine however files are not visible in the explorer and causes a bit of a crash when selecting anything (files can be selected by typing its name into the field). I'll include a screen-cap of what I'm looking at as well as the stacktrace
I had reported this bug to that programs board already and was told to report it here

Any insight or advice would be appreciated
Thank you


STEPS TO REPRODUCE
1. Open program
2. Navigate file selection browser to where file location should be
3. press open after selecting file

OBSERVED RESULT

KDE portal crashes

EXPECTED RESULT

File is selected and used in program


SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Kubuntu 23.04
(available in About System)
KDE Plasma Version: 5.27.4
KDE Frameworks Version: 5.104.0
Qt Version: 5.15.8

ADDITIONAL INFORMATION

Application: Portal (xdg-desktop-portal-kde), signal: Segmentation fault

[KCrash Handler]
#4  0x00007f0e91bd1a5a in KFileWidget::currentMimeFilter() const () from /lib/x86_64-linux-gnu/libKF5KIOFileWidgets.so.5
#5  0x000055b720c53c8e in ?? ()
#6  0x000055b720c09881 in ?? ()
#7  0x000055b720c0dfb3 in ?? ()
#8  0x00007f0e908d822b in ?? () from /lib/x86_64-linux-gnu/libQt5DBus.so.5
#9  0x00007f0e908dbce0 in ?? () from /lib/x86_64-linux-gnu/libQt5DBus.so.5
#10 0x00007f0e908dc6e2 in ?? () from /lib/x86_64-linux-gnu/libQt5DBus.so.5
#11 0x00007f0e908de9fc in ?? () from /lib/x86_64-linux-gnu/libQt5DBus.so.5
#12 0x00007f0e8f6e7de0 in QObject::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#13 0x00007f0e9116bf92 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#14 0x00007f0e8f6bae38 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#15 0x00007f0e8f6bdea1 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#16 0x00007f0e8f7157b7 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#17 0x00007f0e8dbd349d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00007f0e8dc2e178 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x00007f0e8dbd21b0 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#20 0x00007f0e8f714e7a in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#21 0x00007f0e8f6b97cb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#22 0x00007f0e8f6c1c1a in QCoreApplication::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#23 0x000055b720c050ef in ?? ()
#24 0x00007f0e8ec23a90 in __libc_start_call_main (main=main@entry=0x55b720c049b0, argc=argc@entry=1, argv=argv@entry=0x7ffcfc74f118) at ../sysdeps/nptl/libc_start_call_main.h:58
#25 0x00007f0e8ec23b49 in __libc_start_main_impl (main=0x55b720c049b0, argc=1, argv=0x7ffcfc74f118, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffcfc74f108) at ../csu/libc-start.c:360
#26 0x000055b720c05e35 in ?? ()
[Inferior 1 (process 2356) detached]
Comment 1 Nate Graham 2023-06-05 18:43:25 UTC
IIRC there's some kind of incompatibility with the mimetype strings that apps can pass vs with the file widget expects or something. I'm unable to recall the details or file an existing bug report for it, though.
Comment 2 eweapon713 2023-06-10 10:37:56 UTC
(In reply to Nate Graham from comment #1)
> IIRC there's some kind of incompatibility with the mimetype strings that
> apps can pass vs with the file widget expects or something. I'm unable to
> recall the details or file an existing bug report for it, though.

I'm sorry for having to ask but does that mean that the app is incompatible with KDE and i should look for another program or is it a "new" bug that needs to be patched?
Comment 3 Nate Graham 2023-06-13 21:07:16 UTC
At the moment, there is an incompatibility, yes. It's a bug we need to fix.

Unfortunately I can't test this myself because the app appears to require a Stream Deck for the main UI to show up, and I don't have one.
Comment 4 Nate Graham 2023-06-14 18:52:39 UTC
Since you're in contact with the Boatswain developers, can you ask them what exact string they're setting the file type filter to?

I ask because there's a chance this might be fixed with https://invent.kde.org/frameworks/kio/-/merge_requests/1321, and knowing what the string is will help us determine whether that's the case, or whether a different string is needed?
Comment 5 eweapon713 2023-06-22 02:02:33 UTC
(In reply to Nate Graham from comment #4)
> Since you're in contact with the Boatswain developers, can you ask them what
> exact string they're setting the file type filter to?
> 
> I ask because there's a chance this might be fixed with
> https://invent.kde.org/frameworks/kio/-/merge_requests/1321, and knowing
> what the string is will help us determine whether that's the case, or
> whether a different string is needed?


I thought i would update just to make it seem like i did not ghost or anything, But i have messaged the Dev of the app about 5 days ago at this time, still waiting on a response.

I'll message again should he send me that string info
Comment 6 Bug Janitor Service 2023-07-07 03:45:08 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 7 eweapon713 2023-07-08 02:05:26 UTC
I have not received that string info from the Boatswain Developer yet, not in a position to be able to force that information to be relinquished.
The bug is still present, i would almost want to call it rude to declare the issue resolved and discard it from on that point.
although i get the feeling that was a bot.

Thank you for any work put twords resolving this, even though its basically shooting in the dark without that info. sorry i cant just grab it.
Comment 8 Nate Graham 2023-07-08 02:20:10 UTC
That was indeed a bot, but unfortunately we need the info I indicated from the Boatswain developer to proceed here. I'm sure the answer is somewhere in https://gitlab.gnome.org/World/boatswain/-/tree/main/src for me or anyone else to find ourselves, but speaking personally I'm not familiar enough with GTK to know where to look, sorry.
Comment 9 Bug Janitor Service 2023-07-24 03:45:02 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 10 eweapon713 2023-07-24 05:51:47 UTC
I'm gonna apologies for this. but i have still have not heard back from the dev. maybe i said something wrong. or their not willing to send code information to some rando. 
i'll supply the link to their contact site if your willing to send a message yourself. but I'm not gonna hold that as an expectation.
So at this point I'm gonna consider this avenue a dead end and go back to the drawing on getting this stream deck to work

https://feaneron.com/contact/

Thank you however for responding and offering to help out on this.
Comment 11 Nate Graham 2023-07-26 17:52:43 UTC
I've messaged Georges. Let's see what happenes.
Comment 12 Bug Janitor Service 2023-08-10 03:45:10 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 13 Bug Janitor Service 2023-08-25 03:45:25 UTC
This bug has been in NEEDSINFO status with no change for at least
30 days. The bug is now closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!
Comment 14 Nate Graham 2023-12-01 00:13:20 UTC
I eventually got a response from Georges who helpfully pointed me to the code in question, which uses a glob to specify mimetypes:

- https://gitlab.gnome.org/World/boatswain/-/blob/main/src/plugins/soundboard/soundboard-play-action-prefs.c#L102-105
- https://gitlab.gnome.org/World/boatswain/-/blob/main/src/bs-stream-deck-button-editor.c#L387-391

This currently isn't supported, and it's a known issue in the KDE portal.

I can't reproduce the crash per se, but clearly there is some problem with glob-based mimetype specification. So I'll mark this as a duplicate of that bug report for now.

Thanks for your patience here!

*** This bug has been marked as a duplicate of bug 450612 ***