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

The readonly test case is crashing with a stack overflow

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: WT2.9.0
    • Labels:
      None

      Description

      Which was uncovered by the Jenkins valgrind test (http://build.wiredtiger.com:8080/job/wiredtiger-valgrind/2014/)

      The stack trace is:

      Breakpoint 2, __wt_fsync (session=0x4873620, fh=0x4881f48, block=true) at ../src/include/misc.i:276
      276		WT_ASSERT(session, !F_ISSET(S2C(session), WT_CONN_READONLY));
      (gdb) where
      #0  __wt_fsync (session=0x4873620, fh=0x4881f48, block=true) at ../src/include/misc.i:276
      #1  0x00000000004757a1 in __handle_error_default (handler=0x77b3c0 <__event_handler_default>,
          wt_session=0x4873620, error=0,
          errmsg=0x7fffffffb420 "[1459733033:230750][20488:0x7ffff7fd8740], wiredtiger_open: ../src/include/misc.i, 276: !F_ISSET(S2C(session), WT_CONN_READONLY)") at ../src/support/err.c:27
      #2  0x0000000000476039 in __wt_eventv (session=0x4873620, msg_event=false, error=0,
          file_name=0x53f5d4 "../src/include/misc.i", line_number=276, fmt=0x53f5d1 "%s", ap=0x7fffffffbd48)
          at ../src/support/err.c:297
      #3  0x00000000004766e0 in __wt_assert (session=0x4873620, error=0,
          file_name=0x53f5d4 "../src/include/misc.i", line_number=276, fmt=0x53f5d1 "%s")
          at ../src/support/err.c:476
      #4  0x00000000004756d2 in __wt_fsync (session=0x4873620, fh=0x4881f48, block=true)
          at ../src/include/misc.i:276
      #5  0x00000000004757a1 in __handle_error_default (handler=0x77b3c0 <__event_handler_default>,
          wt_session=0x4873620, error=13,
          errmsg=0x7fffffffbed0 "[1459733007:576348][20488:0x7ffff7fd8740], wiredtiger_open: WT_RD.RD/WiredTiger.lock: handle-open: open: Permission denied") at ../src/support/err.c:27
      #6  0x0000000000476039 in __wt_eventv (session=0x4873620, msg_event=false, error=13, file_name=0x0,
          line_number=0, fmt=0x538eb2 "%s: handle-open: open", ap=0x7fffffffc7f8) at ../src/support/err.c:297
      #7  0x0000000000476138 in __wt_err (session=0x4873620, error=13, fmt=0x538eb2 "%s: handle-open: open")
          at ../src/support/err.c:320
      #8  0x0000000000440534 in __posix_handle_open (session=0x4873620, fh=0x7d7c40,
          name=0x7ec5a0 "WT_RD.RD/WiredTiger.lock", file_type=16, flags=1) at ../src/os_posix/os_fs.c:625
      #9  0x000000000043d912 in __wt_open (session=0x4873620, name=0x5329ba "WiredTiger.lock", file_type=16,
          flags=1, fhp=0x4873d58) at ../src/os_common/os_fhandle.c:203
      #10 0x0000000000409194 in __conn_single (session=0x4873620, cfg=0x7fffffffcb50)
          at ../src/conn/conn_api.c:1493
      #11 0x000000000040a111 in wiredtiger_open (home=0x77b860 <home_rd> "WT_RD.RD", event_handler=0x0,
          config=0x53235d "readonly=true", wt_connp=0x7fffffffdf58) at ../src/conn/conn_api.c:2010
      #12 0x000000000040341b in main (argc=0, argv=0x7fffffffe100) at ../../../test/readonly/readonly.c:323
      

      The problem is that doing an assertion is calling fsync on stderr, which is asserting that it's not doing an fsync when running read only.

      The check for fsync in a readonly connection should not be applied to standard I/O calls.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                alexander.gorrod Alexander Gorrod
                Reporter:
                alexander.gorrod Alexander Gorrod
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: