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

slow1/memory.js fails when building mongod with js-engine=v8-3.25

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: JavaScript
    • Labels:
      None
    • Major Change
    • ALL
    • Platform 6 07/17/15, Platform 8 08/28/15

      This applies when we have the js-engine build option:

      scons ... --js-engine=v8-3.25 ... mongod mongo
      buildscripts/smoke.py --mode=files jstests/slow1/memory.js
      

      This is because as of V8 3.23, V8 will abort when it runs out of memory. Previously, it was possible to call v8::V8::IgnoreOutOfMemory() and terminate the embedded V8 instance when control returns to mongod.

      Logs from running under OS X (including stack trace):

      2014-04-30T11:18:19.796-0400 [conn3] command test.$cmd command: eval { $eval: function (col) { for (var i = 0; i < 100; ++i) {db[col + "_" + i].find();} }, args: [ "memoryTest9984" ] } keyUpdates:0 numYields:0 locks(micros) W:140395 reslen:45 140ms
      2014-04-30T11:18:20.248-0400 [conn3] command test.$cmd command: eval { $eval: function (col) { for (var i = 0; i < 100; ++i) {db[col + "_" + i].find();} }, args: [ "memoryTest9996" ] } keyUpdates:0 numYields:0 locks(micros) W:136981 reslen:45 137ms
      2014-04-30T11:18:20.339-0400 [FileAllocator] allocating new datafile /data/db/sconsTests/test.ns, filling with zeroes...
      2014-04-30T11:18:20.361-0400 [FileAllocator] done allocating datafile /data/db/sconsTests/test.ns, size: 16MB,  took 0.021 secs
      2014-04-30T11:18:20.411-0400 [FileAllocator] allocating new datafile /data/db/sconsTests/test.0, filling with zeroes...
      2014-04-30T11:18:20.551-0400 [FileAllocator] done allocating datafile /data/db/sconsTests/test.0, size: 64MB,  took 0.139 secs
      2014-04-30T11:18:20.573-0400 [conn3] datafileheader::init initializing /data/db/sconsTests/test.0 n:0
      2014-04-30T11:18:20.595-0400 [conn3] build index on: test.system.js properties: { v: 1, key: { _id: 1 }, name: "_id_", ns: "test.system.js" }
      2014-04-30T11:18:20.596-0400 [conn3] 	 added index to empty collection
      2014-04-30T11:18:20.596-0400 [conn3] update test.system.js query: { _id: "f1" } update: { _id: "f1", value: function (n) {
          a = [];
          b = [];
          c = [];
          for (i = 0; i <... } nscanned:0 nscannedObjects:0 nMatched:1 nModified:0 upsert:1 keyUpdates:0 numYields:0 locks(micros) w:257375 257ms
      
      #
      # Fatal error in CALL_AND_RETRY_LAST
      # Allocation failed - process out of memory
      #
      
      2014-04-30T11:18:26.390-0400 [conn3] SEVERE: Invalid operation at address: 0x100e1b5d5
      2014-04-30T11:18:26.400-0400 [conn3] SEVERE: Got signal: 4 (Illegal instruction: 4).
      mongo::printStackTrace(std::ostream&) (in mongod) (stacktrace.cpp:306)
      mongo::(anonymous namespace)::abruptQuitWithAddrSignal(int, __siginfo*, void*) (in mongod) (ios_base.h:162)
      /usr/lib/system/libsystem_platform.dylib(_sigtramp+0x1a) [0x7fff8f7ce5aa]
      ??? [0x726f727265206c61]
      v8::Utils::ReportApiFailure(char const*, char const*) (in mongod) (isolate.h:1015)
      v8::internal::V8::FatalProcessOutOfMemory(char const*, bool) (in mongod) (api.cc:190)
      v8::internal::Factory::NewFixedDoubleArray(int, v8::internal::PretenureFlag) (in mongod) (factory.cc:83)
      v8::internal::Builtin_ArrayPush(int, v8::internal::Object**, v8::internal::Isolate*) (in mongod) (builtins.cc:469)
      0xdd7055060a2
      

            Assignee:
            andrew.morrow@mongodb.com Andrew Morrow (Inactive)
            Reporter:
            benety.goh@mongodb.com Benety Goh
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: