[SERVER-10506] authorization_manager_test.cpp without gperftools hangs on linux-64 due to memory corruption Created: 13/Aug/13 Updated: 11/Jul/16 Resolved: 20/Aug/13 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 2.5.2 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Ian Whalen (Inactive) | Assignee: | Spencer Brody (Inactive) |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Operating System: | ALL |
| Steps To Reproduce: | Run authorization_manager_test without tcmalloc enabled on a modern linux-64 machine. |
| Participants: |
| Description |
|
http://mci.10gen.com/ui/task/mongodb_mongo_master_cxx11_ubuntu1204_64_d4f670c95a3cc81f4ea297ff0cf809568261dcaf_13_08_13_13_53_06_compile The compile task stops every time here:
|
| Comments |
| Comment by auto [ 14/Aug/13 ] | ||||||||||||||||||||||||||||||
|
Author: {u'username': u'stbrody', u'name': u'Spencer T Brody', u'email': u'spencer@10gen.com'}Message: | ||||||||||||||||||||||||||||||
| Comment by Andrew Morrow (Inactive) [ 14/Aug/13 ] | ||||||||||||||||||||||||||||||
|
Note that commenting out the 'initializeAllV1UserData' fixes the test. | ||||||||||||||||||||||||||||||
| Comment by Andrew Morrow (Inactive) [ 14/Aug/13 ] | ||||||||||||||||||||||||||||||
|
I can repro the hang. I get some additional info in my console:
A little googling reveals that this is how glibc reports memory corruption: http://sourceware.org/git/?p=glibc.git;a=blob;f=malloc/malloc.c;h=be472b2ba3885b194f55c29474c4ad5d6a61b729;hb=HEAD#l1428 Don't know why that seems to hang, but maybe that is what malloc does on internal errors? We notice this in the C++11 builds because they don't use TCMalloc (yet). Not sure why TCMalloc isn't complaning (do we not use the debug tcmalloc in debug build?) So, anyway running under valgrind gives lots of these:
So this is most likely some sort of memory corruption or use after free problem. Given that Andy is away on vacation, I'd recommend having Spencer take a look. | ||||||||||||||||||||||||||||||
| Comment by Ian Whalen (Inactive) [ 13/Aug/13 ] | ||||||||||||||||||||||||||||||
|
acm might have some useful insight here as to why this is happening. |