[SERVER-13921] Database crashed when running C++ driver tests Created: 13/May/14 Updated: 12/Jan/15 Resolved: 12/Jan/15 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | JavaScript |
| Affects Version/s: | 2.7.1 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Tyler Brock | Assignee: | Andy Schwerin |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Linux 64-bit |
||
| Attachments: |
|
| Operating System: | ALL |
| Participants: |
| Description |
|
| Comments |
| Comment by Ramon Fernandez Marina [ 16/Jul/14 ] | |||||||||||||||||||||
|
rassi@10gen.com, tyler@10gen.com, are you still interested in chasing this ticket down? I'm trying to figure out what fixVersion should be, if it's not "debugging with submitter" because we don't have a reproducer? Cc thomasr | |||||||||||||||||||||
| Comment by Andy Schwerin [ 12/Jun/14 ] | |||||||||||||||||||||
|
Looks like maybe the thread-local isolate or maybe its heap pointer were set to NULL. As this is during cleanup, it suggests maybe there's a cleanup race – maybe two threads ended up with pointers to the same ObjTracer<BSONHolder>. Needs a repro. | |||||||||||||||||||||
| Comment by Tyler Brock [ 21/May/14 ] | |||||||||||||||||||||
|
Tried running the gridfs_test and clientTest in loops for a while and couldn't get it to crash. | |||||||||||||||||||||
| Comment by Tyler Brock [ 19/May/14 ] | |||||||||||||||||||||
|
Attaching log output for successful run. | |||||||||||||||||||||
| Comment by Tyler Brock [ 19/May/14 ] | |||||||||||||||||||||
|
I don't have the logs for that run but basically there are a series of tests that each use the same namespace and drop the collection before each run. I haven't been able to reproduce locally after running the tests a bit more. If it pops up again we might be able to look into it further. | |||||||||||||||||||||
| Comment by J Rassi [ 14/May/14 ] | |||||||||||||||||||||
|
I don't think it's related to an out-of-memory condition. V8::AdjustAmountOfExternalAllocatedMemory() is called unconditionally from the BSONHolder constructor, and it'd segfault if it has a dangling reference to an already-freed isolate (and indeed it looks like dropDatabase was being run concurrently). Please upload the whole log for this test run, if you still have it. Could you describe and/or link to the tests you were running? | |||||||||||||||||||||
| Comment by Tyler Brock [ 13/May/14 ] | |||||||||||||||||||||
|
Build flags: --ssl | |||||||||||||||||||||
| Comment by J Rassi [ 13/May/14 ] | |||||||||||||||||||||
|
A few questions:
| |||||||||||||||||||||
| Comment by Tyler Brock [ 13/May/14 ] | |||||||||||||||||||||
|
The demangled form:
|