Closed TomSweeneyRedHat closed 5 years ago
LGTM
@edsantiago reports that his test suite passes with a patch from this. He was able to duplicate the error pre-patch in about 5 minutes runtime. After patch no error after more than an hour runtime. I left my test on accidentally overnight, no cores after 10+ hours.
@vrothberg @giuseppe PTAL
Signed-off-by: TomSweeneyRedHat tsweeney@redhat.com
- What I did
Fixes the Bugzilla: Bug 1732626 - Docker panics when performing
docker search
due to potential Search bug when using multiple registries (https://bugzilla.redhat.com/show_bug.cgi?id=1732626) for the docker-1.13.1-rhel branch. Theresults
variable passed to thesearchTerm
function was being passed by pointer. However as the function was within a threaded environment, it was becoming corrupted randomly under load. I've changed the function to pass the variable by reference, keeping the data private per thread.Many thanks to Uli Obergfell for the excellent analysis and easy reproducer in the BZ.
- How I did it VI and a lot of sweat blood and tears.
- How to verify it With the fix in place, run the following script from Uli. It should just return periods. During a failure case, it will list a number of core files. Refer to the BZ for a failure example.
A test result showing ~30 minutes of successful runtime:
- Description for the changelog
- A picture of a cute animal (not mandatory but encouraged)