On Mon, 2026-07-13 at 10:20 +0200, Stefano Crocco wrote:
> On lunedì 13 luglio 2026 10:09:21 Ora legale dell’Europa centrale
> Konstantin 
> Kharlamov wrote:
> > On Mon, 2026-07-13 at 09:21 +0200, Stefano Crocco wrote:
> > > On lunedì 13 luglio 2026 08:49:46 Ora legale dell’Europa centrale
> > > you
> > > 
> > > wrote:
> > > > On Mon, 2026-07-13 at 08:41 +0200, Stefano Crocco wrote:
> > > > > Hello to everyone,
> > > > > for the last few weeks, I've randomly encountered what I
> > > > > assume
> > > > > is a
> > > > > bug in
> > > > > Konqueror: I'd like to fix it, because it's rather annoying,
> > > > > but
> > > > > I
> > > > > don't know
> > > > > how to debug it to find its cause.
> > > > > 
> > > > > The issue is that sometimes Konqueror completely freezes:
> > > > > none of
> > > > > its
> > > > > windows
> > > > > respond to mouse or keyboard. The only way to go on is to
> > > > > kill
> > > > > it.
> > > > > It's not a
> > > > > frequent issue: it usually happens once a day or so. Once it
> > > > > has
> > > > > happened,
> > > > > however, it's likely to happen again in a short time.
> > > > > 
> > > > > I attach a backtrace by attaching gdb to the Konqueror
> > > > > instance
> > > > > once
> > > > > the
> > > > > freeze happens. As you can see, it contains almost nothing
> > > > > from
> > > > > Konqueror
> > > > > itself: just two calls near the bottom, the last of which is
> > > > > a
> > > > > call
> > > > > to
> > > > > QApplication::exec(). All other function calls are either
> > > > > inside
> > > > > KDE
> > > > > Frameworks or Qt: I'd almost think this is not a problem with
> > > > > Konqueror if it
> > > > > were not for the fact that I'm only experiencing the issue
> > > > > with
> > > > > Konqueror.
> > > > 
> > > > Are you sure freeze happens in that thread?
> > > > 
> > > > The stacktrace is from the rendering thread. Does Konqueror
> > > > window
> > > > get
> > > > "grayed out" by KWin when it freezes? If it doesn't I'd think
> > > > the
> > > > freeze happens in another thread.
> > > 
> > > Thanks for the answer. No, the Konqueror  window doesn't look
> > > grayed
> > > out: it
> > > looks completely normal to the point that often I don't realize
> > > it
> > > has frozen
> > > until I try to interact with: only at that point I notice that
> > > all
> > > parts of
> > > the UI don't respond in any way yo mouse or keyboard. If I
> > > minimize
> > > the
> > > window, then restore it, its contents aren't drawn so that it
> > > shows
> > > the
> > > contents of the previously active window.
> > > 
> > > I attach a new backtrace with all threads. I still can't see
> > > anything
> > > related
> > > to Konqueror. The only thing I can notice is a mention of QDBus
> > > in
> > > thread 67,
> > > but I still don't know what information to get from it.
> > 
> > Sorry, I looked at it, but no idea either.
> > 
> > Idk the Konqueror's code though.
> > 
> > Does Konqueror experience high CPU load when that happens? If it
> > doesn't that's probably a hang in one of those poll()ing or one
> > locked
> > on a mutex — probably a thread waits for some event that never
> > happens.
> > In this case it's kind of hard to determine which thread is stuck.
> > I
> > imagine it should be the thread that processes input events, but
> > Idk
> > which one is that.
> > 
> > What I'd suggest to do next is to report a bug for Konqueror with
> > your
> > findings and write that you're open to do more research but kind of
> > stuck. I think actual developers of Konqueror may have more chance
> > to
> > give a useful advice from the stacktrace (or other context).
> > 
> > P.S.: if you do find the problematic thread blocked on a mutex and
> > it's
> > unclear how the mutex ended up locked, I recommend using `rr`
> > project
> > to record Konqueror execution up to the moment bug happens. `rr
> > replay`
> > will pop up a `gdb` for you, where you can execute both forward and
> > backward (with `reverse-continue`, `rc` command), and set
> > watchpoints
> > on variables to then move back in time to see when they were
> > changed.
> > An immensely useful tool for debugging thread/data races.
> 
> Sorry, I should have mentioned before that I am the Konqueror
> developer 
> (unfortunately, I'm the only one).

Oh, sorry!

> Konqueror itself only uses the GUI thread, so all other threads are
> used by 
> either the KDE Frameworks or by Qt. 

You know what, just an experiment, try running with software-based GPU
driver via `LIBGL_ALWAYS_SOFTWARE=1`, just to see if it'd change
anything. If it does that may point at something related to rendering
🤔

> Thanks for your suggestion about rr: i'll look into it.
> 
> Stefano
> 

Reply via email to