Bug 514030 - admin: protocol in dolphin crashes polkitd
Summary: admin: protocol in dolphin crashes polkitd
Status: REPORTED
Alias: None
Product: kio-admin
Classification: Frameworks and Libraries
Component: general (other bugs)
Version First Reported In: unspecified
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Unassigned bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2026-01-01 05:31 UTC by pallaswept
Modified: 2026-01-05 17:44 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description pallaswept 2026-01-01 05:31:46 UTC
SUMMARY
If I open a tab in dolphin and set the location to admin:/tmp/foo, polkit prompts me for a password and now I have root permissions in /tmp/foo, great!

Shortly afterwards, it suddenly 'kicks me out', and I see the message that Administrator rights have expired. Subsequent attempts to gain admin rights immediately 'kick me out' again. Looking at the journal, I can see that polkitd is crashing due to exceeding the open files limit, which is at the default.

This started happening a couple of months back back was working prior to that.

STEPS TO REPRODUCE
1. Open dolphin and browse to some folder you'd like to have root in
2. prefix location with "admin:" and press enter
3. Fill password prompt
4. Use for a short time

OBSERVED RESULT
polikitd crash

EXPECTED RESULT
no polkitd crash

SOFTWARE/OS VERSIONS
Operating System: openSUSE Tumbleweed 20251229
KDE Plasma Version: 6.5.4
KDE Frameworks Version: 6.21.0
Qt Version: 6.10.1
Kernel Version: 6.18.2-1-default (64-bit)
Graphics Platform: Wayland
Processors: 24 × AMD Ryzen 9 5900X 12-Core Processor
Memory: 32 GiB of RAM (30.7 GiB usable)
Graphics Processor: NVIDIA GeForce RTX 3090

Happy New Year!
Comment 1 TraceyC 2026-01-05 15:39:20 UTC
Thanks for the crash report. As the message at the top of the summary says, if something crashed, we need a backtrace of it so we can figure out what's going on. Can you please attach a backtrace of the crash using the coredumpctl command-line program, as detailed in https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports#Retrieving_a_backtrace_using_coredumpctl ?

Thanks.
Comment 2 pallaswept 2026-01-05 17:44:13 UTC
I reported this because I'd seen others effected by it, so I presumed you'd be able to reproduce... Here's the crash dump:

> sudo coredumpctl gdb 1440
           PID: 1440 (polkitd)
           UID: 483 (polkitd)
           GID: 483 (polkitd)
        Signal: 5 (TRAP)
     Timestamp: Tue 2026-01-06 04:22:56 AEDT (2min 15s ago)
  Command Line: /usr/libexec/polkit-1/polkitd --no-debug --log-level=notice
    Executable: /usr/libexec/polkit-1/polkitd
 Control Group: /system.slice/polkit.service
          Unit: polkit.service
         Slice: system.slice
       Boot ID: b9efdad1cfae48ba86751031a6d08279
    Machine ID: d1654432ca084a0f87cc07d704dfc02a
      Hostname: Pallas
       Storage: /var/lib/systemd/coredump/core.polkitd.483.b9efdad1cfae48ba86751031a6d08279.1440.1767633776000000.zst (present)
  Size on Disk: 963.4K
       Message: Process 1440 (polkitd) of user 483 dumped core.
                
                Stack trace of thread 1440:
                #0  0x00007f9cb62c05ab g_log_structured_array (libglib-2.0.so.0 + 0x6b5ab)
                #1  0x00007f9cb62c0a20 g_log_default_handler (libglib-2.0.so.0 + 0x6ba20)
                #2  0x00007f9cb62c0c89 g_logv (libglib-2.0.so.0 + 0x6bc89)
                #3  0x00007f9cb62c0fef g_log (libglib-2.0.so.0 + 0x6bfef)
                #4  0x00007f9cb6312842 g_wakeup_new (libglib-2.0.so.0 + 0xbd842)
                #5  0x00007f9cb62b41c1 g_main_context_new_with_flags (libglib-2.0.so.0 + 0x5f1c1)
                #6  0x00007f9cb6534144 g_dbus_connection_send_message_with_reply_sync (libgio-2.0.so.0 + 0x120144)
                #7  0x00007f9cb653450c g_dbus_connection_call_sync_internal (libgio-2.0.so.0 + 0x12050c)
                #8  0x00007f9cb6617a24 polkit_system_bus_name_get_creds_sync (libpolkit-gobject-1.so.0 + 0xba24)
                #9  0x00007f9cb661ed02 polkit_system_bus_name_get_user_sync (libpolkit-gobject-1.so.0 + 0x12d02)
                #10 0x000055a1bf4630b5 polkit_backend_session_monitor_get_user_for_subject (/usr/libexec/polkit-1/polkitd + 0xf0b5)
                #11 0x000055a1bf466e83 polkit_backend_interactive_authority_check_authorization (/usr/libexec/polkit-1/polkitd + 0x12e83)
                #12 0x000055a1bf45ec7a polkit_backend_authority_check_authorization (/usr/libexec/polkit-1/polkitd + 0xac7a)
                #13 0x00007f9cb65323c6 call_in_idle_cb (libgio-2.0.so.0 + 0x11e3c6)
                #14 0x00007f9cb62b2d2e g_idle_dispatch (libglib-2.0.so.0 + 0x5dd2e)
                #15 0x00007f9cb62b4b36 g_main_dispatch (libglib-2.0.so.0 + 0x5fb36)
                #16 0x00007f9cb62b7a28 g_main_context_iterate_unlocked (libglib-2.0.so.0 + 0x62a28)
                #17 0x00007f9cb62b8487 g_main_loop_run (libglib-2.0.so.0 + 0x63487)
                #18 0x000055a1bf45db97 main (/usr/libexec/polkit-1/polkitd + 0x9b97)
                #19 0x00007f9cb5e2b2fb __libc_start_call_main (libc.so.6 + 0x2b2fb)
                #20 0x00007f9cb5e2b3cb __libc_start_main_impl (libc.so.6 + 0x2b3cb)
                #21 0x000055a1bf45dcd5 _start (/usr/libexec/polkit-1/polkitd + 0x9cd5)
                
                Stack trace of thread 1688:
                #0  0x00007f9cb5ea4812 __syscall_cancel_arch (libc.so.6 + 0xa4812)
                #1  0x00007f9cb5e98008 __internal_syscall_cancel (libc.so.6 + 0x98008)
                #2  0x00007f9cb5e98061 __syscall_cancel (libc.so.6 + 0x98061)
                #3  0x00007f9cb5f12f32 __GI_ppoll (libc.so.6 + 0x112f32)
                #4  0x00007f9cb62b7b1f ppoll (libglib-2.0.so.0 + 0x62b1f)
                #5  0x00007f9cb62b826c g_main_context_iteration (libglib-2.0.so.0 + 0x6326c)
                #6  0x00007f9cb62b82b1 glib_worker_main (libglib-2.0.so.0 + 0x632b1)
                #7  0x00007f9cb62e93ad g_thread_proxy (libglib-2.0.so.0 + 0x943ad)
                #8  0x00007f9cb5e9bdf1 start_thread (libc.so.6 + 0x9bdf1)
                #9  0x00007f9cb5f20a64 __clone (libc.so.6 + 0x120a64)
                
                Stack trace of thread 1690:
                #0  0x00007f9cb5ea4812 __syscall_cancel_arch (libc.so.6 + 0xa4812)
                #1  0x00007f9cb5e98008 __internal_syscall_cancel (libc.so.6 + 0x98008)
                #2  0x00007f9cb5e98061 __syscall_cancel (libc.so.6 + 0x98061)
                #3  0x00007f9cb5f12f32 __GI_ppoll (libc.so.6 + 0x112f32)
                #4  0x00007f9cb62b7b1f ppoll (libglib-2.0.so.0 + 0x62b1f)
                #5  0x00007f9cb62b8487 g_main_loop_run (libglib-2.0.so.0 + 0x63487)
                #6  0x00007f9cb6543ef6 gdbus_shared_thread_func (libgio-2.0.so.0 + 0x12fef6)
                #7  0x00007f9cb62e93ad g_thread_proxy (libglib-2.0.so.0 + 0x943ad)
                #8  0x00007f9cb5e9bdf1 start_thread (libc.so.6 + 0x9bdf1)
                #9  0x00007f9cb5f20a64 __clone (libc.so.6 + 0x120a64)
                
                Stack trace of thread 1689:
                #0  0x00007f9cb5f1e80d syscall (libc.so.6 + 0x11e80d)
                #1  0x00007f9cb62e8c5e g_cond_wait_impl (libglib-2.0.so.0 + 0x93c5e)
                #2  0x00007f9cb627e5b4 g_async_queue_pop_intern_unlocked (libglib-2.0.so.0 + 0x295b4)
                #3  0x00007f9cb62e9664 g_thread_pool_spawn_thread (libglib-2.0.so.0 + 0x94664)
                #4  0x00007f9cb62e93ad g_thread_proxy (libglib-2.0.so.0 + 0x943ad)
                #5  0x00007f9cb5e9bdf1 start_thread (libc.so.6 + 0x9bdf1)
                #6  0x00007f9cb5f20a64 __clone (libc.so.6 + 0x120a64)
                ELF object binary architecture: AMD x86-64

