https://bugs.kde.org/show_bug.cgi?id=506713

--- Comment #12 from POPO <[email protected]> ---
(In reply to Harald Sitter from comment #11)
> I just realized that xdg-desktop-portal-kde shouldn't be involved here.
> 
> please post the output of the command
> 
> > env
> 
> and then start kate, freeze it, and trigger a crash while it is frozen
> 
> > killall -ABRT kate
> 
> please post the developer information from that crash as well.

Here is env : 

SHELL=/bin/bash
SESSION_MANAGER=local/sean-laptop:@/tmp/.ICE-unix/1196,unix/sean-laptop:/tmp/.ICE-unix/1196
WINDOWID=94116858423840
COLORTERM=truecolor
XDG_CONFIG_DIRS=/home/sean/.config/kdedefaults:/etc/xdg
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session1
XDG_MENU_PREFIX=plasma-
ICEAUTHORITY=/run/user/1000/iceauth_bIoXOv
LANGUAGE=
LC_ADDRESS=fr_FR.UTF-8
LC_NAME=fr_FR.UTF-8
force_s3tc_enable=true
GRADLE_HOME=/usr/share/java/gradle
SHELL_SESSION_ID=43db3e2cba24462882b45e25aa2cbb30
MEMORY_PRESSURE_WRITE=c29tZSAyMDAwMDAgMjAwMDAwMAA=
DESKTOP_SESSION=plasma
LC_MONETARY=fr_FR.UTF-8
GTK_RC_FILES=/etc/gtk/gtkrc:/home/sean/.gtkrc:/home/sean/.config/gtkrc
EDITOR=nano
XDG_SEAT=seat0
PWD=/home/sean
XDG_SESSION_DESKTOP=KDE
LOGNAME=sean
XDG_SESSION_TYPE=wayland
SYSTEMD_EXEC_PID=1234
XAUTHORITY=/run/user/1000/xauth_XkCjCi
MOTD_SHOWN=pam
GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/home/sean/.gtkrc-2.0:/home/sean/.config/gtkrc-2.0
HOME=/home/sean
LC_PAPER=fr_FR.UTF-8
LANG=fr_FR.UTF-8
XDG_CURRENT_DESKTOP=KDE
KONSOLE_DBUS_SERVICE=:1.116
MEMORY_PRESSURE_WATCH=/sys/fs/cgroup/user.slice/user-1000.slice/[email protected]/session.slice/plasma-plasmashell.service/memory.pressure
WAYLAND_DISPLAY=wayland-0
KONSOLE_DBUS_SESSION=/Sessions/1
PROFILEHOME=
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
LIBVA_MESSAGING_LEVEL=1
INVOCATION_ID=98481dc57bb24385848cbfe2165f7536
KONSOLE_VERSION=250403
MANAGERPID=1004
KDE_SESSION_UID=1000
XKB_DEFAULT_LAYOUT=fr
XDG_SESSION_CLASS=user
TERM=xterm-256color
LC_IDENTIFICATION=fr_FR.UTF-8
USER=sean
COLORFGBG=15;0
QT_WAYLAND_RECONNECT=1
KDE_SESSION_VERSION=6
PAM_KWALLET5_LOGIN=/run/user/1000/kwallet5.socket
DISPLAY=:1
SHLVL=1
LC_TELEPHONE=fr_FR.UTF-8
LC_MEASUREMENT=fr_FR.UTF-8
XDG_VTNR=1
XDG_SESSION_ID=2
XDG_RUNTIME_DIR=/run/user/1000
DEBUGINFOD_URLS=https://debuginfod.archlinux.org 
LC_TIME=fr_FR.UTF-8
JOURNAL_STREAM=9:15568
KDE_FULL_SESSION=true
BROWSER=firefox
PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
KDE_APPLICATIONS_AS_SCOPE=1
MAIL=/var/spool/mail/sean
LC_NUMERIC=fr_FR.UTF-8
KONSOLE_DBUS_WINDOW=/Windows/1
_=/usr/bin/env


The backtrace for kate file dialog freeze on close + triggered crash :

#0  __syscall_cancel_arch ()
    at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007f50fc4a1fda in __internal_syscall_cancel (a1=<optimized out>, 
    a2=a2@entry=0, a3=a3@entry=0, a4=a4@entry=0, a5=a5@entry=0, a6=a6@entry=0, 
    nr=75) at cancellation.c:49
#2  0x00007f50fc4a2024 in __syscall_cancel (a1=<optimized out>, a2=a2@entry=0, 
    a3=a3@entry=0, a4=a4@entry=0, a5=a5@entry=0, a6=a6@entry=0, nr=75)
    at cancellation.c:75
#3  0x00007f50fc51ef82 in __GI_fdatasync (fd=<optimized out>)
    at ../sysdeps/unix/sysv/linux/fdatasync.c:28
#4  0x00007f50fcb27d56 in QFSFileEnginePrivate::nativeSyncToDisk (
    this=0x5627075424d0)
    at /usr/src/debug/qt6-base/qtbase/src/corelib/io/qfsfileengine_unix.cpp:163
#5  QFSFileEngine::syncToDisk (this=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase/src/corelib/io/qfsfileengine.cpp:427
#6  0x00007f50fcb3ecf2 in QSaveFile::commit (this=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase/src/corelib/io/qsavefile.cpp:304
#7  0x00007f50fcda2019 in QConfFileSettingsPrivate::syncConfFile (
    this=this@entry=0x562708ce32c0, confFile=0x562707c75ea0)
    at /usr/src/debug/qt6-base/qtbase/src/corelib/io/qsettings.cpp:1495
#8  0x00007f50fcda292f in QConfFileSettingsPrivate::sync (this=0x562708ce32c0)
    at /usr/src/debug/qt6-base/qtbase/src/corelib/io/qsettings.cpp:1304
#9  0x00007f50fcda480d in QConfFileSettingsPrivate::flush (this=<optimized
out>)
    at /usr/src/debug/qt6-base/qtbase/src/corelib/io/qsettings.cpp:1310
#10 QSettings::~QSettings (this=<optimized out>, this=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase/src/corelib/io/qsettings.cpp:2742
#11 0x00007f50fdfc608e in QFileDialogPrivate::saveSettings (this=<optimized
out>)
    at /usr/src/debug/qt6-base/qtbase/src/widgets/dialogs/qfiledialog.cpp:2824
#12 0x00007f50fdfb62af in QFileDialog::~QFileDialog (this=<optimized out>, 
    this=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase/src/widgets/dialogs/qfiledialog.cpp:378
#13 0x00007f50fdfc20dd in QFileDialog::~QFileDialog (this=<optimized out>, 
    this=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase/src/widgets/dialogs/qfiledialog.cpp:374
#14 QAutoPointer<QFileDialog>::~QAutoPointer (this=<optimized out>, 
    this=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase/src/widgets/dialogs/qdialog_p.h:109
#15 QFileDialog::getOpenFileUrls (parent=<optimized out>, caption=..., dir=..., 
    filter=..., selectedFilter=selectedFilter@entry=0x0, options=..., 
    supportedSchemes=...)
    at /usr/src/debug/qt6-base/qtbase/src/widgets/dialogs/qfiledialog.cpp:2266
--Type <RET> for more, q to quit, c to continue without paging--
#16 0x00007f50fe68126f in KateViewManager::slotDocumentOpen
(this=0x562707125960)
    at /usr/src/debug/kate/kate-25.04.3/apps/lib/kateviewmanager.cpp:365
#17 0x00007f50fcbd37ef in QtPrivate::QSlotObjectBase::call (this=<optimized
out>, 
    r=<optimized out>, a=<optimized out>, this=<optimized out>, r=<optimized
out>, 
    a=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:461
#18 doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, 
    argv=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4146
#19 0x00007f50fd8073c0 in QMetaObject::activate<void, bool> (
    sender=<optimized out>, mo=<optimized out>, local_signal_index=<optimized
