[SERVER-6918] jstests/geo_borders.js fails verify in debug builds Created: 02/Sep/12 Updated: 11/Jul/16 Resolved: 05/Sep/12 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Geo |
| Affects Version/s: | 2.3.0 |
| Fix Version/s: | 2.3.0 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Tad Marshall | Assignee: | Greg Studer |
| Resolution: | Done | Votes: | 0 |
| Labels: | buildbot | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Debug builds, all platforms |
||
| Issue Links: |
|
||||||||
| Operating System: | ALL | ||||||||
| Participants: | |||||||||
| Description |
|
Debug builds consistently fail in mongo::Geo2dType::_convert() at line 371:
when running jstests/geo_borders.js. jstests/geo_borders.js may be running the test at lines 132 to 137, based on comparing a "working" non-debug run. The reason why release builds "work" and debug builds fail is that the test at line 371 is using verify() on user-supplied data, and debug builds call abort() after a failed verify. But since this is our first test of user-supplied values, verify() is the wrong test to use. Moreover, this is the wrong place to test, because we have code to generate a friendly assertion downstream (i.e. later) that will never be reached because of this verify(). Adding more verbose logging to the test shows additional problems. These will be detailed in a separate ticket. |
| Comments |
| Comment by auto [ 05/Sep/12 ] |
|
Author: {u'date': u'2012-09-05T14:11:28-07:00', u'email': u'greg@10gen.com', u'name': u'Greg Studer'}Message: |
| Comment by Tad Marshall [ 03/Sep/12 ] |
|
This bug was caused by commits f843e4f1cad1dd9ac808f91c3ff323fdd9886860 and ec10113e02c3e40f1d5374c2578266b96549f706. f843e4 moved the uassert that used to be in _convert to _hash and ec1011 added the verify that is blowing up the tests. |