Created attachment 147138 [details] crash report from kcrash 1. Enable a limited number of tabs 2. Close a large amount of tabs simultaneously, preferably via the Document Tree View OBSERVED RESULT Segmentation Fault EXPECTED RESULT Close all tabs correctly, even under a limited number of tabs setting. SOFTWARE/OS VERSIONS Linux/KDE Plasma: Clear Linux latest KDE Plasma Version: 5.24.0 KDE Frameworks Version: 5.91.0 Qt Version: 5.12.2 (with community open-source patches) Kernel: 5.16.11 ADDITIONAL INFORMATION The bug doesn't replicate if we set "Limit number of tabs" to 0 (unlimited). Kate compiled from the latest git. gcc-11.2.0-gd86949f5f5 CXXFLAGS: -ggdb3 -ggnu-pubnames -Og -march=native -mtune=native -Wall -Wl,--as-needed -Wl,--build-id=sha1 -Wl,--enable-new-dtags -Wl,--hash-style=gnu -Wl,-z,now,-z,relro,-z,max-page-size=0x1000,-z,separate-code -mprefer-vector-width=256 -falign-functions=32 -fasynchronous-unwind-tables -fno-stack-protector -fuse-ld=bfd -fuse-linker-plugin -malign-data=cacheline -feliminate-unused-debug-types -mtls-dialect=gnu2 -Wl,-sort-common -Wno-error -Wp,-D_REENTRANT -pipe -fPIC -static-libstdc++ -static-libgcc -pthread CMAKE_BUILD_TYPE=Release BUILD_TESTING:BOOL=OFF
Tentative bug fix and merge request here: https://invent.kde.org/utilities/kate/-/merge_requests/643
Git commit 6b8c0c33abc5f8574065dbec7f669160f0100d58 by Christoph Cullmann, on behalf of Francisco Boni. Committed on 26/02/2022 at 13:42. Pushed by cullmann into branch 'master'. Fix crash when closing multiple tabs if limited number of tabs is enabled Purge LRU storage must work regardless of CMAKE_BUILD_TYPE. Otherwise KateTabBar::removeDocument will iterate over (m_docToLruCounterAndHasTab) documents (*doc) that have been previously destroyed, resulting in segfault. Fixes Bug 450873 (https://bugs.kde.org/show_bug.cgi?id=450873). M +3 -2 kate/katetabbar.cpp https://invent.kde.org/utilities/kate/commit/6b8c0c33abc5f8574065dbec7f669160f0100d58