out>, 
    ret=<optimized out>, sender=<optimized out>, mo=<optimized out>, 
    local_signal_index=<optimized out>, ret=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs.h:306
#20 QAction::triggered (this=<optimized out>, _t1=<optimized out>)
    at
/usr/src/debug/qt6-base/build/src/gui/Gui_autogen/include/moc_qaction.cpp:372
#21 QAction::activate (this=0x5627075817e0, event=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qaction.cpp:1104
#22 0x00007f50fde424ad in QAbstractButtonPrivate::click (
    this=this@entry=0x5627073429a0)
    at
/usr/src/debug/qt6-base/qtbase/src/widgets/widgets/qabstractbutton.cpp:364
#23 0x00007f50fde426c1 in QAbstractButton::mouseReleaseEvent
(this=0x5627073603f0, 
    e=0x5627083474b0)
    at
/usr/src/debug/qt6-base/qtbase/src/widgets/widgets/qabstractbutton.cpp:976
#24 0x00007f50fdf85e61 in QToolButton::mouseReleaseEvent (this=0x5627073603f0, 
    e=0x5627083474b0)
    at /usr/src/debug/qt6-base/qtbase/src/widgets/widgets/qtoolbutton.cpp:588
#25 0x00007f50fdd5b6c7 in QWidget::event (this=0x5627073603f0,
event=0x5627083474b0)
    at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qwidget.cpp:8987
#26 0x00007f50fdd01c70 in QApplicationPrivate::notify_helper (
    this=this@entry=0x5627068a1210, receiver=receiver@entry=0x5627073603f0, 
    e=e@entry=0x5627083474b0)
    at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3303
#27 0x00007f50fdd05c39 in QApplication::notify (this=<optimized out>, 
    receiver=<optimized out>, e=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:2780
#28 0x00007f50fcb68118 in QCoreApplication::notifyInternal2 (
    receiver=0x5627073603f0, event=event@entry=0x5627083474b0)
    at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1106
#29 0x00007f50fcb684fb in QCoreApplication::sendEvent (receiver=<optimized
out>, 
    event=0x5627083474b0)
--Type <RET> for more, q to quit, c to continue without paging--
    at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1546
#30 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, 
    data=0x5627068757a0)
    at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1879
#31 0x00007f50fce3fcf8 in QCoreApplication::sendPostedEvents (receiver=0x0, 
    event_type=0)
    at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1733
#32 postEventSourceDispatch (s=0x5627068a10b0)
    at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:246
#33 0x00007f50fb67e87d in g_main_dispatch (context=0x7f50f0000f00)
    at ../glib/glib/gmain.c:3398
#34 0x00007f50fb67fcd7 in g_main_context_dispatch_unlocked
(context=0x7f50f0000f00)
    at ../glib/glib/gmain.c:4249
#35 g_main_context_iterate_unlocked (context=context@entry=0x7f50f0000f00, 
    block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at ../glib/glib/gmain.c:4314
#36 0x00007f50fb67fee5 in g_main_context_iteration (context=0x7f50f0000f00, 
    may_block=1) at ../glib/glib/gmain.c:4379
#37 0x00007f50fce3c5e2 in QEventDispatcherGlib::processEvents
(this=0x5627068a2560, 
    flags=...)
    at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399
#38 0x00007f50fcb744b6 in QEventLoop::processEvents (this=0x7ffd7bd260a0,
flags=...)
    at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:104
#39 QEventLoop::exec (this=0x7ffd7bd260a0, flags=...)
    at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:186
#40 0x00007f50fcb6c7c1 in QCoreApplication::exec ()
    at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1449
#41 0x00007f50fdcfc6aa in QApplication::exec ()
    at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:2570
#42 0x00005626df5a2ac9 in main (argc=<optimized out>, argv=<optimized out>)
    at /usr/src/debug/kate/kate-25.04.3/apps/kate/main.cpp:547


The trace was captured during the freeze, and it shows the application stuck in
QSaveFile::commit(), specifically on fdatasync(), likely called during
QFileDialog's cleanup. (according to ChatGPT).

Thanks

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to