Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-641

Too many open files error during populate, then access violation: medium-lsm.wtperf

    • Type: Icon: Task Task
    • Resolution: Done
    • WT2.0
    • Affects Version/s: None
    • Component/s: None
    • None

      Running the medium-lsm.wtperf configuration on macbook, I'm seeing:

      Unable to find source-code formatter for language: output. Available languages are: actionscript, ada, applescript, bash, c, c#, c++, cpp, css, erlang, go, groovy, haskell, html, java, javascript, js, json, lua, none, nyan, objc, perl, php, python, r, rainbow, ruby, scala, sh, sql, swift, visualbasic, xml, yaml
      Shutting down LSM checkpoint utility thread: Too many open files
      the WiredTiger library cannot continue; the process must exit and restart
      aborting WiredTiger library
      cursor.set_key: the WiredTiger library cannot continue; the process must exit and restart
      cursor.set_key: aborting WiredTiger library

      And then an access violation.

      Ran it in gdb, to collect some more information:

      (gdb) p g_npop_ops
      $2 = 45207648
      (gdb) p cfg->icount
      $3 = 50000000
      (gdb) cont
      Failed inserting Error: Too many open files
      Error from populate thread. Error: Too many open files
      Populate threads exited without finishing. Error: WT_ERROR: non-specific WiredTiger error
      Program received signal EXC_BAD_ACCESS, Could not access memory.
      Reason: 13 at address: 0x0000000000000000
      0x000000010009716d in __session_close (wt_session=0x100801460, config=0x0) at ../src/session/session_api.c:71
      (gdb) where
      #0  0x000000010009716d in __session_close (wt_session=0x100801460, config=0x0) at ../src/session/session_api.c:71
      WT-1  0x00000001000519c0 in __conn_close (wt_conn=0x100800000, config=0x0) at ../src/conn/conn_api.c:512
      WT-2  0x0000000100003b63 in main (argc=5, argv=0x7fff5fbfe918) at ../../../bench/wtperf/wtperf.c:1080
      (gdb) list
      66              if (F_ISSET(&session->txn, TXN_RUNNING))
      67                      WT_TRET(__session_rollback_transaction(wt_session, NULL));
      69              /* Close all open cursors. */
      70              while ((cursor = TAILQ_FIRST(&session->cursors)) != NULL)
      71                      WT_TRET(cursor->close(cursor));
      73              WT_ASSERT(session, session->ncursors == 0);
      75              /*
      (gdb) p g_npop_ops
      $4 = 47580305
      (gdb) p session
      $5 = (WT_SESSION_IMPL *) 0x100801460
      (gdb) p session->cursors
      $22 = {
        tqh_first = 0x1f810e7f0,
        tqh_last = 0x106ed6e90
      (gdb) p cursor
      (WT_CURSOR *) 0x1f810e7f0
      (gdb) p *cursor
      $16 = {
        session = 0x1f67cabd8,
        uri = 0x1fb414512 "\020\001",
        key_format = 0xabababababab0022 <Address 0xabababababab0022 out of bounds>,
        value_format = 0xabababababababab <Address 0xabababababababab out of bounds>,
        get_key = 0xabababababababab,
        get_value = 0xabababababababab,
        set_key = 0xabababababababab,

            alexander.gorrod@mongodb.com Alexander Gorrod
            donald.anderson@mongodb.com Donald Anderson
            0 Vote for this issue
            0 Start watching this issue