[SERVER-10992] client / secondExample failing on Linux 32-bit (MCI only, not Buildbot) Created: 30/Sep/13 Updated: 11/Jul/16 Resolved: 13/Oct/13 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 2.5.3 |
| Type: | Bug | Priority: | Blocker - P1 |
| Reporter: | Matt Kangas | Assignee: | Andrew Morrow (Inactive) |
| Resolution: | Done | Votes: | 1 |
| Labels: | buildbot | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Operating System: | ALL | ||||||||
| Participants: | |||||||||
| Description |
|
http://mci.10gen.com/ui/task/mongodb_mongo_master_linux_32_d72362a3ecb69f8f504b2b99a0adf64ae5cf7a12_13_09_29_13_12_06_client_linux_32 The test output is remarkably abrupt:
The scons output says it completes in 204.4649 ms Curiously, Buildbot is green on Linux-32 right now. Here's Buildbot's output for the same test. http://buildbot.mongodb.org/builders/Linux%2032-bit/builds/6001/steps/smokeClient/logs/stdio The test started failing on MCI on Fri Sept 13. First visible failure was on commit 9ab28c9b by Eric. But immediately before that was:
|
| Comments |
| Comment by auto [ 13/Oct/13 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Author: {u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@10gen.com'}Message: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Andrew Morrow (Inactive) [ 01/Oct/13 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
This type of memory error does not always lead to a crash. Whether or not it will crash is closely tied to the exact libc and linker version in play. Unless the MCI machines are running images that are file-for-file identical to the buildbot machines there is no reason to expect it to appear consistently. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Adinoyi Omuya [ 01/Oct/13 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Thanks for the info., any ideas why this isn't failing on Buildbot? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Andrew Morrow (Inactive) [ 01/Oct/13 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Eric and I discussed, and we believe that we understand the root problem. It is related to the fact that in the real world, use of the shared library libmongoclient is always supposed to work with a shared library boost. However, our --sharedclient build uses the vendored boost. This, coupled with some LIBDEPS behavior, you end up with some symbols in both libmongoclient and secondExample, and their is a collision at static destruction time, causing some static std::string to be destroyed twice. We need to think about how we want to tackle this; there is not an immediately obvious solution. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Adinoyi Omuya [ 01/Oct/13 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
With --track-origins=yes:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Andrew Morrow (Inactive) [ 01/Oct/13 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Actually, never mind. I just repro'ed locally. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Adinoyi Omuya [ 01/Oct/13 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Sure. Can you send me your ssh public key? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Andrew Morrow (Inactive) [ 01/Oct/13 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
adinoyi.omuya@10gen.com Can you re-run the above with --track-origins=yes (or show me how to log into the box and do it myself). I tried to repro this locally but was unable to do so so I'd like to try on the system itself. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Ian Whalen (Inactive) [ 01/Oct/13 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
sidenote: not sure if you're already doing this, but whatever changes we're making to installed packages, output logging, etc. need to make their way onto the builders so that we don't need to go through this manual process again. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Adinoyi Omuya [ 01/Oct/13 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Using valgrind:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Adinoyi Omuya [ 01/Oct/13 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Running with debug pkgs:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Eric Milkie [ 01/Oct/13 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
You're just missing the debuginfo packages; you can install them with those suggested yum commands (use root) and those gdb warnings should go away. They aren't the cause of the crash. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Adinoyi Omuya [ 01/Oct/13 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Thanks, using gdb, it looks like it's segfaulting after not finding librpm.so.1.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Eric Milkie [ 01/Oct/13 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
I would just run the binary using gdb (no python), and step through the code and see how it exits. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Adinoyi Omuya [ 01/Oct/13 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Ran this twice on a fresh linux-32 box and the same test failed. Buildlogger logs here and here. The first run had slightly more information than is available in MCI but the second run had even less. Both failed with a 245 exit status - similar to what's in the MCI logs. I post more information once I'm able to run it using gdb. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Eric Milkie [ 30/Sep/13 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
My changes were only to the build system and only affect Windows. |