https://bugs.kde.org/show_bug.cgi?id=499772
--- Comment #18 from Helga <[email protected]> --- I've poked around this issue for a few days to reproduce it better, with the following conclusions: 1. The issue may or may not reproduce on the same set of files on the same computer. It reproduces a lot more consistently if we schedule it with scx_chaos - leading me to guess it's borne of some kind of race condition. 2. Compiling Qt, KF6 and kdiff3 with -fsanitize=thread does not result in any warnings at least until the window is closed, despite the issue clearly reproducing. This more or less rules out data races, although not logical race conditions in general. (this also confirms that this issue reproduces on both system Qt6.9 and self-built Qt6.10) 3. Putting printouts * right before `Q_EMIT pDTW->finishRecalcWordWrap(m_visibleTextWidth);` in RecalcWordWrapThread::run() * in DiffTextWindow::setupConnections() * in KDiff3App::slotFinishRecalcWordWrap() * in the constructors/destructors of KDiff3App and DiffTextWindow shows the following picture: * Connection is made between relevant signal and slot for three instances of DiffTextWindow and 1 instance of KDiff3App * Execution gets to signal emit statement * KDiff3App::slotFinishRecalcWordWrap() slot is never triggered - this is probably the immediate cause of the bug, though I can't understand why that happens * DiffTextWindow and KDiff3App are created before the connection is made and destroyed when the window is closed. The same instances are seen in the constructor, connection statements and signal emission. This is, unfortunately, where I got stuck so far. The signal and slot code seems entirely correct, it just doesn't fire for some reason. -- You are receiving this mail because: You are watching all bug changes.