GNU gdb (GDB; openSUSE Tumbleweed) 16.3
Copyright (C) 2024 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-suse-linux".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://bugs.opensuse.org/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/libexec/polkit-1/polkitd...
Reading symbols from /usr/lib/debug/usr/libexec/polkit-1/polkitd.debug...
[New LWP 1440]
[New LWP 1688]
[New LWP 1690]
[New LWP 1689]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/usr/libexec/polkit-1/polkitd --no-debug --log-level=notice'.
Program terminated with signal SIGTRAP, Trace/breakpoint trap.
#0  g_log_structured_array (log_level=<optimized out>, fields=0x7ffd7685e650, n_fields=5) at ../glib/gmessages.c:430
430         G_BREAKPOINT ();
[Current thread is 1 (Thread 0x7f9cb6008f00 (LWP 1440))]
(gdb) bt full
#0  g_log_structured_array (log_level=<optimized out>, fields=0x7ffd7685e650, n_fields=5) at ../glib/gmessages.c:430
        writer_func = <optimized out>
        writer_user_data = <optimized out>
        recursion = <optimized out>
        depth = <optimized out>
        _g_boolean_var_21 = <optimized out>
#1  0x00007f9cb62c0a20 in g_log_default_handler (log_domain=log_domain@entry=0x7f9cb631800e "GLib", log_level=log_level@entry=6, message=message@entry=0x55a1e868e110 "Creating pipes for GWakeup: Too many open files", unused_data=unused_data@entry=0x0)
    at ../glib/gmessages.c:3536
        fields = {{key = 0x7f9cb631a265 "GLIB_OLD_LOG_API", value = 0x7f9cb6319b7d, length = -1}, {key = 0x7f9cb631a177 "MESSAGE", value = 0x55a1e868e110, length = -1}, {key = 0x7f9cb631a1dd "PRIORITY", value = 0x7f9cb631a144, length = -1}, {key = 0x7f9cb631a17f "GLIB_DOMAIN", value = 0x7f9cb631800e, length = -1}, {key = 0x7f9cb631a21a "SYSLOG_IDENTIFIER", value = 0x55a1e8644f70, length = -1}}
        n_fields = 5
        prgname = <optimized out>
#2  0x00007f9cb62c0c89 in g_logv (log_domain=0x7f9cb631800e "GLib", log_level=G_LOG_LEVEL_ERROR, format=<optimized out>, args=args@entry=0x7ffd7685e7c0) at ../glib/gmessages.c:1264
        domain = 0x0
        data = 0x0
        depth = <optimized out>
        log_func = 0x7f9cb62c0920 <g_log_default_handler>
        domain_fatal_mask = <optimized out>
        masquerade_fatal = 0
        test_level = <optimized out>
        was_fatal = 0
        was_recursion = 0
        buffer = {<optimized out> <repeats 1025 times>}
        msg_alloc = 0x55a1e868e110 "Creating pipes for GWakeup: Too many open files"
        msg = 0x55a1e868e110 "Creating pipes for GWakeup: Too many open files"
        i = 2
        size = <optimized out>
#3  0x00007f9cb62c0fef in g_log (log_domain=log_domain@entry=0x7f9cb631800e "GLib", log_level=log_level@entry=G_LOG_LEVEL_ERROR, format=format@entry=0x7f9cb6325a00 "Creating pipes for GWakeup: %s") at ../glib/gmessages.c:1333
        args = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7ffd7685e8a0, reg_save_area = 0x7ffd7685e7e0}}
#4  0x00007f9cb6312842 in g_wakeup_new () at ../glib/gwakeup.c:162
        error = 0x55a1e8698170
        wakeup = 0x55a1e889e230
#5  0x00007f9cb62b41c1 in g_main_context_new_with_flags (flags=flags@entry=G_MAIN_CONTEXT_FLAGS_NONE) at ../glib/gmain.c:713
        initialised = 1
        context = 0x55a1e88b9ca0
#6  0x00007f9cb62b4227 in g_main_context_new () at ../glib/gmain.c:659
#7  0x00007f9cb6534144 in g_dbus_connection_send_message_with_reply_sync
    (connection=connection@entry=0x55a1e865d960 [GDBusConnection], message=message@entry=0x7f9ca800c590 [GDBusMessage], flags=flags@entry=G_DBUS_SEND_MESSAGE_FLAGS_NONE, timeout_msec=timeout_msec@entry=-1, out_serial=out_serial@entry=0x0, cancellable=cancellable@entry=0x0, error=0x7ffd7685e9a0) at ../gio/gdbusconnection.c:2308
        data = {res = 0x0, context = 0x55a1e8897650, loop = 0x7f9cb662411f}
        reply = <optimized out>
#8  0x00007f9cb653450c in g_dbus_connection_call_sync_internal
    (connection=connection@entry=0x55a1e865d960 [GDBusConnection], bus_name=bus_name@entry=0x7f9cb662411f "org.freedesktop.DBus", object_path=object_path@entry=0x7f9cb6624134 "/org/freedesktop/DBus", interface_name=interface_name@entry=0x7f9cb662411f "org.freedesktop.DBus", method_name=method_name@entry=0x7f9cb662416b "GetConnectionCredentials", parameters=0x55a1e88b3710, reply_type=0x7f9cb6624163, flags=G_DBUS_CALL_FLAGS_NONE, timeout_msec=-1, fd_list=0x0, out_fd_list=0x7ffd7685ea88, cancellable=0x0, error=0x7ffd7685ea80)
    at ../gio/gdbusconnection.c:6715
        message = 0x7f9ca800c590 [GDBusMessage]
        reply = 0x0
        result = 0x0
        local_error = 0x0
        send_flags = <optimized out>
        out = <optimized out>
#9  0x00007f9cb6536f45 in g_dbus_connection_call_with_unix_fd_list_sync
    (connection=connection@entry=0x55a1e865d960 [GDBusConnection], bus_name=bus_name@entry=0x7f9cb662411f "org.freedesktop.DBus", object_path=object_path@entry=0x7f9cb6624134 "/org/freedesktop/DBus", interface_name=interface_name@entry=0x7f9cb662411f "org.freedesktop.DBu--Type <RET> for more, q to quit, c to continue without paging--c
s", method_name=method_name@entry=0x7f9cb662416b "GetConnectionCredentials", parameters=<optimized out>, reply_type=0x7f9cb6624163, flags=G_DBUS_CALL_FLAGS_NONE, timeout_msec=-1, fd_list=0x0, out_fd_list=0x7ffd7685ea88, cancellable=0x0, error=0x7ffd7685ea80)
    at ../gio/gdbusconnection.c:7089
#10 0x00007f9cb6617a24 in polkit_system_bus_name_get_creds_sync
    (system_bus_name=system_bus_name@entry=0x55a1e88d8d00 [PolkitSystemBusName], out_uid=out_uid@entry=0x7ffd7685eb14, out_gids=out_gids@entry=0x0, out_pid=out_pid@entry=0x0, out_pidfd=out_pidfd@entry=0x0, cancellable=cancellable@entry=0x0, error=0x7ffd7685ec28)
    at ../src/polkit/polkitsystembusname.c:511
        ret = 0
        connection = 0x55a1e865d960 [GDBusConnection]
        tmp_context = 0x55a1e86f3320
        iter = 0x7f9cb62c0fef <g_log+143>
        result = <optimized out>
        value = 0x55a1e88c5700
        fd_list = 0x0
        dbus_error = 0x0
        key = 0x55a1e88d8d00 ""
        uid = 4294967295
        pid = 0
        pidfd = -1
        gids = 0x0
        out = <optimized out>
#11 0x00007f9cb661ed02 in polkit_system_bus_name_get_user_sync (system_bus_name=0x55a1e88d8d00 [PolkitSystemBusName], cancellable=0x0, error=0x7ffd7685ec28) at ../src/polkit/polkitsystembusname.c:670
        ret = 0x0
        uid = 0
        out = <optimized out>
#12 0x000055a1bf4630b5 in polkit_backend_session_monitor_get_user_for_subject (subject=subject@entry=0x55a1e88d8d00, result_matches=result_matches@entry=0x0, error=error@entry=0x7ffd7685ec28, monitor=<optimized out>)
    at ../src/polkitbackend/polkitbackendsessionmonitor-systemd.c:305
        ret = 0x0
        matches = 0
#13 0x000055a1bf466e83 in polkit_backend_interactive_authority_check_authorization
    (authority=0x55a1e864a340 [PolkitBackendJsAuthority], caller=0x55a1e88d8d00, subject=0x7f9ca800dcb0, action_id=0x55a1e88f33f3 "org.kde.kio.admin.commands", details=0x55a1e88b4460 [PolkitDetails], flags=POLKIT_CHECK_AUTHORIZATION_FLAGS_NONE, cancellable=0x0, callback=0x55a1bf45e970 <check_auth_cb>, user_data=0x55a1e890af20) at ../src/polkitbackend/polkitbackendinteractiveauthority.c:907
        interactive_authority = 0x55a1e864a340 [PolkitBackendJsAuthority]
        priv = <optimized out>
        caller_str = 0x55a1e88c5700 "system-bus-name::1.2318"
        subject_str = 0x55a1e88b3840 "unix-process:1252150:18563196"
        user_of_caller = 0x0
        user_of_subject = 0x0
        user_of_subject_matches = 0
        user_of_caller_str = 0x0
        user_of_subject_str = 0x0
        result = 0x0
        implicit_authorization = POLKIT_IMPLICIT_AUTHORIZATION_NOT_AUTHORIZED
        error = 0x0
        simple = 0x55a1e867a450 [GSimpleAsyncResult]
        has_details = <optimized out>
        detail_keys = <optimized out>
#14 0x000055a1bf45ec7a in polkit_backend_authority_check_authorization
    (callback=0x55a1bf45e970 <check_auth_cb>, authority=0x55a1e864a340 [PolkitBackendJsAuthority], caller=0x55a1e88d8d00, subject=0x7f9ca800dcb0, action_id=<optimized out>, details=0x55a1e88b4460 [PolkitDetails], flags=<optimized out>, cancellable=<optimized out>, user_data=0x55a1e890af20) at ../src/polkitbackend/polkitbackendauthority.c:237
        klass = <optimized out>
        simple = <optimized out>
#15 server_handle_check_authorization (server=0x7f9ca8002c50, parameters=0xada0ebb6c8139800, caller=0x55a1e88d8d00, invocation=0x7f9ca8007fe0 [GDBusMethodInvocation]) at ../src/polkitbackend/polkitbackendauthority.c:851
        subject_gvariant = 0x55a1e88b4290
        action_id = 0x55a1e88f33f3 "org.kde.kio.admin.commands"
        details_gvariant = 0x55a1e88ad230
        flags = 0
        cancellation_id = 0x55a1e88f3414 ""
        error = 0x0
        subject = 0x7f9ca800dcb0
        details = 0x55a1e88b4460 [PolkitDetails]
        data = 0x55a1e890af20
#16 server_handle_method_call
    (connection=<optimized out>, sender=sender@entry=0x7f9ca8008bb0 ":1.2318", object_path=object_path@entry=0x7f9ca8013d80 "/org/freedesktop/PolicyKit1/Authority", interface_name=interface_name@entry=0x7f9ca800a400 "org.freedesktop.PolicyKit1.Authority", method_name=method_name@entry=0x7f9ca801d580 "CheckAuthorization", parameters=parameters@entry=0x7f9ca800a730, invocation=0x7f9ca8007fe0 [GDBusMethodInvocation], user_data=0x7f9ca8002c50) at ../src/polkitbackend/polkitbackendauthority.c:1414
        server = 0x7f9ca8002c50
        caller = 0x55a1e88d8d00
#17 0x00007f9cb65323c6 in call_in_idle_cb (user_data=user_data@entry=0x7f9ca8007fe0) at ../gio/gdbusconnection.c:5476
        invocation = 0x7f9ca8007fe0 [GDBusMethodInvocation]
        vtable = <optimized out>
        registration_id = <optimized out>
        subtree_registration_id = <optimized out>
        ei = 0x55a1e8680050
        es = 0x0
#18 0x00007f9cb62b2d2e in g_idle_dispatch (source=source@entry=0x7f9ca800b140, callback=0x7f9cb65322b0 <call_in_idle_cb>, user_data=0x7f9ca8007fe0) at ../glib/gmain.c:6466
        idle_source = 0x7f9ca800b140
        again = <optimized out>
#19 0x00007f9cb62b4b36 in g_main_dispatch (context=0x55a1e86532e0) at ../glib/gmain.c:3565
        dispatch = <optimized out>
        prev_source = 0x0
        begin_time_nsec = 0
        was_in_call = 0
        user_data = 0x7f9ca8007fe0
        callback = 0x7f9cb65322b0 <call_in_idle_cb>
        cb_funcs = 0x7f9cb63ac260 <g_source_callback_funcs>
        cb_data = 0x7f9ca801d550
        need_destroy = <optimized out>
        source = 0x7f9ca800b140
        current = 0x55a1e86640e0
        i = 0
#20 g_main_context_dispatch_unlocked (context=context@entry=0x55a1e86532e0) at ../glib/gmain.c:4425
#21 0x00007f9cb62b7a28 in g_main_context_iterate_unlocked (context=0x55a1e86532e0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4490
        max_priority = 2147483647
        timeout_usec = 282413241
        some_ready = 1
        nfds = 2
        allocated_nfds = <optimized out>
        fds = <optimized out>
#22 0x00007f9cb62b8487 in g_main_loop_run (loop=0x55a1e86911e0) at ../glib/gmain.c:4695
        self = <optimized out>
#23 0x000055a1bf45db97 in main (argc=<optimized out>, argv=<optimized out>) at ../src/polkitbackend/polkitd.c:298
        error = 0x0
        opt_context = 0x55a1e8644e30
        name_owner_id = 1
        sigint_id = 13
        sighup_id = 14