[SERVER-29095] mapReduce fails [Error: BSONElement: bad type] when jsMode set to "true" Created: 05/May/17  Updated: 12/Jul/17  Resolved: 09/Jun/17

Status: Closed
Project: Core Server
Component/s: JavaScript, MapReduce
Affects Version/s: 3.4.4
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: Sander Spilleman Assignee: Mark Agarunov
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File Screenshot 2017-05-05 22.18.09.png     File error.json    
Operating System: ALL
Participants:

 Description   

When running a mapReduce job, its fails with MongoError: Error: Error: BSONElement: bad type 105 @:1:236, full stacktrace below.

  • Version from your website
  • Homebrew version and
  • Percona version

OS: macOS 10.12.5
Mongo version: v3.4.4
Node Version: v7.10.0
Node driver: 2.2.26

I need to get this fixed.... The performance penalty of switching to jsMode false is huge...

Thanks!

----- BEGIN BACKTRACE -----
{"backtrace":[{"b":"10D01C000","o":"AF34B9","s":"_ZN5mongo15printStackTraceERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE"},{"b":"10D01C000","o":"A80205","s":"_ZN5mongo10logContextEPKc"},{"b":"10D01C000","o":"A6B249","s":"_ZN5mongo23msgassertedWithLocationEiPKcS1_j"},{"b":"10D01C000","o":"2BB3C","s":"_ZNK5mongo11BSONElement4sizeEv"},{"b":"10D01C000","o":"A07C8A","s":"_ZN5mongo5mozjs8BSONInfo9enumerateEP9JSContextN2JS6HandleIP8JSObjectEERNS4_16AutoVectorRooterI4jsidEEb"},{"b":"10D01C000","o":"A21194","s":"_ZN5mongo5mozjs7smUtils9enumerateINS0_8BSONInfoEEEbP9JSContextN2JS6HandleIP8JSObjectEERNS6_16AutoVectorRooterI4jsidEEb"},{"b":"10D01C000","o":"113B3AD","s":"_ZL24EnumerateExtraPropertiesP9JSContextN2JS6HandleIP8JSObjectEEjRN7mozilla5MaybeIN2js7HashSetI4jsid12IdHashPolicyNS8_15TempAllocPolicyEEEEEPNS1_16AutoVectorRooterISA_EE"},{"b":"10D01C000","o":"1132736","s":"_ZL8SnapshotP9JSContextN2JS6HandleIP8JSObjectEEjPNS1_16AutoVectorRooterI4jsidEE"},{"b":"10D01C000","o":"10D9A6C","s":"_Z12JS_EnumerateP9JSContextN2JS6HandleIP8JSObjectEENS1_13MutableHandleIN2js15TraceableVectorI4jsidLm0ENS7_15TempAllocPolicyENS7_15DefaultGCPolicyIS9_EEEEEE"},{"b":"10D01C000","o":"A4D87B","s":"_ZN5mongo5mozjs13ObjectWrapper24WriteFieldRecursionFrameC2EP9JSContextP8JSObjectPNS_14BSONObjBuilderENS_10StringDataE"},{"b":"10D01C000","o":"A5DA72","s":"_ZN5mongo5mozjs11ValueWriter12_writeObjectEPNS_14BSONObjBuilderENS_10StringDataEPNS0_13LifetimeStackINS0_13ObjectWrapper24WriteFieldRecursionFrameELm150EEE"},{"b":"10D01C000","o":"A4D4F5","s":"_ZN5mongo5mozjs13ObjectWrapper11_writeFieldEPNS_14BSONObjBuilderENS1_3KeyEPNS0_13LifetimeStackINS1_24WriteFieldRecursionFrameELm150EEEPNS_7BSONObjE"},{"b":"10D01C000","o":"A4CF55","s":"_ZN5mongo5mozjs13ObjectWrapper6toBSONEv"},{"b":"10D01C000","o":"A41391","s":"_ZN5mongo5mozjs18NativeFunctionInfo4callEP9JSContextN2JS8CallArgsE"},{"b":"10D01C000","o":"A21935","s":"_ZN5mongo5mozjs7smUtils4callINS0_18NativeFunctionInfoEEEbP9JSContextjPN2JS5ValueE"},{"b":"0","o":"1143287D3"},{"b":"0","o":"7FFA7ACD7DA0"}],"processInfo":{ "mongodbVersion" : "3.4.4", "gitVersion" : "888390515874a9debd1b6c5d36559ca86b44babd", "compiledModules" : [], "uname" : { "sysname" : "Darwin", "release" : "16.6.0", "version" : "Darwin Kernel Version 16.6.0: Mon Apr 17 17:15:27 PDT 2017; root:xnu-3789.60.24~21/RELEASE_X86_64", "machine" : "x86_64" }, "somap" : [ { "path" : "/usr/local/bin/mongod", "machType" : 2, "b" : "10D01C000", "vmaddr" : "100000000", "buildId" : "2713B370D6F130278745456A97CDAE8C" }, { "path" : "/usr/local/opt/openssl/lib/libssl.1.0.0.dylib", "machType" : 6, "b" : "1103D4000", "vmaddr" : "0", "buildId" : "767D2AB9C4E63C9B97A972B4C93F6101" }, { "path" : "/usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib", "machType" : 6, "b" : "110437000", "vmaddr" : "0", "buildId" : "CD6B7D4F24BD36D5A9441A7ACE70A7BB" }, { "path" : "/usr/lib/libSystem.B.dylib", "machType" : 6, "b" : "7FFFC469D000", "vmaddr" : "7FFF89AEE000", "buildId" : "FC9E9F133B18305CBE0A97C7843652B0" }, { "path" : "/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation", "machType" : 6, "b" : "7FFFB0088000", "vmaddr" : "7FFF754D9000", "buildId" : "36385A3A60D332DBBF55C6D8931A7AA6" }, { "path" : "/System/Library/Frameworks/Security.framework/Versions/A/Security", "machType" : 6, "b" : "7FFFB6749000", "vmaddr" : "7FFF7BB9A000", "buildId" : "3F350B5661CD305E98059AF7A6151FA9" }, { "path" : "/usr/lib/libc++.1.dylib", "machType" : 6, "b" : "7FFFC4850000", "vmaddr" : "7FFF89CA1000", "buildId" : "0B43BB5DE6EB34648DE9B41AC8ED9D1C" }, { "path" : "/usr/lib/system/libcache.dylib", "machType" : 6, "b" : "7FFFC5BDE000", "vmaddr" : "7FFF8B02F000", "buildId" : "093A4DAB83853D47A350E20CB7CCF7BF" }, { "path" : "/usr/lib/system/libcommonCrypto.dylib", "machType" : 6, "b" : "7FFFC5BE3000", "vmaddr" : "7FFF8B034000", "buildId" : "BE8380C5C09D3F48A502AEBB58231067" }, { "path" : "/usr/lib/system/libcompiler_rt.dylib", "machType" : 6, "b" : "7FFFC5BEE000", "vmaddr" : "7FFF8B03F000", "buildId" : "55D47421772A32ABB5291A46C2F43B4D" }, { "path" : "/usr/lib/system/libcopyfile.dylib", "machType" : 6, "b" : "7FFFC5BF6000", "vmaddr" : "7FFF8B047000", "buildId" : "819BEA3CDF113E3DA1A15A51C5BF1961" }, { "path" : "/usr/lib/system/libcorecrypto.dylib", "machType" : 6, "b" : "7FFFC5BFF000", "vmaddr" : "7FFF8B050000", "buildId" : "8A39EE06121C3731A9E935847064B3EE" }, { "path" : "/usr/lib/system/libdispatch.dylib", "machType" : 6, "b" : "7FFFC5C83000", "vmaddr" : "7FFF8B0D4000", "buildId" : "D122E712959331CABAC44A54410BF4A0" }, { "path" : "/usr/lib/system/libdyld.dylib", "machType" : 6, "b" : "7FFFC5CB5000", "vmaddr" : "7FFF8B106000", "buildId" : "4AAC8808223A3961A780A39CD7AC9337" }, { "path" : "/usr/lib/system/libkeymgr.dylib", "machType" : 6, "b" : "7FFFC5CBB000", "vmaddr" : "7FFF8B10C000", "buildId" : "7AA011A9DC213488BF733B5B14D1FDD6" }, { "path" : "/usr/lib/system/liblaunch.dylib", "machType" : 6, "b" : "7FFFC5CC9000", "vmaddr" : "7FFF8B11A000", "buildId" : "7B223960C57134768FEC21E2C1892A9F" }, { "path" : "/usr/lib/system/libmacho.dylib", "machType" : 6, "b" : "7FFFC5CCA000", "vmaddr" : "7FFF8B11B000", "buildId" : "17D5D855F6C33B04B680E9BF02EF8AED" }, { "path" : "/usr/lib/system/libquarantine.dylib", "machType" : 6, "b" : "7FFFC5CD0000", "vmaddr" : "7FFF8B121000", "buildId" : "170593233DA23D5DAEA89C26D3D6DD3A" }, { "path" : "/usr/lib/system/libremovefile.dylib", "machType" : 6, "b" : "7FFFC5CD3000", "vmaddr" : "7FFF8B124000", "buildId" : "38D4CB9C10CD30D38B7BA515EC75FE85" }, { "path" : "/usr/lib/system/libsystem_asl.dylib", "machType" : 6, "b" : "7FFFC5CD5000", "vmaddr" : "7FFF8B126000", "buildId" : "096E42283B7C30A68B13EC909A64499A" }, { "path" : "/usr/lib/system/libsystem_blocks.dylib", "machType" : 6, "b" : "7FFFC5CEE000", "vmaddr" : "7FFF8B13F000", "buildId" : "10DC540473AB35B3A277A8AFECB476EB" }, { "path" : "/usr/lib/system/libsystem_c.dylib", "machType" : 6, "b" : "7FFFC5CEF000", "vmaddr" : "7FFF8B140000", "buildId" : "8253DEB9E4B13F7A8054C9AF221AEDC8" }, { "path" : "/usr/lib/system/libsystem_configuration.dylib", "machType" : 6, "b" : "7FFFC5D7D000", "vmaddr" : "7FFF8B1CE000", "buildId" : "D2E062894FE53282B50C60A8392AD9C0" }, { "path" : "/usr/lib/system/libsystem_coreservices.dylib", "machType" : 6, "b" : "7FFFC5D81000", "vmaddr" : "7FFF8B1D2000", "buildId" : "059FBEA2C83B320C9A6BD06D66C97564" }, { "path" : "/usr/lib/system/libsystem_coretls.dylib", "machType" : 6, "b" : "7FFFC5D85000", "vmaddr" : "7FFF8B1D6000", "buildId" : "EC6FCF07DCFB3A039CC96DD3709974C6" }, { "path" : "/usr/lib/system/libsystem_dnssd.dylib", "machType" : 6, "b" : "7FFFC5D9E000", "vmaddr" : "7FFF8B1EF000", "buildId" : "CC9602150B1B3822A13A3DDE96FA796F" }, { "path" : "/usr/lib/system/libsystem_info.dylib", "machType" : 6, "b" : "7FFFC5DA5000", "vmaddr" : "7FFF8B1F6000", "buildId" : "611DB84CBF703F928702B9F28A900920" }, { "path" : "/usr/lib/system/libsystem_kernel.dylib", "machType" : 6, "b" : "7FFFC5DCF000", "vmaddr" : "7FFF8B220000", "buildId" : "48384C6C8CC23153A2B50E290B058313" }, { "path" : "/usr/lib/system/libsystem_m.dylib", "machType" : 6, "b" : "7FFFC5DF2000", "vmaddr" : "7FFF8B243000", "buildId" : "AD4915D19CA93A9FBE862F77E37B6C04" }, { "path" : "/usr/lib/system/libsystem_malloc.dylib", "machType" : 6, "b" : "7FFFC5E3A000", "vmaddr" : "7FFF8B28B000", "buildId" : "2F0A1152C67F38EBB0E6E309F5361907" }, { "path" : "/usr/lib/system/libsystem_network.dylib", "machType" : 6, "b" : "7FFFC5E59000", "vmaddr" : "7FFF8B2AA000", "buildId" : "166C0F6E25893C60BAEA65E1AEFF5BA9" }, { "path" : "/usr/lib/system/libsystem_networkextension.dylib", "machType" : 6, "b" : "7FFFC5EB3000", "vmaddr" : "7FFF8B304000", "buildId" : "73638E906F5F3BC48D5C8054EC0AC7E8" }, { "path" : "/usr/lib/system/libsystem_notify.dylib", "machType" : 6, "b" : "7FFFC5EBD000", "vmaddr" : "7FFF8B30E000", "buildId" : "B8160190A0693B3ABDF62AA408221FAE" }, { "path" : "/usr/lib/system/libsystem_platform.dylib", "machType" : 6, "b" : "7FFFC5EC7000", "vmaddr" : "7FFF8B318000", "buildId" : "5E3EA597D4AF3E0BB459E2FA19B4F819" }, { "path" : "/usr/lib/system/libsystem_pthread.dylib", "machType" : 6, "b" : "7FFFC5ED0000", "vmaddr" : "7FFF8B321000", "buildId" : "BBB20708CD0D371A93AE08A42852EAE0" }, { "path" : "/usr/lib/system/libsystem_sandbox.dylib", "machType" : 6, "b" : "7FFFC5EDB000", "vmaddr" : "7FFF8B32C000", "buildId" : "3AA1CF1EBC7433318CA8FEC888417CBC" }, { "path" : "/usr/lib/system/libsystem_secinit.dylib", "machType" : 6, "b" : "7FFFC5EDF000", "vmaddr" : "7FFF8B330000", "buildId" : "F78B847B35653E4B98A6F7AD40392E2D" }, { "path" : "/usr/lib/system/libsystem_symptoms.dylib", "machType" : 6, "b" : "7FFFC5EE1000", "vmaddr" : "7FFF8B332000", "buildId" : "FA8033C5D78835C5BCC02954AAA7779D" }, { "path" : "/usr/lib/system/libsystem_trace.dylib", "machType" : 6, "b" : "7FFFC5EE9000", "vmaddr" : "7FFF8B33A000", "buildId" : "7D45507855833D56B90D9ED528DE5936" }, { "path" : "/usr/lib/system/libunwind.dylib", "machType" : 6, "b" : "7FFFC5EFD000", "vmaddr" : "7FFF8B34E000", "buildId" : "3D50D8A8C460334DA5192DA841102C6B" }, { "path" : "/usr/lib/system/libxpc.dylib", "machType" : 6, "b" : "7FFFC5F03000", "vmaddr" : "7FFF8B354000", "buildId" : "0ACBDB9135D13568AABF45B22D367E10" }, { "path" : "/usr/lib/libobjc.A.dylib", "machType" : 6, "b" : "7FFFC53C4000", "vmaddr" : "7FFF8A815000", "buildId" : "54CD8D1A5C983559B13A932B3D3DD338" }, { "path" : "/usr/lib/libc++abi.dylib", "machType" : 6, "b" : "7FFFC48A7000", "vmaddr" : "7FFF89CF8000", "buildId" : "3019935288BF30BD8CFF2A4FBE247523" }, { "path" : "/usr/lib/libDiagnosticMessagesClient.dylib", "machType" : 6, "b" : "7FFFC445E000", "vmaddr" : "7FFF898AF000", "buildId" : "84A04D240E603810A8C090A65E2DF61A" }, { "path" : "/usr/lib/libicucore.A.dylib", "machType" : 6, "b" : "7FFFC4E10000", "vmaddr" : "7FFF8A261000", "buildId" : "E1DB723E36603534B6DECC11AF4025FB" }, { "path" : "/usr/lib/libz.1.dylib", "machType" : 6, "b" : "7FFFC5BBE000", "vmaddr" : "7FFF8B00F000", "buildId" : "46E3FFA24328327A8D34A03E20BFFB8E" }, { "path" : "/usr/lib/libcoretls.dylib", "machType" : 6, "b" : "7FFFC48FA000", "vmaddr" : "7FFF89D4B000", "buildId" : "64B1001E10F63542A3B2C4B49F51817F" }, { "path" : "/usr/lib/libcoretls_cfhelpers.dylib", "machType" : 6, "b" : "7FFFC48FB000", "vmaddr" : "7FFF89D4C000", "buildId" : "1A10303E5EB03C7C9165021FCDFD934D" }, { "path" : "/usr/lib/libOpenScriptingUtil.dylib", "machType" : 6, "b" : "7FFFC4697000", "vmaddr" : "7FFF89AE8000", "buildId" : "90743888C1E834E3924E1A754B2B63B9" }, { "path" : "/usr/lib/libauto.dylib", "machType" : 6, "b" : "7FFFC482F000", "vmaddr" : "7FFF89C80000", "buildId" : "34388D0BC5393C1B94082BC152162E43" }, { "path" : "/usr/lib/libbsm.0.dylib", "machType" : 6, "b" : "7FFFC4830000", "vmaddr" : "7FFF89C81000", "buildId" : "20084796B04D3B35A003EA11459557A9" }, { "path" : "/usr/lib/libpam.2.dylib", "machType" : 6, "b" : "7FFFC579C000", "vmaddr" : "7FFF8ABED000", "buildId" : "71EB0D88DE843C8DA2C558AA282BC5BC" }, { "path" : "/usr/lib/libsqlite3.dylib", "machType" : 6, "b" : "7FFFC585B000", "vmaddr" : "7FFF8ACAC000", "buildId" : "5CE503A117E2341F9A621449D54EDF44" }, { "path" : "/usr/lib/libxar.1.dylib", "machType" : 6, "b" : "7FFFC5A96000", "vmaddr" : "7FFF8AEE7000", "buildId" : "69547C64E811326FBBED490C6361BDCB" }, { "path" : "/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit", "machType" : 6, "b" : "7FFFB2082000", "vmaddr" : "7FFF774D3000", "buildId" : "8945545953713641910E16A81094169F" }, { "path" : "/usr/lib/libbz2.1.0.dylib", "machType" : 6, "b" : "7FFFC4841000", "vmaddr" : "7FFF89C92000", "buildId" : "6FD3B63F0F863A25BD5BE243F58792C9" }, { "path" : "/usr/lib/libxml2.2.dylib", "machType" : 6, "b" : "7FFFC5AA4000", "vmaddr" : "7FFF8AEF5000", "buildId" : "D2A6861BD9FA3BFCB664830C3FCE6065" }, { "path" : "/usr/lib/liblzma.5.dylib", "machType" : 6, "b" : "7FFFC503D000", "vmaddr" : "7FFF8A48E000", "buildId" : "44BD027999DD36B58A6EC11432E2098D" }, { "path" : "/usr/lib/libenergytrace.dylib", "machType" : 6, "b" : "7FFFC4D07000", "vmaddr" : "7FFF8A158000", "buildId" : "A1B040A2797730979ADF34FF181EB970" }, { "path" : "/usr/lib/system/libkxld.dylib", "machType" : 6, "b" : "7FFFC5CBC000", "vmaddr" : "7FFF8B10D000", "buildId" : "F2D20015638F3398A96ABBC7630D497B" } ] }}
 mongod(_ZN5mongo15printStackTraceERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE+0x39) [0x10db0f4b9]
 mongod(_ZN5mongo10logContextEPKc+0x185) [0x10da9c205]
 mongod(_ZN5mongo23msgassertedWithLocationEiPKcS1_j+0x2E9) [0x10da87249]
 mongod(_ZNK5mongo11BSONElement4sizeEv+0x30C) [0x10d047b3c]
 mongod(_ZN5mongo5mozjs8BSONInfo9enumerateEP9JSContextN2JS6HandleIP8JSObjectEERNS4_16AutoVectorRooterI4jsidEEb+0x17A) [0x10da23c8a]
 mongod(_ZN5mongo5mozjs7smUtils9enumerateINS0_8BSONInfoEEEbP9JSContextN2JS6HandleIP8JSObjectEERNS6_16AutoVectorRooterI4jsidEEb+0x14) [0x10da3d194]
 mongod(_ZL24EnumerateExtraPropertiesP9JSContextN2JS6HandleIP8JSObjectEEjRN7mozilla5MaybeIN2js7HashSetI4jsid12IdHashPolicyNS8_15TempAllocPolicyEEEEEPNS1_16AutoVectorRooterISA_EE+0x9D) [0x10e1573ad]
 mongod(_ZL8SnapshotP9JSContextN2JS6HandleIP8JSObjectEEjPNS1_16AutoVectorRooterI4jsidEE+0x106) [0x10e14e736]
 mongod(_Z12JS_EnumerateP9JSContextN2JS6HandleIP8JSObjectEENS1_13MutableHandleIN2js15TraceableVectorI4jsidLm0ENS7_15TempAllocPolicyENS7_15DefaultGCPolicyIS9_EEEEEE+0x7C) [0x10e0f5a6c]
 mongod(_ZN5mongo5mozjs13ObjectWrapper24WriteFieldRecursionFrameC2EP9JSContextP8JSObjectPNS_14BSONObjBuilderENS_10StringDataE+0x23B) [0x10da6987b]
 mongod(_ZN5mongo5mozjs11ValueWriter12_writeObjectEPNS_14BSONObjBuilderENS_10StringDataEPNS0_13LifetimeStackINS0_13ObjectWrapper24WriteFieldRecursionFrameELm150EEE+0x992) [0x10da79a72]
 mongod(_ZN5mongo5mozjs13ObjectWrapper11_writeFieldEPNS_14BSONObjBuilderENS1_3KeyEPNS0_13LifetimeStackINS1_24WriteFieldRecursionFrameELm150EEEPNS_7BSONObjE+0x105) [0x10da694f5]
 mongod(_ZN5mongo5mozjs13ObjectWrapper6toBSONEv+0x315) [0x10da68f55]
 mongod(_ZN5mongo5mozjs18NativeFunctionInfo4callEP9JSContextN2JS8CallArgsE+0xA1) [0x10da5d391]
 mongod(_ZN5mongo5mozjs7smUtils4callINS0_18NativeFunctionInfoEEEbP9JSContextjPN2JS5ValueE+0x35) [0x10da3d935]
 ??? [0x1143287d3]
 ??? [0x7ffa7acd7da0]
-----  END BACKTRACE  -----



 Comments   
Comment by Kelsey Schubert [ 09/Jun/17 ]

Hi sspilleman,

We haven’t heard back from you for some time, so I’m going to mark this ticket as resolved. If this is still an issue for you, please provide additional information and we will reopen the ticket.

Regards,
Thomas

Comment by Mark Agarunov [ 19/May/17 ]

Hello sspilleman,

Thank you for providing these files. Looking over this, I suspect this may be due to data corruption. Please try to repair the dataset to see if this fixes the issue. If it does not, please provide the complete log file from mongod when this issue is present.

Thanks,
Mark

Comment by Sander Spilleman [ 07/May/17 ]

FYI, I switched back to jsMode: false..... This is unworkable

Comment by Sander Spilleman [ 06/May/17 ]

BTW. Just tried. It also fails on v3.5.6. Just downloaded the source and built a Fedora version.....

Stacktrace below:

2017-05-06T16:02:02.001+0200 I -        [conn28]   M/R: (1/3) Emit Progress: 191300
2017-05-06T16:02:05.001+0200 I -        [conn28]   M/R: (1/3) Emit Progress: 359600
 
2017-05-06T16:02:12.821+0200 I -        [conn28] Assertion: 10320:BSONElement: bad type 49 src/mongo/bson/bsonelement.cpp 632
2017-05-06T16:02:12.834+0200 I CONTROL  [conn28] 
 0x55b4f05cb931 0x55b4f0555aba 0x55b4ef825b20 0x55b4ef8b5e42 0x55b4f04cdfd9 0x55b4f04e6d64 0x55b4f0bf86e6 0x55b4f0bf8fd8 0x55b4f0bca145 0x55b4f050928e 0x55b4f051eb1d 0x55b4f0520cf1 0x55b4f0508cb7 0x55b4f050a5a3 0x55b4f04fe3f2 0x55b4f04e74c3 0x2bcb266197d3
----- BEGIN BACKTRACE -----
{"backtrace":[{"b":"55B4EEFCF000","o":"15FC931","s":"_ZN5mongo15printStackTraceERSo"},{"b":"55B4EEFCF000","o":"1586ABA","s":"_ZN5mongo10logContextEPKc"},{"b":"55B4EEFCF000","o":"856B20","s":"_ZN5mongo23msgassertedWithLocationEiPKcS1_j"},{"b":"55B4EEFCF000","o":"8E6E42","s":"_ZNK5mongo11BSONElement4sizeEv"},{"b":"55B4EEFCF000","o":"14FEFD9","s":"_ZN5mongo5mozjs8BSONInfo9enumerateEP9JSContextN2JS6HandleIP8JSObjectEERNS4_16AutoVectorRooterI4jsidEEb"},{"b":"55B4EEFCF000","o":"1517D64","s":"_ZN5mongo5mozjs7smUtils9enumerateINS0_8BSONInfoEEEbP9JSContextN2JS6HandleIP8JSObjectEERNS6_16AutoVectorRooterI4jsidEEb"},{"b":"55B4EEFCF000","o":"1C296E6"},{"b":"55B4EEFCF000","o":"1C29FD8"},{"b":"55B4EEFCF000","o":"1BFB145","s":"_Z12JS_EnumerateP9JSContextN2JS6HandleIP8JSObjectEENS1_13MutableHandleIN2js15TraceableVectorI4jsidLm0ENS7_15TempAllocPolicyENS7_15DefaultGCPolicyIS9_EEEEEE"},{"b":"55B4EEFCF000","o":"153A28E","s":"_ZN5mongo5mozjs13ObjectWrapper24WriteFieldRecursionFrameC2EP9JSContextP8JSObjectPNS_14BSONObjBuilderENS_10StringDataE"},{"b":"55B4EEFCF000","o":"154FB1D","s":"_ZN5mongo5mozjs11ValueWriter12_writeObjectEPNS_14BSONObjBuilderENS_10StringDataEPNS0_13LifetimeStackINS0_13ObjectWrapper24WriteFieldRecursionFrameELm150EEE"},{"b":"55B4EEFCF000","o":"1551CF1","s":"_ZN5mongo5mozjs11ValueWriter9writeThisEPNS_14BSONObjBuilderENS_10StringDataEPNS0_13LifetimeStackINS0_13ObjectWrapper24WriteFieldRecursionFrameELm150EEE"},{"b":"55B4EEFCF000","o":"1539CB7","s":"_ZN5mongo5mozjs13ObjectWrapper11_writeFieldEPNS_14BSONObjBuilderENS1_3KeyEPNS0_13LifetimeStackINS1_24WriteFieldRecursionFrameELm150EEEPNS_7BSONObjE"},{"b":"55B4EEFCF000","o":"153B5A3","s":"_ZN5mongo5mozjs13ObjectWrapper6toBSONEv"},{"b":"55B4EEFCF000","o":"152F3F2","s":"_ZN5mongo5mozjs18NativeFunctionInfo4callEP9JSContextN2JS8CallArgsE"},{"b":"55B4EEFCF000","o":"15184C3","s":"_ZN5mongo5mozjs7smUtils4callINS0_18NativeFunctionInfoEEEbP9JSContextjPN2JS5ValueE"},{"b":"0","o":"2BCB266197D3"}],"processInfo":{ "mongodbVersion" : "3.5.6", "gitVersion" : "6408dcd1b5f4fa1747fa2acac50b8cd004343ca7", "compiledModules" : [], "uname" : { "sysname" : "Linux", "release" : "4.10.13-200.fc25.x86_64", "version" : "#1 SMP Thu Apr 27 20:39:25 UTC 2017", "machine" : "x86_64" }, "somap" : [ { "b" : "55B4EEFCF000", "elfType" : 3, "buildId" : "A77B369435568CD5FCC54EAEA8A938B4D7A5F289" }, { "b" : "7FFD805C6000", "path" : "linux-vdso.so.1", "elfType" : 3, "buildId" : "0B94EBA680F6A3BB2E3EFBDE9A2551C1F5B27E34" }, { "b" : "7F6F41528000", "path" : "/lib64/libssl.so.10", "elfType" : 3, "buildId" : "0C3C3999F04F0CB2BEEA7A9FFCA8442FC2039C28" }, { "b" : "7F6F410C7000", "path" : "/lib64/libcrypto.so.10", "elfType" : 3, "buildId" : "12049113E5F2E8208ADF8EAA4D5228725D47CF0E" }, { "b" : "7F6F40EBF000", "path" : "/lib64/librt.so.1", "elfType" : 3, "buildId" : "F6812111DC7E422F272CA2B6949CC3F6ADF72AE8" }, { "b" : "7F6F40CBB000", "path" : "/lib64/libdl.so.2", "elfType" : 3, "buildId" : "128CD9232BAC3DDB534E147132DCF48EC1210D2B" }, { "b" : "7F6F409B2000", "path" : "/lib64/libm.so.6", "elfType" : 3, "buildId" : "5564B82052DA06F73678336EE6D311F90ED967F6" }, { "b" : "7F6F4079B000", "path" : "/lib64/libgcc_s.so.1", "elfType" : 3, "buildId" : "7F6DFB0BC6EFB047F1221C2E63619A4888DD5EF0" }, { "b" : "7F6F4057D000", "path" : "/lib64/libpthread.so.0", "elfType" : 3, "buildId" : "B1A00278DD68288C9FD6692F7A2050970D62A1BA" }, { "b" : "7F6F401B7000", "path" : "/lib64/libc.so.6", "elfType" : 3, "buildId" : "1BD952E87FC457D08ACFDC6E085C2429FD55DEAB" }, { "b" : "7F6F4179A000", "path" : "/lib64/ld-linux-x86-64.so.2", "elfType" : 3, "buildId" : "25BC2345FBA50F24577D3B856D08648EF3CC8F17" }, { "b" : "7F6F3FF6A000", "path" : "/lib64/libgssapi_krb5.so.2", "elfType" : 3, "buildId" : "53D56F818722973F2D9B3FD9404E0FC54463A102" }, { "b" : "7F6F3FC84000", "path" : "/lib64/libkrb5.so.3", "elfType" : 3, "buildId" : "1ED4FF8BEDAE3459F8CEC47A0E2AE712A2C46A5B" }, { "b" : "7F6F3FA80000", "path" : "/lib64/libcom_err.so.2", "elfType" : 3, "buildId" : "187A3021EE64DA2DE47E16EA6C4E9E28BA893AF9" }, { "b" : "7F6F3F84F000", "path" : "/lib64/libk5crypto.so.3", "elfType" : 3, "buildId" : "9B979B5D307E015D970F55E65DD35A03F1C77ABC" }, { "b" : "7F6F3F639000", "path" : "/lib64/libz.so.1", "elfType" : 3, "buildId" : "919D7128D3D20B8904E76D7F7A35A4788EEA5E0B" }, { "b" : "7F6F3F42A000", "path" : "/lib64/libkrb5support.so.0", "elfType" : 3, "buildId" : "B7CF10168953C83E85BB52EC9DA0C4B6773C0FB5" }, { "b" : "7F6F3F226000", "path" : "/lib64/libkeyutils.so.1", "elfType" : 3, "buildId" : "83B5DC698C4FBF60FEBE682891F6F423FCB91479" }, { "b" : "7F6F3F00B000", "path" : "/lib64/libresolv.so.2", "elfType" : 3, "buildId" : "3F3C40E53DBFC4DA81595EAD587EFE5231D16BDD" }, { "b" : "7F6F3EDE4000", "path" : "/lib64/libselinux.so.1", "elfType" : 3, "buildId" : "4E80D147759A2B757DF396C40B079E8EA9CE2629" }, { "b" : "7F6F3EB71000", "path" : "/lib64/libpcre.so.1", "elfType" : 3, "buildId" : "E054C9AD15BE93CFE8C9E9EB63C8AA2938AAA4E3" } ] }}
 mongod(_ZN5mongo15printStackTraceERSo+0x41) [0x55b4f05cb931]
 mongod(_ZN5mongo10logContextEPKc+0x13A) [0x55b4f0555aba]
 mongod(_ZN5mongo23msgassertedWithLocationEiPKcS1_j+0x1C9) [0x55b4ef825b20]
 mongod(_ZNK5mongo11BSONElement4sizeEv+0x262) [0x55b4ef8b5e42]
 mongod(_ZN5mongo5mozjs8BSONInfo9enumerateEP9JSContextN2JS6HandleIP8JSObjectEERNS4_16AutoVectorRooterI4jsidEEb+0x159) [0x55b4f04cdfd9]
 mongod(_ZN5mongo5mozjs7smUtils9enumerateINS0_8BSONInfoEEEbP9JSContextN2JS6HandleIP8JSObjectEERNS6_16AutoVectorRooterI4jsidEEb+0x14) [0x55b4f04e6d64]
 mongod(+0x1C296E6) [0x55b4f0bf86e6]
 mongod(+0x1C29FD8) [0x55b4f0bf8fd8]
 mongod(_Z12JS_EnumerateP9JSContextN2JS6HandleIP8JSObjectEENS1_13MutableHandleIN2js15TraceableVectorI4jsidLm0ENS7_15TempAllocPolicyENS7_15DefaultGCPolicyIS9_EEEEEE+0x85) [0x55b4f0bca145]
 mongod(_ZN5mongo5mozjs13ObjectWrapper24WriteFieldRecursionFrameC2EP9JSContextP8JSObjectPNS_14BSONObjBuilderENS_10StringDataE+0x3DE) [0x55b4f050928e]
 mongod(_ZN5mongo5mozjs11ValueWriter12_writeObjectEPNS_14BSONObjBuilderENS_10StringDataEPNS0_13LifetimeStackINS0_13ObjectWrapper24WriteFieldRecursionFrameELm150EEE+0x1FD) [0x55b4f051eb1d]
 mongod(_ZN5mongo5mozjs11ValueWriter9writeThisEPNS_14BSONObjBuilderENS_10StringDataEPNS0_13LifetimeStackINS0_13ObjectWrapper24WriteFieldRecursionFrameELm150EEE+0x6E1) [0x55b4f0520cf1]
 mongod(_ZN5mongo5mozjs13ObjectWrapper11_writeFieldEPNS_14BSONObjBuilderENS1_3KeyEPNS0_13LifetimeStackINS1_24WriteFieldRecursionFrameELm150EEEPNS_7BSONObjE+0x117) [0x55b4f0508cb7]
 mongod(_ZN5mongo5mozjs13ObjectWrapper6toBSONEv+0x383) [0x55b4f050a5a3]
 mongod(_ZN5mongo5mozjs18NativeFunctionInfo4callEP9JSContextN2JS8CallArgsE+0xD2) [0x55b4f04fe3f2]
 mongod(_ZN5mongo5mozjs7smUtils4callINS0_18NativeFunctionInfoEEEbP9JSContextjPN2JS5ValueE+0x33) [0x55b4f04e74c3]
 ??? [0x2bcb266197d3]
-----  END BACKTRACE  -----
2017-05-06T16:02:12.835+0200 E QUERY    [conn28] Error: Error: BSONElement: bad type 49 @:1:227
2017-05-06T16:02:12.846+0200 I COMMAND  [conn28] mr failed, removing collection10320 Error: Error: BSONElement: bad type 49 @:1:227
2017-05-06T16:02:13.029+0200 I COMMAND  [conn28] command nzbindex.tmp.mr.articles_1 command: mapReduce { mapreduce: "articles", map: "function mapper() {
	var mapObject = {
		parts: [this],
		part: this.part,
		totalbytes: this.bytes
	};
	return emit(this.key, mapObject);
}", reduce: "function reducer(key, values) {
	var reducedObject = {
		parts: [],
		part: {
			index: 999999999999999999999,
			total: 0
		},
		totalbytes: 0
	};
	v...", query: { created: { $gte: new Date(1494079230832) } }, sort: { key: 1 }, out: { reduce: "files" }, jsMode: true, verbose: false, finalize: "function finalizer(key, reducedObject) {
	reducedObject.partcount = reducedObject.parts.length;
	return reducedObject;
}" } planSummary: IXSCAN { key: 1 } keysExamined:2188128 docsExamined:2188128 fromMultiPlanner:1 replanned:1 exception: Error: Error: BSONElement: bad type 49 @:1:227
 code:10320 numYields:17319 reslen:135 locks:{ Global: { acquireCount: { r: 45512, w: 2866 } }, Database: { acquireCount: { r: 3, w: 2860, R: 21320, W: 8 } }, Collection: { acquireCount: { r: 3, w: 2862 } } } protocol:op_query 13891ms

Comment by Sander Spilleman [ 06/May/17 ]

log file also uploaded.....

Comment by Sander Spilleman [ 06/May/17 ]

I've uploaded the --dpPath directory...

In this dataset the issue did NOT occur however. There may be reasons why however:

1) First I tried a couple of times with running "mongodump --archive=/tmp/nzbindex4.gz --gzip --db nzbindex" before each mapReduce, this may the reason why it didnt
2) I also tried a couple of times by shutting down the database and copying the dpPath directory before running the mapReduce job.

Bot may be (somehow) valid reasons why the database might be in a different state and the issue doesn't occur then

Sander

Comment by Sander Spilleman [ 06/May/17 ]

Let me first send you the mapreduce code. Unfortunately I've already deleted the dataset.... Modifying my code to see if I'm inserting strings with strange values like \0 characters etc.

articlesToFiles.js

const database = require('./lib/database');
let mongoclient;
 
function mapper() {
	var mapObject = {
		parts: [this],
		part: this.part,
		totalbytes: this.bytes
	};
	return emit(this.key, mapObject);
};
 
function reducer(key, values) {
	var reducedObject = {
		parts: [],
		part: {
			index: 999999999999999999999,
			total: 0
		},
		totalbytes: 0
	};
	values.forEach(function (value) {
		value.parts.forEach(function (part) {
			if (reducedObject.parts.indexOf(part) === -1) {
				reducedObject.parts.push(part);
				reducedObject.totalbytes += part.bytes;
				if (part.part.index < reducedObject.part.index) {
					reducedObject.part.index = part.part.index;
				}
				if (part.part.total > reducedObject.part.total) {
					reducedObject.part.total = part.part.total;
				}
			}
		});
	});
	return reducedObject;
};
 
function finalizer(key, reducedObject) {
	reducedObject.partcount = reducedObject.parts.length;
	return reducedObject;
};
 
function done(err, resultcollection) {
	log.info('Finished: mapReduce');
	if (err) {
		return console.log(err)
	};
	if (resultcollection) {
		resultcollection.count(function (err, count) {
			log.info('Result: created', count, 'files');
			mongoclient.close();
		});
	}
}
 
database.connect(function (db) {
	mongoclient = db;
	database.getLastRun(mongoclient.collection('stats'), 'articles3ToFiles', (lastrundate) => {
		database.updateLastRun(mongoclient.collection('stats'), 'articles3ToFiles', () => {});
		log.info('Starting: mapReduce from', lastrundate);
		mongoclient.collection('articles').mapReduce(
			mapper,
			reducer, {
				query: {
					created: {
						$gte: lastrundate
					}
				},
				sort: {
					key: 1
				},
				out: {
					reduce: "files"
				},
				jsMode: true,
				verbose: false,
				finalize: finalizer
			},
			done
		);
	});
});

Comment by Mark Agarunov [ 05/May/17 ]

Hello sspilleman,

Thank you for the report. We are looking into the behavior you've described, but I have a couple of questions/requests to clarify the issue:

  • Please provide the exact query being used which causes this behavior.
  • If possible, please upload the dataset where this issue is present. I've created a secure upload portal for this.
  • Please provide the complete logs from mongod for when this behavior is present.

Thanks,
Mark

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