[SERVER-25498] Large NumberDecimal can't be read from index Created: 08/Aug/16  Updated: 19/Nov/16  Resolved: 29/Sep/16

Status: Closed
Project: Core Server
Component/s: Internal Code
Affects Version/s: 3.3.10
Fix Version/s: 3.4.0-rc0

Type: Bug Priority: Blocker - P1
Reporter: Robert Guo (Inactive) Assignee: Geert Bosch
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Backwards Compatibility: Fully Compatible
Operating System: ALL
Sprint: TIG 2016-08-29
Participants:
Linked BF Score: 0

 Description   

mmapv1 is not affected

* thread #19: tid = 53868, 0x00007ffff76d68b0 libstdc++.so.6`__cxa_throw, name = 'mongod', stop reason = breakpoint 1.1
  * frame #0: 0x00007ffff76d68b0 libstdc++.so.6`__cxa_throw
    frame #1: 0x00005555578d23e2 mongod`mongo::BufReader::skip(this=0x00007ffff7ed77f0, len=8) + 162 at bufreader.h:123
    frame #2: 0x0000555557e25e7c mongod`mongo::(anonymous namespace)::readType<long unsigned int>(reader=0x00007ffff7ed77f0, inverted=false) + 51
    frame #3: 0x0000555557e22ad3 mongod`mongo::(anonymous namespace)::readDecimalContinuation(reader=0x00007ffff7ed77f0, inverted=false, num=Decim
    frame #4: 0x0000555557e23f20 mongod`mongo::(anonymous namespace)::toBsonValue(ctype='3', reader=0x00007ffff7ed77f0, typeBits=0x00007ffff7ed77d
    frame #5: 0x0000555557e2537f mongod`mongo::KeyString::toBson(buffer="3\a▒, len=10, ord=(bits = 0), typeBits=0x00007ffff02a6b20) + 403 at key_s
    frame #6: 0x0000555557eee4cd mongod`mongo::(anonymous namespace)::WiredTigerIndexCursorBase::curr(this=0x00007ffff02a6820, parts=kKeyAndLoc) c
    frame #7: 0x0000555557eedfa6 mongod`mongo::(anonymous namespace)::WiredTigerIndexCursorBase::seek(this=0x00007ffff02a6820, key=0x00007ffff7ed7
    frame #8: 0x0000555557637631 mongod`mongo::(anonymous namespace)::RecordStoreValidateAdaptor::traverseIndex(this=0x00007ffff626c980, iam=0x000
    frame #9: 0x00005555576385a5 mongod`mongo::Collection::validate(this=0x00007ffff381ede0, txn=0x00007ffff623a920, level=kValidateFull, results=
    frame #10: 0x000055555774af20 mongod`mongo::ValidateCmd::run(this=0x000055555a48e580, txn=0x00007ffff623a920, dbname="`\x82▒▒▒\x7f"..., cmdObj
    frame #11: 0x00005555576b27b0 mongod`mongo::Command::run(this=0x000055555a48e580, txn=0x00007ffff623a920, request=0x00007ffff7ed8920, replyBui
    frame #12: 0x00005555576b1cf0 mongod`mongo::Command::execCommand(txn=0x00007ffff623a920, command=0x000055555a48e580, request=0x00007ffff7ed892
    frame #13: 0x0000555557d5ec5c mongod`mongo::runCommands(txn=0x00007ffff623a920, request=0x00007ffff7ed8920, replyBuilder=0x00007ffff7ed88f0) +
    frame #14: 0x00005555578f6e7b mongod`mongo::(anonymous namespace)::receivedRpc(txn=0x00007ffff623a920, client=0x00007ffff6026060, dbResponse=0
    frame #15: 0x00005555578f97c5 mongod`mongo::assembleResponse(txn=0x00007ffff623a920, m=0x00007ffff7ed94e0, dbresponse=0x00007ffff7ed9550, remo
    frame #16: 0x00005555574b4851 mongod`mongo::ServiceEntryPointMongod::_sessionLoop(this=0x00007ffff600a7f0, session=0x00007ffff2819b60) + 411 a
    frame #17: 0x00005555574b461c mongod`operator(__closure=0x00007ffff2819bd0, session=0x00007ffff2819b60) + 38 at service_entry_point_mongod.cpp
    frame #18: 0x00005555574b4c3f mongod`std::_Function_handler<void(mongo::transport::Session*), mongo::ServiceEntryPointMongod::startSession(mon
    frame #19: 0x0000555558167b15 mongod`std::function<void (mongo::transport::Session*)>::operator(this=0x00007ffff2819bd0, __args#0=0x00007ffff2
    frame #20: 0x0000555558166a8b mongod`mongo::(anonymous namespace)::runFunc(ptr=0x00007ffff2819b60) + 397 at service_entry_point_utils.cpp:74
    frame #21: 0x00007ffff6f146fa libpthread.so.0`start_thread + 202
    frame #22: 0x00007ffff6c4ab5d libc.so.6`__clone + 109 at clone.S:109



 Comments   
Comment by Githook User [ 29/Sep/16 ]

Author:

{u'username': u'GeertBosch', u'name': u'Geert Bosch', u'email': u'geert@mongodb.com'}

Message: SERVER-25498 Fix cases of missing decimal continuations for KeyString

Also fixes rounding issue for Decimal128 between 2*(-1074) and 2*(-255).
Branch: master
https://github.com/mongodb/mongo/commit/722a9b1bec2754dec6e2cdfb652aca1fd1db5163

Generated at Thu Feb 08 04:09:21 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.