[SERVER-45279] GranularityRounder can get stuck in loop when rounding infinity Created: 20/Dec/19 Updated: 29/Oct/23 Resolved: 14/Jan/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Querying |
| Affects Version/s: | None |
| Fix Version/s: | 3.6.17, 4.2.4, 4.3.3, 4.0.16 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Ian Boros | Assignee: | Sophie Saskin |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | afz, qexec-team | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||
| Operating System: | ALL | ||||||||||||||||
| Backport Requested: |
v4.2, v4.0, v3.6
|
||||||||||||||||
| Participants: | |||||||||||||||||
| Linked BF Score: | 23 | ||||||||||||||||
| Description |
|
This code will loop for forever when number is the double value infinity. Repro:
Note that the right hand side will eventually get to infinity, but infinity won't compare less than or greater than itself so it just spins in the loop. It's possible to trigger this bug through aggregate() as well (the fuzzer has caught this for us). |
| Comments |
| Comment by Githook User [ 24/Jan/20 ] |
|
Author: {'username': 'puppyofkosh', 'name': 'Ian Boros', 'email': 'ian.boros@mongodb.com'}Message: (cherry picked from commit a028f3c1888ecb35cd99435658f875b0963ed2f7) |
| Comment by Githook User [ 24/Jan/20 ] |
|
Author: {'username': 'puppyofkosh', 'name': 'Ian Boros', 'email': 'ian.boros@mongodb.com'}Message: (cherry picked from commit a028f3c1888ecb35cd99435658f875b0963ed2f7) |
| Comment by Githook User [ 21/Jan/20 ] |
|
Author: {'email': 'ian.boros@mongodb.com', 'name': 'Ian Boros', 'username': 'puppyofkosh'}Message: (cherry picked from commit a028f3c1888ecb35cd99435658f875b0963ed2f7) |
| Comment by Githook User [ 14/Jan/20 ] |
|
Author: {'name': 'Sophie Saskin', 'email': 'sophie.saskin@mongodb.com'}Message: |