Bug 499865

Summary: KDirWatch will crash if watching a file on the network and the network goes down
Product: [Frameworks and Libraries] frameworks-kcoreaddons Reporter: jimbo <loudsquid>
Component: generalAssignee: Michael Pyne <mpyne>
Status: RESOLVED FIXED    
Severity: crash CC: christoph, kdedev, kdelibs-bugs-null, waqar.17a
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed In: 6.17.0
Sentry Crash Report:

Description jimbo 2025-02-12 10:25:40 UTC
So I've run into this issue more than once with Kate, and it's very frustrating.

I've been testing a program that requires me to disable the internet connection on my computer. I run the program with the network card disabled, and then I re-enable it and run the program again. 

During this time Kate is open and I have text files in it that are open on the network. The issue isn't instantaneous, it does take a while before Kate will crash.

Initially I just thought it was a once-off but it happened regularly enough during my program test that I had to save the files I needed on the desktop (I lost some rough notes that weren't saved during the crash too). I appreciate that this is an edge-case but Kate should at least handle this scenario gracefully as network outages can occur.

Ideally if the network connection drops, it shouldn't bother Kate until a save is attempted at which point Kate should tell the user the network is down and give them the chance to save locally. I know that Kate does make temporary saves, maybe that's the trigger for this?

STEPS TO REPRODUCE
1. Create a text file on a network share, or network drive
2. Open it with Kate
3. Disable your network card
4. (You may need to make saves prior to disabling, I'm not sure the exact process, but it does happen)
5. Do some other work and wait for Kate to crash

OBSERVED RESULT
If left alone, Kate will eventually crash

EXPECTED RESULT
The network being down shouldn't affect Kate at all

SOFTWARE/OS VERSIONS
Windows: 10
Comment 1 Waqar Ahmed 2025-02-12 11:01:48 UTC
Is it possible for you to get a stack trace of the crash?
Comment 2 TraceyC 2025-02-12 16:12:49 UTC
Marking as waiting for infor
Comment 3 jimbo 2025-02-17 00:46:46 UTC
Unfortunately, I don't have the time to look into that. I mentioned that I'm currently working on a project and I can't get sidetracked.
Comment 4 jimbo 2025-02-17 00:53:19 UTC
I just did a bit of testing there, the problem is consistent. Open the file on the network, disable the network and click into Kate. It crashes every time. I wanted to try and save the file once the network was disabled but Kate is crashing when you click into it (with a network file open and the network disabled).

Given that the bug is easy to reproduce and consistent, a stack trace from me isn't required at all.
Comment 5 Waqar Ahmed 2025-02-17 05:19:26 UTC
> a stack trace from me isn't required at all.

Its always helpful and needed. No matter how easy/hard the bug seems to reproduce. There are a thousand factors at play here.

This bug doesn't occur on linux which makes this tricky and we dont have people who actively work on windows problems. That is why I asked for a stacktrace.
Comment 6 TraceyC 2025-02-18 19:52:43 UTC
Still needs a backtrace
Comment 7 jimbo 2025-02-23 05:05:46 UTC
Fair enough, can you provide any links to do a stacktrace for Kate on Windows?
Comment 8 Christoph Cullmann 2025-02-23 15:04:06 UTC
easiest way is to install windbg from Microsoft and start the debug nightmake in it.
Comment 9 Waqar Ahmed 2025-02-24 08:45:37 UTC
nightly Kate versions available here: https://kate-editor.org/get-it/
Comment 10 Bug Janitor Service 2025-03-11 03:47:27 UTC
๐Ÿ›๐Ÿงน โš ๏ธ This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information, then set the bug status to REPORTED. If there is no change for at least 30 days, it will be automatically closed as RESOLVED WORKSFORME.

For more information about our bug triaging procedures, please read https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging.

Thank you for helping us make KDE software even better for everyone!
Comment 11 Bug Janitor Service 2025-03-26 03:46:54 UTC
๐Ÿ›๐Ÿงน This bug has been in NEEDSINFO status with no change for at least 30 days. Closing as RESOLVED WORKSFORME.
Comment 12 Waqar Ahmed 2025-03-26 09:54:12 UTC
reopening as obtaining a backtrace is non trivial for a non technical user
Comment 13 jimbo 2025-04-06 15:06:39 UTC
> reopening as obtaining a backtrace is non trivial for a non technical user

Unfortunately, I still don't have free time to follow this up. I'm still interested in a fix, and it's on my todo list... and I'll get to it, but a bot janny sweeping bugs from reporters within 15 days is hilarious. The developers aren't held to this standard, but reporters have to respond after 15 days? The developers are volunteers along with the bug reporters, but you want to put us on a deadline? Either do the same for developers or why should anyone report? Fuck this deadline shit.

I'm eyeballs deep in other stuff at the minute, I'll get around to it when I have spare time. "WORKSFORME" is probably the worst concept ever devised and will drive people away from even reporting. I've only seen this 'WORKSFORME' occur recently, which is pure bollocks. It goes from 'NEEDSINFO', to no info provided, and then suddenly to "WORKSFORME". How does that even make sense? A bug is provided, no info for 30 days and then suddenly "WORKSFORME", yeah, brilliant.

I'll get back to you when I find the time, put a deadline on it and I'm fucking out.
Comment 14 Christoph Cullmann 2025-04-06 15:10:02 UTC
I agree that sometimes that bot is not helpful, but even if it closes the bug, you can still provide the info whenever you like and just re-open it.

That is close to zero extra effort.

Without automation like this, we will just be swamped with stuff.
Comment 15 Christoph Cullmann 2025-07-26 15:45:03 UTC
Can reproduce the crash in my VM if I do share a local folder, mount that as some drive, open a file there and then disconnect the mapped drive.
Comment 16 Christoph Cullmann 2025-07-26 16:00:32 UTC
My backtraces are not that useful, first hints could point to the file system watching.
Comment 17 Christoph Cullmann 2025-07-26 16:05:07 UTC
Yes, no longer crashes if I start Kate with

set KDIRWATCH_METHOD=Stat

to avoid we use the QFileSystemWatcher case in KDirWatch.
Comment 18 Christoph Cullmann 2025-07-26 16:46:37 UTC
Reading the KDirWatch code it seems to be rather an issue in QFileSystemWatcher.

Perhaps I am able to get some usable backtrace, let's see.
Comment 19 Christoph Cullmann 2025-07-27 12:46:59 UTC
Qt Creator uses QFileSystemWatcher, too, and doesn't crash in that situation (and reacts on the 'file in gone' change correctly).
Comment 20 Christoph Cullmann 2025-07-27 14:56:36 UTC
Looking at how KDirWatch works, we could run into

https://bugreports.qt.io/browse/QTBUG-64171
Comment 21 Christoph Cullmann 2025-07-27 15:01:50 UTC
(In reply to Christoph Cullmann from comment #20)
> Looking at how KDirWatch works, we could run into
> 
> https://bugreports.qt.io/browse/QTBUG-64171

Ok, that got fixed it seems :) I always fail to see that in the Jira lists.
Comment 22 Christoph Cullmann 2025-07-27 15:42:49 UTC
Fast command line output in Kate before the crash is:

QFileSystemWatcher: FindNextChangeNotification failed for "Y:\etc"  (An unexpected network error occurred.)
qt.core.filesystemwatcher: file changed "Y:/etc/CraftSettings.ini" removed? true watching? true
Comment 23 Christoph Cullmann 2025-07-27 16:03:22 UTC
That is the full backtrace I get:

Thread 1 (Thread 10004.0x1a84):
#0  0x00007ffe6a3c99c1 in WideCharToMultiByte () from C:\WINDOWS\System32\KernelBase.dll
No symbol table info available.
#1  0x00007ffdfa3ece5e in Qt6Core!?convertFromUnicode_sys@QLocal8Bit@@SA?AVQByteArray@@VQStringView@@IPEAUState@QStringConverterBase@@@Z () from C:\CraftRoot\bin\Qt6Core.dll
No symbol table info available.
#2  0x00007ffdfa3eaa02 in Qt6Core!?convertFromUtf8@QAbstractConcatenable@@KAXVQByteArrayView@@AEAPEAVQChar@@@Z () from C:\CraftRoot\bin\Qt6Core.dll
No symbol table info available.
#3  0x00007ffdfa3e01e0 in Qt6Core!?properties@QUnicodeTables@@YAPEBUProperties@1@_U@Z () from C:\CraftRoot\bin\Qt6Core.dll
No symbol table info available.
#4  0x00007ffdfa3e7b0d in Qt6Core!?toLocal8Bit_helper@QString@@CA?AVQByteArray@@PEBVQChar@@_J@Z () from C:\CraftRoot\bin\Qt6Core.dll
No symbol table info available.
#5  0x00007ffdfa28dd26 in Qt6Core!?encodeName@QFile@@SA?AVQByteArray@@AEBVQString@@@Z () from C:\CraftRoot\bin\Qt6Core.dll
No symbol table info available.
#6  0x00007ffdfd2c8881 in KF6CoreAddons!?setProgramLogo@KAboutData@@QEAAAEAV1@AEBVQVariant@@@Z () from C:\CraftRoot\bin\KF6CoreAddons.dll
No symbol table info available.
#7  0x00007ffdfd2d4e91 in KF6CoreAddons!?setProgramLogo@KAboutData@@QEAAAEAV1@AEBVQVariant@@@Z () from C:\CraftRoot\bin\KF6CoreAddons.dll
..... here we have just xxxx  KF6CoreAddons!?setProgramLogo@KAboutData@@QEAAAEAV1@AEBVQVariant@@@Z () from 
C:\CraftRoot\bin\KF6CoreAddons.dll
No symbol table info available.
#3926 0x00007ffdfd2ce868 in KF6CoreAddons!?setProgramLogo@KAboutData@@QEAAAEAV1@AEBVQVariant@@@Z () from C:\CraftRoot\bin\KF6CoreAddons.dll
No symbol table info available.
#3927 0x00007ffdfa34c67f in Qt6Core!?qt_static_metacall@QObject@@CAXPEAV1@W4Call@QMetaObject@@HPEAPEAX@Z () from C:\CraftRoot\bin\Qt6Core.dll
No symbol table info available.
#3928 0x00007ffdfa34f154 in Qt6Core!?activate@QMetaObject@@SAXPEAVQObject@@PEBU1@HPEAPEAX@Z () from C:\CraftRoot\bin\Qt6Core.dll
No symbol table info available.
#3929 0x00007ffdfa4de5ef in Qt6Core!?fileChanged@QFileSystemWatcher@@QEAAXAEBVQString@@UQPrivateSignal@1@@Z () from C:\CraftRoot\bin\Qt6Core.dll
No symbol table info available.
#3930 0x00007ffdfa4de758 in Qt6Core!?files@QFileSystemWatcher@@QEBA?AV?$QList@VQString@@@@XZ () from C:\CraftRoot\bin\Qt6Core.dll
No symbol table info available.
#3931 0x00007ffdfa34c67f in Qt6Core!?qt_static_metacall@QObject@@CAXPEAV1@W4Call@QMetaObject@@HPEAPEAX@Z () from C:\CraftRoot\bin\Qt6Core.dll
No symbol table info available.
#3932 0x00007ffdfa34f154 in Qt6Core!?activate@QMetaObject@@SAXPEAVQObject@@PEBU1@HPEAPEAX@Z () from C:\CraftRoot\bin\Qt6Core.dll
No symbol table info available.
#3933 0x00007ffdfa4dc285 in Qt6Core!?stateName@QDateTimeParser@@IEBA?AVQString@@W4State@1@@Z () from C:\CraftRoot\bin\Qt6Core.dll
No symbol table info available.
#3934 0x00007ffdfa3584e9 in Qt6Core!?placeMetaCall@QMetaCallEvent@@UEAAXPEAVQObject@@@Z () from C:\CraftRoot\bin\Qt6Core.dll
No symbol table info available.
#3935 0x00007ffdfa35634f in Qt6Core!?event@QObject@@UEAA_NPEAVQEvent@@@Z () from C:\CraftRoot\bin\Qt6Core.dll
No symbol table info available.
#3936 0x00007ffdfaed32e7 in Qt6Widgets!?notify_helper@QApplicationPrivate@@QEAA_NPEAVQObject@@PEAVQEvent@@@Z () from C:\CraftRoot\bin\Qt6Widgets.dll
No symbol table info available.
#3937 0x00007ffdfaed2435 in Qt6Widgets!?notify@QApplication@@UEAA_NPEAVQObject@@PEAVQEvent@@@Z () from C:\CraftRoot\bin\Qt6Widgets.dll
No symbol table info available.
#3938 0x00007ffdfa30f0ef in Qt6Core!?notifyInternal2@QCoreApplication@@CA_NPEAVQObject@@PEAVQEvent@@@Z () from C:\CraftRoot\bin\Qt6Core.dll
No symbol table info available.
#3939 0x00007ffdfa31176e in Qt6Core!?sendPostedEvents@QCoreApplicationPrivate@@SAXPEAVQObject@@HPEAVQThreadData@@@Z () from C:\CraftRoot\bin\Qt6Core.dll
No symbol table info available.
#3940 0x00007ffdfab5d65f in Qt6Gui!?sendPostedEvents@QWindowsGuiEventDispatcher@@UEAAXXZ () from C:\CraftRoot\bin\Qt6Gui.dll
No symbol table info available.
#3941 0x00007ffdfa48ece9 in Qt6Core!?processEvents@QEventDispatcherWin32@@UEAA_NV?$QFlags@W4ProcessEventsFlag@QEventLoop@@@@@Z () from C:\CraftRoot\bin\Qt6Core.dll
No symbol table info available.
#3942 0x00007ffdfab5d5d9 in Qt6Gui!?processEvents@QWindowsGuiEventDispatcher@@UEAA_NV?$QFlags@W4ProcessEventsFlag@QEventLoop@@@@@Z () from C:\CraftRoot\bin\Qt6Gui.dll
No symbol table info available.
#3943 0x00007ffdfa315984 in Qt6Core!?exec@QEventLoop@@QEAAHV?$QFlags@W4ProcessEventsFlag@QEventLoop@@@@@Z () from C:\CraftRoot\bin\Qt6Core.dll
No symbol table info available.
#3944 0x00007ffdfa30d5d2 in Qt6Core!?exec@QCoreApplication@@SAHXZ () from C:\CraftRoot\bin\Qt6Core.dll
No symbol table info available.
#3945 0x00007ff7fb2ca3f6 in ?? ()
No symbol table info available.
#3946 0x00007ff7fb2cd420 in ?? ()
No symbol table info available.
#3947 0x00007ff7fb2cc192 in ?? ()
No symbol table info available.
#3948 0x00007ffe6b6de8d7 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
No symbol table info available.
#3949 0x00007ffe6d01c34c in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#3950 0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 2 (Thread 10004.0x15cc):
#0  0x00007ffe6d146564 in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ffe6d07259e in ntdll!RtlAcquireSRWLockExclusive () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#2  0x00007ffe6b6de8d7 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
No symbol table info available.
#3  0x00007ffe6d01c34c in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#4  0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)


Thread 3 (Thread 10004.0x2824):
#0  0x00007ffe6d146564 in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ffe6d07259e in ntdll!RtlAcquireSRWLockExclusive () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#2  0x00007ffe6b6de8d7 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
No symbol table info available.
#3  0x00007ffe6d01c34c in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#4  0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)


Thread 4 (Thread 10004.0x2ec):
#0  0x00007ffe6d146564 in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ffe6d07259e in ntdll!RtlAcquireSRWLockExclusive () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#2  0x00007ffe6b6de8d7 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
No symbol table info available.
#3  0x00007ffe6d01c34c in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#4  0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)


Thread 5 (Thread 10004.0x2e18):
#0  0x00007ffe6d146564 in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ffe6d07259e in ntdll!RtlAcquireSRWLockExclusive () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#2  0x00007ffe6b6de8d7 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
No symbol table info available.
#3  0x00007ffe6d01c34c in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#4  0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)


Thread 6 (Thread 10004.0x189c):
#0  0x00007ffe6d146564 in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ffe6d07259e in ntdll!RtlAcquireSRWLockExclusive () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#2  0x00007ffe6b6de8d7 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
No symbol table info available.
#3  0x00007ffe6d01c34c in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#4  0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)


Thread 7 (Thread 10004.0x1f20):
#0  0x00007ffe6d143404 in ntdll!ZwWaitForMultipleObjects () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ffe6a40df43 in WaitForMultipleObjectsEx () from C:\WINDOWS\System32\KernelBase.dll
No symbol table info available.
#2  0x00007ffe6a40de11 in WaitForMultipleObjects () from C:\WINDOWS\System32\KernelBase.dll
No symbol table info available.
#3  0x00007ffdfa4eb3d6 in Qt6Core!?tr@QFileSystemWatcher@@SA?AVQString@@PEBD0H@Z () from C:\CraftRoot\bin\Qt6Core.dll
No symbol table info available.
#4  0x00007ffdfa495dce in Qt6Core!?start@QThread@@QEAAXW4Priority@1@@Z () from C:\CraftRoot\bin\Qt6Core.dll
No symbol table info available.
#5  0x00007ffe6b6de8d7 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
No symbol table info available.
#6  0x00007ffe6d01c34c in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#7  0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)


Thread 8 (Thread 10004.0x1a10):
#0  0x00007ffe6d143404 in ntdll!ZwWaitForMultipleObjects () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ffe6a40df43 in WaitForMultipleObjectsEx () from C:\WINDOWS\System32\KernelBase.dll
No symbol table info available.
#2  0x00007ffe6b917f1e in combase!DllGetClassObject () from C:\WINDOWS\System32\combase.dll
No symbol table info available.
#3  0x00007ffe6b9fe361 in combase!RoParameterizedTypeExtraGetTypeSignature () from C:\WINDOWS\System32\combase.dll
No symbol table info available.
#4  0x00007ffe6b9fe219 in combase!RoParameterizedTypeExtraGetTypeSignature () from C:\WINDOWS\System32\combase.dll
No symbol table info available.
#5  0x00007ffe6b6de8d7 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
No symbol table info available.
#6  0x00007ffe6d01c34c in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#7  0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)


Thread 9 (Thread 10004.0x1304):
#0  0x00007ffe6d146564 in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ffe6d07259e in ntdll!RtlAcquireSRWLockExclusive () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#2  0x00007ffe6b6de8d7 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
No symbol table info available.
#3  0x00007ffe6d01c34c in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#4  0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)


Thread 10 (Thread 10004.0x1d34):
#0  0x00007ffe6d146564 in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ffe6d07259e in ntdll!RtlAcquireSRWLockExclusive () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#2  0x00007ffe6b6de8d7 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
No symbol table info available.
#3  0x00007ffe6d01c34c in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#4  0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)


Thread 11 (Thread 10004.0x10e0):
#0  0x00007ffe6d142934 in ntdll!ZwWaitForSingleObject () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ffe6a40cbbf in WaitForSingleObjectEx () from C:\WINDOWS\System32\KernelBase.dll
No symbol table info available.
#2  0x00007ffdfa47932d in Qt6Core!?wait@QWaitCondition@@QEAA_NPEAVQMutex@@VQDeadlineTimer@@@Z () from C:\CraftRoot\bin\Qt6Core.dll
No symbol table info available.
#3  0x00007ffdfa49a422 in Qt6Core!?reset@QThreadPoolPrivate@@QEAAXXZ () from C:\CraftRoot\bin\Qt6Core.dll
No symbol table info available.
#4  0x00007ffdfa495dce in Qt6Core!?start@QThread@@QEAAXW4Priority@1@@Z () from C:\CraftRoot\bin\Qt6Core.dll
No symbol table info available.
#5  0x00007ffe6b6de8d7 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
No symbol table info available.
#6  0x00007ffe6d01c34c in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#7  0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)


Thread 12 (Thread 10004.0x16a8):
#0  0x00007ffe6d142934 in ntdll!ZwWaitForSingleObject () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ffe6a40cbbf in WaitForSingleObjectEx () from C:\WINDOWS\System32\KernelBase.dll
No symbol table info available.
#2  0x00007ffdfa47932d in Qt6Core!?wait@QWaitCondition@@QEAA_NPEAVQMutex@@VQDeadlineTimer@@@Z () from C:\CraftRoot\bin\Qt6Core.dll
No symbol table info available.
#3  0x00007ffdfa49a422 in Qt6Core!?reset@QThreadPoolPrivate@@QEAAXXZ () from C:\CraftRoot\bin\Qt6Core.dll
No symbol table info available.
#4  0x00007ffdfa495dce in Qt6Core!?start@QThread@@QEAAXW4Priority@1@@Z () from C:\CraftRoot\bin\Qt6Core.dll
No symbol table info available.
#5  0x00007ffe6b6de8d7 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
No symbol table info available.
#6  0x00007ffe6d01c34c in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#7  0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)


Thread 13 (Thread 10004.0xbc0):
#0  0x00007ffe6d143404 in ntdll!ZwWaitForMultipleObjects () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ffe33bfff66 in joySetThreshold () from C:\WINDOWS\SYSTEM32\winmm.dll
No symbol table info available.
#2  0x00007ffe6b6de8d7 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
No symbol table info available.
#3  0x00007ffe6d01c34c in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#4  0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)


Thread 14 (Thread 10004.0x23c8):
#0  0x00007ffe6d142934 in ntdll!ZwWaitForSingleObject () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ffe6a40cbbf in WaitForSingleObjectEx () from C:\WINDOWS\System32\KernelBase.dll
No symbol table info available.
#2  0x00007ffdfa47932d in Qt6Core!?wait@QWaitCondition@@QEAA_NPEAVQMutex@@VQDeadlineTimer@@@Z () from C:\CraftRoot\bin\Qt6Core.dll
No symbol table info available.
#3  0x00007ffdfa49a422 in Qt6Core!?reset@QThreadPoolPrivate@@QEAAXXZ () from C:\CraftRoot\bin\Qt6Core.dll
No symbol table info available.
#4  0x00007ffdfa495dce in Qt6Core!?start@QThread@@QEAAXW4Priority@1@@Z () from C:\CraftRoot\bin\Qt6Core.dll
No symbol table info available.
#5  0x00007ffe6b6de8d7 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
No symbol table info available.
#6  0x00007ffe6d01c34c in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#7  0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)


Thread 15 (Thread 10004.0x54c):
#0  0x00007ffe6d142934 in ntdll!ZwWaitForSingleObject () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ffe6a40cbbf in WaitForSingleObjectEx () from C:\WINDOWS\System32\KernelBase.dll
No symbol table info available.
#2  0x00007ffdfa47932d in Qt6Core!?wait@QWaitCondition@@QEAA_NPEAVQMutex@@VQDeadlineTimer@@@Z () from C:\CraftRoot\bin\Qt6Core.dll
No symbol table info available.
#3  0x00007ffdfa49a422 in Qt6Core!?reset@QThreadPoolPrivate@@QEAAXXZ () from C:\CraftRoot\bin\Qt6Core.dll
No symbol table info available.
#4  0x00007ffdfa495dce in Qt6Core!?start@QThread@@QEAAXW4Priority@1@@Z () from C:\CraftRoot\bin\Qt6Core.dll
No symbol table info available.
#5  0x00007ffe6b6de8d7 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
No symbol table info available.
#6  0x00007ffe6d01c34c in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#7  0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)


Thread 16 (Thread 10004.0x27d8):
#0  0x00007ffe6d143404 in ntdll!ZwWaitForMultipleObjects () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ffe6a40df43 in WaitForMultipleObjectsEx () from C:\WINDOWS\System32\KernelBase.dll
No symbol table info available.
#2  0x00007ffe6a40de11 in WaitForMultipleObjects () from C:\WINDOWS\System32\KernelBase.dll
No symbol table info available.
#3  0x00007ffdfa4eb3d6 in Qt6Core!?tr@QFileSystemWatcher@@SA?AVQString@@PEBD0H@Z () from C:\CraftRoot\bin\Qt6Core.dll
No symbol table info available.
#4  0x00007ffdfa495dce in Qt6Core!?start@QThread@@QEAAXW4Priority@1@@Z () from C:\CraftRoot\bin\Qt6Core.dll
No symbol table info available.
#5  0x00007ffe6b6de8d7 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
No symbol table info available.
#6  0x00007ffe6d01c34c in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#7  0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)


Thread 17 (Thread 10004.0x2740):
#0  0x00007ffe6d143404 in ntdll!ZwWaitForMultipleObjects () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ffe6a40df43 in WaitForMultipleObjectsEx () from C:\WINDOWS\System32\KernelBase.dll
No symbol table info available.
#2  0x00007ffe6b9fe5ee in combase!RoParameterizedTypeExtraGetTypeSignature () from C:\WINDOWS\System32\combase.dll
No symbol table info available.
#3  0x00007ffe6b9fe426 in combase!RoParameterizedTypeExtraGetTypeSignature () from C:\WINDOWS\System32\combase.dll
No symbol table info available.
#4  0x00007ffe6b9fe219 in combase!RoParameterizedTypeExtraGetTypeSignature () from C:\WINDOWS\System32\combase.dll
No symbol table info available.
#5  0x00007ffe6b6de8d7 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
No symbol table info available.
#6  0x00007ffe6d01c34c in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#7  0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)


Thread 18 (Thread 10004.0x454):
#0  0x00007ffe6d143404 in ntdll!ZwWaitForMultipleObjects () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ffe6a40df43 in WaitForMultipleObjectsEx () from C:\WINDOWS\System32\KernelBase.dll
No symbol table info available.
#2  0x00007ffe30d2b20d in msspellcheckingfacility!DllGetClassObject () from C:\Windows\System32\MsSpellCheckingFacility.dll
No symbol table info available.
#3  0x00007ffe30d2b162 in msspellcheckingfacility!DllGetClassObject () from C:\Windows\System32\MsSpellCheckingFacility.dll
No symbol table info available.
#4  0x00007ffe6b6de8d7 in KERNEL32!BaseThreadInitThunk () from C:\WINDOWS\System32\kernel32.dll
No symbol table info available.
#5  0x00007ffe6d01c34c in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#6  0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
Comment 24 Christoph Cullmann 2025-07-27 16:07:17 UTC
I assume the setProgramLogo is just corrupt, but it looks like we do some more or less unlimited recursion on the file changed event.
Comment 25 Christoph Cullmann 2025-07-27 16:17:48 UTC
bool KDirWatchPrivate::useQFSWatch(Entry *e)
{
    e->m_mode = QFSWatchMode;
    e->dirty = false;

    if (e->m_status == NonExistent) {
        addEntry(nullptr, e->parentDirectory(), e, true /*isDir*/);
        return true;
    }

we recurse here.

Y: itself is not there, and

e->parentDirectory()

aka

QDir::cleanPath(path + QLatin1String("/.."));

will just keep returning 

Y:
Comment 26 Bug Janitor Service 2025-07-27 16:22:08 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kcoreaddons/-/merge_requests/517
Comment 27 Christoph Cullmann 2025-07-28 16:25:55 UTC
Did more debugging and testing, did need a bit more intrusive patching.
Comment 28 Christoph Cullmann 2025-07-29 15:42:16 UTC
Git commit 54da24a3512705a9374c1e61aab34c70259a34d9 by Christoph Cullmann.
Committed on 29/07/2025 at 15:42.
Pushed by cullmann into branch 'master'.

fix crash/stack overflow on drive removal on Windows

on e.g. Windows we can end up with a removed drive Y:

parentDirectory() will then lead to infinite

Y:/.. Y:/../.. and Co. chains

introduce isRoot to not go up if we are at some root already
add test that this is true for a drive letter

fix parentDirectory() to use QFileInfo(path).absolutePath()
to avoid Y:/../.. that will not be detected as root

M  +25   -4    autotests/kdirwatch_unittest.cpp
M  +37   -16   src/lib/io/kdirwatch.cpp
M  +5    -0    src/lib/io/kdirwatch_p.h

https://invent.kde.org/frameworks/kcoreaddons/-/commit/54da24a3512705a9374c1e61aab34c70259a34d9
Comment 29 Christoph Cullmann 2025-08-15 18:38:10 UTC
Should be fixed in the nightly:

https://cdn.kde.org/ci-builds/utilities/kate/master/windows/