Out of memory error 0.19.1

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Duplicate
    • Priority: Major - P3
    • 12_01_17
    • Affects Version/s: None
    • Component/s: None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      I installed the ruby Mongo driver (0.19.1), mongo_ext (0.19.1), and
      MongoMapper (trunk) and sporadically get an out of memory error. It
      happens very suddenly when the machine has lots of memory.

      I downgraded to a previous version I had good luck with (0.18.3) and
      the problem doesn't repro anymore. I'm running ruby enterprise
      edition w/ nginx. Here's my stack trace:

      NoMemoryError (failed to allocate memory):
      mongo (0.19.1) lib/./lib/mongo/connection.rb:704:in `recv'
      mongo (0.19.1) lib/./lib/mongo/connection.rb:704:in
      `receive_message_on_socket'
      mongo (0.19.1) lib/./lib/mongo/connection.rb:650:in `read_documents'
      mongo (0.19.1) lib/./lib/mongo/connection.rb:610:in `receive'
      mongo (0.19.1) lib/./lib/mongo/connection.rb:399:in
      `receive_message'
      mongo (0.19.1) lib/./lib/mongo/connection.rb:397:in `synchronize'
      mongo (0.19.1) lib/./lib/mongo/connection.rb:397:in
      `receive_message'
      mongo (0.19.1) lib/./lib/mongo/cursor.rb:339:in `send_initial_query'
      mongo (0.19.1) lib/./lib/mongo/cursor.rb:316:in
      `refill_via_get_more'
      mongo (0.19.1) lib/./lib/mongo/cursor.rb:304:in `num_remaining'
      mongo (0.19.1) lib/./lib/mongo/cursor.rb:61:in `next_document'
      mongo (0.19.1) lib/./lib/mongo/collection.rb:189:in `find_one'
      app/controllers/previews_controller.rb:7:in `create_or_update'
      warden (0.9.7) lib/warden/manager.rb:34:in `call'
      warden (0.9.7) lib/warden/manager.rb:34:in `call'
      warden (0.9.7) lib/warden/manager.rb:33:in `catch'
      warden (0.9.7) lib/warden/manager.rb:33:in `call'
      passenger (2.2.11) lib/phusion_passenger/rack/request_handler.rb:
      92:in `process_request'
      passenger (2.2.11) lib/phusion_passenger/abstract_request_handler.rb:
      207:in `main_loop'
      passenger (2.2.11) lib/phusion_passenger/railz/
      application_spawner.rb:418:in `start_request_handler'
      passenger (2.2.11) lib/phusion_passenger/railz/
      application_spawner.rb:358:in `handle_spawn_application'
      passenger (2.2.11) lib/phusion_passenger/utils.rb:184:in `safe_fork'
      passenger (2.2.11) lib/phusion_passenger/railz/
      application_spawner.rb:354:in `handle_spawn_application'
      passenger (2.2.11) lib/phusion_passenger/abstract_server.rb:352:in
      `_send_'
      passenger (2.2.11) lib/phusion_passenger/abstract_server.rb:352:in
      `main_loop'
      passenger (2.2.11) lib/phusion_passenger/abstract_server.rb:196:in
      `start_synchronously'
      passenger (2.2.11) lib/phusion_passenger/abstract_server.rb:163:in
      `start'
      passenger (2.2.11) lib/phusion_passenger/railz/
      application_spawner.rb:213:in `start'
      passenger (2.2.11) lib/phusion_passenger/spawn_manager.rb:262:in
      `spawn_rails_application'
      passenger (2.2.11) lib/phusion_passenger/
      abstract_server_collection.rb:126:in `lookup_or_add'
      passenger (2.2.11) lib/phusion_passenger/spawn_manager.rb:256:in
      `spawn_rails_application'
      passenger (2.2.11) lib/phusion_passenger/
      abstract_server_collection.rb:80:in `synchronize'
      passenger (2.2.11) lib/phusion_passenger/
      abstract_server_collection.rb:79:in `synchronize'
      passenger (2.2.11) lib/phusion_passenger/spawn_manager.rb:255:in
      `spawn_rails_application'
      passenger (2.2.11) lib/phusion_passenger/spawn_manager.rb:154:in
      `spawn_application'
      passenger (2.2.11) lib/phusion_passenger/spawn_manager.rb:287:in
      `handle_spawn_application'
      passenger (2.2.11) lib/phusion_passenger/abstract_server.rb:352:in
      `_send_'
      passenger (2.2.11) lib/phusion_passenger/abstract_server.rb:352:in
      `main_loop'
      passenger (2.2.11) lib/phusion_passenger/abstract_server.rb:196:in
      `start_synchronously'

      Also, I see this in the nginx error log:

      tcmalloc: large alloc 1918967808 bytes == (nil) @

      Known bug? I can try to get a better repro if not, but it's fairly
      inconsistent (1 out of 75 requests), so not sure I'll have much luck.

            Assignee:
            Kyle Banker (Inactive)
            Reporter:
            Kyle Banker (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: