-
-
Notifications
You must be signed in to change notification settings - Fork 211
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Application hangs, spends >99% of CPU in QTimerInfoList::unregisterTimer #286
Comments
Could you describe the use case that leads to this? Unfortunately, perf data from local builds is not very helpful because debug symbols are missing.
|
Sorry about the missing symbols, I'm not used to debugging native applications. This is the thread stack from pstack:
It seems to happen pretty consistently if I open the log file in klogg, switch to my Java IDE, run a test that spews about 500k lines of log messages (around 100MB, I like to enable trace logging all the time) in about 30s, and then switch back to klogg. I no longer see the problem if I disable filesystem change monitoring. Disabling fast modification detection doesn't seem to make any difference. |
There might be a some problem when file is modified rapidly with big chunks of data. There is a notification throttling mechanism, that combines several notifications from file changes monitor into one. Looks like there is a bug here: klogg/src/filewatch/src/filewatcher.cpp Line 368 in 7440d6a
Notification timer is checked for activity, but singleshot timer is used to pass events. So condition is always false, and a lot of singleshot times are created. |
Fix should be in builds >= 21.04.0.890 |
Thanks Anton, but I don't think your fix eliminated the problem completely. After rebuilding with current master, I got the application to hang again, and the stack trace looks very similar
|
I was able to kind-of reproduce this issue with test program that writes to file very fast. Changing to KDAB signal throttler seems to help. Integrated to 21.04.0.908. @danberindei any improvements in your case? |
Sorry for the delay, I had switched to polling and it was good enough for my use case. I am now back to filesystem change monitoring and it works great. Thanks @variar! |
I am running a locally-built version based on 21.2.0.0 + the patch here: #285
perf.zip
The text was updated successfully, but these errors were encountered: