[SERVER-8319] Server crashes when trying to append arrays (driver: rmongodb) Created: 24/Jan/13 Updated: 19/Feb/13 Resolved: 19/Feb/13 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Stability |
| Affects Version/s: | 2.2.2 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Critical - P2 |
| Reporter: | Janko Thyson | Assignee: | Stennie Steneker (Inactive) |
| Resolution: | Done | Votes: | 0 |
| Labels: | Windows, crash, driver, rmongodb, update | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
OS: Windows 7 (64 Bit) |
||
| Attachments: |
|
| Operating System: | Windows |
| Steps To Reproduce: | See this Stackoverflow post for a reproducible example: |
| Participants: |
| Description |
|
// DESCRIPTION // Suppose there is a simple document with an 'tags' array: _id : 7 51005201f8ab44f1690f9526 The server crashes when I try to append this array either via the '$push' or the '$addToSet' operator. // LOGFILE OUTPUT //
|
| Comments |
| Comment by Janko Thyson [ 18/Feb/13 ] | ||||||||||||||||||||||||||||||||||||||||||||
|
Hi everyone, Not sure what the "ticket procedure" is at this point. It's probably OK to call it a "case closed"? Thanks a lot for everyone that was involved in helping me make progress on this! | ||||||||||||||||||||||||||||||||||||||||||||
| Comment by Janko Thyson [ 30/Jan/13 ] | ||||||||||||||||||||||||||||||||||||||||||||
|
Added a couple files that might shed some light onto this: File 'push.R' contains test code (language R) that tests 6 different approaches in order to resolve the issue experienced. For each of the approaches you'll also find the associated MongoDB server logfile. Approaches tested:
| ||||||||||||||||||||||||||||||||||||||||||||
| Comment by Janko Thyson [ 29/Jan/13 ] | ||||||||||||||||||||||||||||||||||||||||||||
|
Hi Tad, I tested your suggestions and updated my SO post accordingly. Indeed, my doc doesn't pass the validity check: http://stackoverflow.com/questions/14489612/appending-bson-arrays-in-mongodb-rmongodb. And: you were right with respect to my code not crashing the server: it's still running after trying to insert/perform the desired CRUD-operation. // LOGFILE //
| ||||||||||||||||||||||||||||||||||||||||||||
| Comment by Janko Thyson [ 29/Jan/13 ] | ||||||||||||||||||||||||||||||||||||||||||||
|
Hi Tad, thanks for looking into this! I'll double check if the server actually crashed and test for corrupted BSON docs. Best regards, | ||||||||||||||||||||||||||||||||||||||||||||
| Comment by Tad Marshall [ 29/Jan/13 ] | ||||||||||||||||||||||||||||||||||||||||||||
|
Hi Janko, Thanks for the report. The assertion failure does look like a real problem because it is testing a condition that is supposed to be true, and that's why it prints the stack trace. But this does not look like a crash; the CTRL_CLOSE_EVENT message is printed when the console window is closed while mongod.exe is still running, so it looks like the window was closed deliberately. If this is not the case, please correct me. The assertion failure is definitely a bug somewhere, but it may be in the R driver. Can you run your test with --objcheck on the mongod.exe command line to see if the R driver is sending corrupted BSON? Thanks! Tad | ||||||||||||||||||||||||||||||||||||||||||||
| Comment by Janko Thyson [ 28/Jan/13 ] | ||||||||||||||||||||||||||||||||||||||||||||
|
I'm not really familiar with how to place bug reports here yet. I think I can't update my bug report. Yet I think this bug actually is a blocker. So it'd be great if someone of you could go ahead and change its priority to "Blocker - P1". Thanks! |