-
Notifications
You must be signed in to change notification settings - Fork 5
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
Infinite loop in wicket #28
Comments
I cannot reproduce this. Can you give precise steps on how to reproduce, which page(s) are affected? Is there anything in the HTTP logs? |
Sorry I haven't had time to collect meaningful debug info. We disabled gitblit for 9 days and the problem didn't reoccur. I'm 90% certain the problem comes from this plugin. We have a Google Search Appliance that crawls and indexes our internal network, and when it crawls gitblit that basically takes down Gerrit. It's not easy for me to track it down to a particular request. We've re-enabled gitblit, I'm going to wait for the problem to happen again and monitor the situation to try to find a clue that will steer us in the right direction. |
Sure enough, a few hours after re-enabling the plugin, the GSA crawled a whole bunch of gitblit URIs and this took Gerrit down again. I'm going through the logs now and will try to replay some queries to see if I can reproduce the issue manually. |
Hmm, we may be chasing two different problems. I added a rule in our haproxy instance that fronts Gerrit to detect and block requests from the GSA, and Gerrit immediately went back to normal. When I filed this bug originally, the situation was different: there were 2 threads that were stuck in an infinite loop. I confirmed this by running We've had the GSA for a while, so it's not anything new. Typically when it's crawling gitblit it's issuing around 1 request per second to 1 request every 5-6 second, although trawling through the request logs a bit, I've seen spikes up to 92 requests per second. It's nothing really crazy anyway for a 32-core server with 256GB of RAM and 2-HDD RAID1. |
So it's not necessarily an endless loop but just that the webcrawler overloads Gitblit. The only recent change was about those StackOverflow errors... (issue #21 and then #26). Possibly the fix for #21 is not efficient enough... what URLs were those 92 requests? If I knew which pages were accessed, I might try to run some timing experiments locally, and if I find evidence for poor performance, I could try to improve that. |
There was definitely an issue with an endless loop. As I mentioned in my previous comment, I feel like we're tracking two separate issues. One is the crawler overloading Gerrit (and I don't know why this is a problem all of a sudden), the other is the endless loop I first mentioned when I opened this issue. I'm pretty certain it was an endless loop because Gerrit was running at 200% CPU constantly and |
Since we upgraded to Gerrit 2.13.5, we regularly have HTTP threads stuck in an infinite loop somewhere in wicket. We're using 2.13.171.2 (the last release at this time).
The stack trace is always exactly the same:
The text was updated successfully, but these errors were encountered: