Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-17239

segfault running group using CodeWScope in reduce

    • Type: Icon: Bug Bug
    • Resolution: Duplicate
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: 3.0.0-rc8
    • Component/s: MapReduce
    • Labels:
      None
    • ALL

      This may be related to SERVER-17238. Since the shell doesn't support CodeWScope I can't provide a js repro. The python code looks something like this:

      from bson.code import Code
      db.drop_collection("test")
      db.test.save({"a": 1})
      db.test.save({"b": 1})
      
      reduce_function = "function (obj, prev) { prev.count += inc_value; }"
      db.test.group([], {}, {"count": 0}, Code(reduce_function, {"inc_value": 0.5}))
      

      Backtrace at full verbosity:

      2015-02-09T16:50:11.120-0800 D COMMAND  [conn4] run command pymongo_test.$cmd { group: { $reduce: CodeWScope( function (obj, prev) { prev.count += inc_value; }, { inc_value: 0.5 }), ns: "test", cond: {}, key: {}, initial: { count: 0 } } }
      2015-02-09T16:50:11.120-0800 D QUERY    [conn4] [QLOG] Beginning planning...
      =============================
      Options = INDEX_INTERSECTION KEEP_MUTATIONS
      Canonical query:
      ns=pymongo_test.test limit=0 skip=0
      Tree: $and
      Sort: {}
      Proj: {}
      =============================
      2015-02-09T16:50:11.120-0800 D QUERY    [conn4] [QLOG] Index 0 is kp: { _id: 1 } io: { v: 1, key: { _id: 1 }, name: "_id_", ns: "pymongo_test.test" }
      2015-02-09T16:50:11.120-0800 D QUERY    [conn4] [QLOG] Rated tree:
      $and
      2015-02-09T16:50:11.120-0800 D QUERY    [conn4] [QLOG] Planner: outputted 0 indexed solutions.
      2015-02-09T16:50:11.120-0800 D QUERY    [conn4] [QLOG] Planner: outputting a collscan:
      COLLSCAN
      ---ns = pymongo_test.test
      ---filter = $and
      ---fetched = 1
      ---sortedByDiskLoc = 0
      ---getSort = []
      2015-02-09T16:50:11.120-0800 D QUERY    [conn4] Only one plan is available; it will be run but will not be cached. query: {} sort: {} projection: {} skip: 0 limit: 0, planSummary: COLLSCAN
      2015-02-09T16:50:11.120-0800 D QUERY    [conn4] V8Scope 0x386e000 unregistered for op 0
      2015-02-09T16:50:11.120-0800 D QUERY    [conn4] V8Scope 0x386e000 registered for op 57
      2015-02-09T16:50:11.120-0800 I QUERY    [conn4] V8 GC prologue heap stats -  total: 3018752 exec: 1048576 used: 636864 limit: 1535115264
      2015-02-09T16:50:11.121-0800 I QUERY    [conn4] V8 GC epilogue heap stats -  total: 4067328 exec: 1048576 used: 615912 limit: 1535115264
      2015-02-09T16:50:11.121-0800 I QUERY    [conn4] V8 GC prologue heap stats -  total: 4067328 exec: 1048576 used: 615912 limit: 1535115264
      2015-02-09T16:50:11.121-0800 I QUERY    [conn4] V8 GC epilogue heap stats -  total: 4067328 exec: 1048576 used: 614928 limit: 1535115264
      2015-02-09T16:50:11.121-0800 I QUERY    [conn4] V8 GC prologue heap stats -  total: 4067328 exec: 1048576 used: 614928 limit: 1535115264
      2015-02-09T16:50:11.121-0800 I QUERY    [conn4] V8 GC epilogue heap stats -  total: 4067328 exec: 1048576 used: 614928 limit: 1535115264
      2015-02-09T16:50:11.121-0800 I QUERY    [conn4] V8 GC prologue heap stats -  total: 4067328 exec: 1048576 used: 614928 limit: 1535115264
      2015-02-09T16:50:11.122-0800 I QUERY    [conn4] V8 GC epilogue heap stats -  total: 4067328 exec: 1048576 used: 614928 limit: 1535115264
      2015-02-09T16:50:11.122-0800 I QUERY    [conn4] V8 GC prologue heap stats -  total: 4067328 exec: 1048576 used: 614928 limit: 1535115264
      2015-02-09T16:50:11.122-0800 I QUERY    [conn4] V8 GC epilogue heap stats -  total: 4067328 exec: 1048576 used: 614928 limit: 1535115264
      2015-02-09T16:50:11.122-0800 I QUERY    [conn4] V8 GC prologue heap stats -  total: 4067328 exec: 1048576 used: 614928 limit: 1535115264
      2015-02-09T16:50:11.123-0800 I QUERY    [conn4] V8 GC epilogue heap stats -  total: 4067328 exec: 1048576 used: 610720 limit: 1535115264
      2015-02-09T16:50:11.123-0800 I QUERY    [conn4] V8 GC prologue heap stats -  total: 4067328 exec: 1048576 used: 610720 limit: 1535115264
      2015-02-09T16:50:11.123-0800 I QUERY    [conn4] V8 GC epilogue heap stats -  total: 4067328 exec: 1048576 used: 610720 limit: 1535115264
      2015-02-09T16:50:11.123-0800 D QUERY    [conn4] V8Scope 0x386e000 unregistered for op 57
      2015-02-09T16:50:11.123-0800 F -        [conn4] Invalid access at address: 0
      2015-02-09T16:50:11.130-0800 F -        [conn4] Got signal: 11 (Segmentation fault).
      
       0x1134d4e 0x11344f2 0x11348e6 0x7f269cfde180 0x1252636 0x10a410c 0x10a458d 0x10990b7 0x1099129 0x1093cf4 0x10941e9 0xac3a0c 0xcfb32a 0x9cc5d9 0xa6f29a 0xa704be 0xa7134c 0xcbed85 0xb92994 0x7f9030 0x10effe3 0x7f269cfd52d4 0x7f269c0e8c0d
      ----- BEGIN BACKTRACE -----
      {"backtrace":[{"b":"400000","o":"D34D4E"},{"b":"400000","o":"D344F2"},{"b":"400000","o":"D348E6"},{"b":"7F269CFCE000","o":"10180"},{"b":"400000","o":"E52636"},{"b":"400000","o":"CA410C"},{"b":"400000","o":"CA458D"},{"b":"400000","o":"C990B7"},{"b":"400000","o":"C99129"},{"b":"400000","o":"C93CF4"},{"b":"400000","o":"C941E9"},{"b":"400000","o":"6C3A0C"},{"b":"400000","o":"8FB32A"},{"b":"400000","o":"5CC5D9"},{"b":"400000","o":"66F29A"},{"b":"400000","o":"6704BE"},{"b":"400000","o":"67134C"},{"b":"400000","o":"8BED85"},{"b":"400000","o":"792994"},{"b":"400000","o":"3F9030"},{"b":"400000","o":"CEFFE3"},{"b":"7F269CFCE000","o":"72D4"},{"b":"7F269C000000","o":"E8C0D"}],"processInfo":{ "mongodbVersion" : "3.0.0-rc9-pre-", "gitVersion" : "425e072cc40c4389d1761f43f2900c117c96909c", "uname" : { "sysname" : "Linux", "release" : "3.19.0-gentoo", "version" : "#1 SMP PREEMPT Mon Feb 9 09:28:22 PST 2015", "machine" : "x86_64" }, "somap" : [ { "elfType" : 2, "b" : "400000" }, { "b" : "7FFF811E8000", "path" : "linux-vdso.so.1", "elfType" : 3, "buildId" : "31327C2EC653AA31647B1433CA6DCF85E7EAF554" }, { "b" : "7F269CFCE000", "path" : "/lib64/libpthread.so.0", "elfType" : 3 }, { "b" : "7F269CDC6000", "path" : "/lib64/librt.so.1", "elfType" : 3 }, { "b" : "7F269CBC2000", "path" : "/lib64/libdl.so.2", "elfType" : 3 }, { "b" : "7F269C8B2000", "path" : "/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.2/libstdc++.so.6", "elfType" : 3 }, { "b" : "7F269C5B7000", "path" : "/lib64/libm.so.6", "elfType" : 3 }, { "b" : "7F269C3A0000", "path" : "/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.2/libgcc_s.so.1", "elfType" : 3 }, { "b" : "7F269C000000", "path" : "/lib64/libc.so.6", "elfType" : 3 }, { "b" : "7F269D1E9000", "path" : "/lib64/ld-linux-x86-64.so.2", "elfType" : 3 } ] }}
       mongod(_ZN5mongo15printStackTraceERSo+0x3E) [0x1134d4e]
       mongod(+0xD344F2) [0x11344f2]
       mongod(+0xD348E6) [0x11348e6]
       libpthread.so.0(+0x10180) [0x7f269cfde180]
       mongod(_ZN2v82V837AdjustAmountOfExternalAllocatedMemoryEl+0x16) [0x1252636]
       mongod(_ZN5boost6detail17sp_counted_impl_pIN5mongo10BSONHolderEE7disposeEv+0x2C) [0x10a410c]
       mongod(_ZN5mongo10ObjTrackerINS_10BSONHolderEED1Ev+0x8D) [0x10a458d]
       mongod(_ZN5mongo7V8ScopeD1Ev+0x207) [0x10990b7]
       mongod(_ZN5mongo7V8ScopeD0Ev+0x9) [0x1099129]
       mongod(_ZN5mongo11PooledScopeD1Ev+0x954) [0x1093cf4]
       mongod(_ZN5mongo11PooledScopeD0Ev+0x9) [0x10941e9]
       mongod(_ZN5mongo10GroupStageD0Ev+0x6C) [0xac3a0c]
       mongod(_ZN5mongo12PlanExecutorD1Ev+0x6A) [0xcfb32a]
       mongod(_ZN5mongo12GroupCommand3runEPNS_16OperationContextERKSsRNS_7BSONObjEiRSsRNS_14BSONObjBuilderEb+0x5A9) [0x9cc5d9]
       mongod(_ZN5mongo12_execCommandEPNS_16OperationContextEPNS_7CommandERKSsRNS_7BSONObjEiRSsRNS_14BSONObjBuilderEb+0x3A) [0xa6f29a]
       mongod(_ZN5mongo7Command11execCommandEPNS_16OperationContextEPS0_iPKcRNS_7BSONObjERNS_14BSONObjBuilderEb+0xF8E) [0xa704be]
       mongod(_ZN5mongo12_runCommandsEPNS_16OperationContextEPKcRNS_7BSONObjERNS_11_BufBuilderINS_16TrivialAllocatorEEERNS_14BSONObjBuilderEbi+0x62C) [0xa7134c]
       mongod(_ZN5mongo8runQueryEPNS_16OperationContextERNS_7MessageERNS_12QueryMessageERKNS_15NamespaceStringERNS_5CurOpES3_b+0x21C5) [0xcbed85]
       mongod(_ZN5mongo16assembleResponseEPNS_16OperationContextERNS_7MessageERNS_10DbResponseERKNS_11HostAndPortEb+0xA34) [0xb92994]
       mongod(_ZN5mongo16MyMessageHandler7processERNS_7MessageEPNS_21AbstractMessagingPortEPNS_9LastErrorE+0xF0) [0x7f9030]
       mongod(_ZN5mongo17PortMessageServer17handleIncomingMsgEPv+0x2F3) [0x10effe3]
       libpthread.so.0(+0x72D4) [0x7f269cfd52d4]
       libc.so.6(clone+0x6D) [0x7f269c0e8c0d]
      -----  END BACKTRACE  -----
      

      Server version:

      $ ./mongod --version
      db version v3.0.0-rc9-pre-
      git version: 425e072cc40c4389d1761f43f2900c117c96909c
      

            Assignee:
            Unassigned Unassigned
            Reporter:
            bernie@mongodb.com Bernie Hackett
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: