-
Notifications
You must be signed in to change notification settings - Fork 663
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
clamonacc hanging, causing high system load #245
Comments
@frank-fegert are you perhabs able to reproduce this using |
@goshansp thanks for the fast reply!
i can see the CPU utilization:
So yes, i can confim that there is a skewed distribution in the CPU utilization, but more with Clamd than on the side of ClamOnAcc 😉 Unfortunately, even with the above synthetic load test i wasn't able to trigger the behaviour of clamonacc hanging on "onas_consume_event" |
Have you tested against the latest 104 or 103.4 branches? We put in a fix very recently (i.e. post rc build) that very likely addresses this issue given the backtrace provided and behaviour seen. Edit: nevermind, I see now you've built off of that commit. I'll take a closer look at this |
@m-sola thanks for the fast reply! As i've written above in the last bullet point, i've tested d0d0a83 from the main branch. This should have the fix for #184 and should be the same as b3315ec which i guess you're referring to? The backtraces shown are from a recent case of the hang with ClamAV build from d0d0a83. I've still got core dumps from the previous tests and versions (see the other bullet points above) if this helps. |
On the last three occasions we've experienced the hanging behaviour of clamonacc which i've described above, we managed to get the following messages in the clamonacc logfile:
The clamonacc is already running with the Unfortunately i'm not able to pinpoint the thread or the code location where the SIGSEGV actually happens Any ideas on how to narrow this issue down further? |
Hello all, so i've finally found some time to brush up on my C / pthreads skills and sink my teeth into this issue (vacation, november rain and lots of 🍰 really do help with the debugging process 😉). I think - but could very well be mislead - i was able to isolate the underlying root cause of this issue, but besides a quick'n'dirty workaround i'm not sure on what the best way to properly fix this issue would be. Basically the issue revolves around the
As a result the I was able to create a reproducers shell script (attached file Along the way of debugging this issue i've come across some other things i've found odd, which are currently adressed as local patches. Are pull requests preferred for discussing them or should i drop them in here? Thanks & best regards, Frank |
|
Added a workaround to PR #386 for another SIGSEGV source in the clamonacc-ddd thread, which was observed during further analysis. |
Describe the bug
We're using ClamAV (clamd with clamonacc) on RHEL 7 and are experiencing similar issues as described in
#184
The clamonacc seems to hang indefinately causing high system load (>>40 with an 8 CPU system) and will crash immediately if a strace or gdb is attached to the process.
The system this happens most oftenly is a Jenkins build server with a very large amount of files and directories dynamically being generated during builds. The paths of the files and directories seem to contain special ASCII characters (e.g. whitespaces and "@").
We've seen this issue:
How to reproduce the problem
An exact reproducer is currently not known. The issue seems to apper while creating a large number of files and directories with names containing special ASCII characters (e.g. whitespaces and "@") under the paths in OnAccessIncludePath.
ClamOnAccess prozess limits:
ClamOnAccess prozess status:
ClamOnAccess core dump gdb info:
ClamOnAccess gdb thread info:
ClamOnAccess gdb backtrace:
ClamOnAccess gdb variable info:
Attachments
Core dump is available if helpful.
The text was updated successfully, but these errors were encountered: