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

wtperf uses setvbuf in a way that isn't supported on Windows

    Details

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

      Description

      Running the medium-btree.wtperf on Windows results in wtperf exiting with error code 127.

      Breaking on exception in Visual Studio points the finger at setvbuf. Specifically:

      https://github.com/wiredtiger/wiredtiger/blob/develop/bench/wtperf/wtperf.c#L1236

        Issue Links

          Activity

          Hide
          xgen-internal-githook Githook User added a comment -

          Author:

          {u'username': u'keithbostic', u'name': u'Keith Bostic', u'email': u'keith@wiredtiger.com'}

          Message: WT-2517: wtperf uses setvbuf in a way that isn't supported on Windows

          MSVC doesn't support a buffer size of 0 to setvbuf. The MSVC documentation
          says "Buffer size in bytes. Allowable range: 2 <= size <= INT_MAX (2147483647).
          Internally, the value supplied for size is rounded down to the nearest
          multiple of 2."
          Branch: mongodb-3.2
          https://github.com/wiredtiger/wiredtiger/commit/3dfc368af0eca2bec8f7317f5cbc970390f5446f

          Show
          xgen-internal-githook Githook User added a comment - Author: {u'username': u'keithbostic', u'name': u'Keith Bostic', u'email': u'keith@wiredtiger.com'} Message: WT-2517 : wtperf uses setvbuf in a way that isn't supported on Windows MSVC doesn't support a buffer size of 0 to setvbuf. The MSVC documentation says "Buffer size in bytes. Allowable range: 2 <= size <= INT_MAX (2147483647). Internally, the value supplied for size is rounded down to the nearest multiple of 2." Branch: mongodb-3.2 https://github.com/wiredtiger/wiredtiger/commit/3dfc368af0eca2bec8f7317f5cbc970390f5446f
          Hide
          xgen-internal-githook Githook User added a comment -

          Author:

          {u'username': u'keithbostic', u'name': u'Keith Bostic', u'email': u'keith@wiredtiger.com'}

          Message: WT-2517: wtperf uses setvbuf in a way that isn't supported on Windows

          Increase the line-buffer size for the monitor and stdout streams from
          32B to 1024B; I don't understand why a 32B buffer would ever be useful.
          Branch: mongodb-3.2
          https://github.com/wiredtiger/wiredtiger/commit/49e31a32c84d071e919b0514206bc76bad3885b0

          Show
          xgen-internal-githook Githook User added a comment - Author: {u'username': u'keithbostic', u'name': u'Keith Bostic', u'email': u'keith@wiredtiger.com'} Message: WT-2517 : wtperf uses setvbuf in a way that isn't supported on Windows Increase the line-buffer size for the monitor and stdout streams from 32B to 1024B; I don't understand why a 32B buffer would ever be useful. Branch: mongodb-3.2 https://github.com/wiredtiger/wiredtiger/commit/49e31a32c84d071e919b0514206bc76bad3885b0
          Hide
          xgen-internal-githook Githook User added a comment -

          Author:

          {u'username': u'sueloverso', u'name': u'sueloverso', u'email': u'sue@mongodb.com'}

          Message: Merge pull request #2614 from wiredtiger/wt-2517

          WT-2517: wtperf uses setvbuf in a way that isn't supported on Windows
          Branch: mongodb-3.2
          https://github.com/wiredtiger/wiredtiger/commit/52382eb8ee14a6489cbfd2af359cd397a5fa2d14

          Show
          xgen-internal-githook Githook User added a comment - Author: {u'username': u'sueloverso', u'name': u'sueloverso', u'email': u'sue@mongodb.com'} Message: Merge pull request #2614 from wiredtiger/wt-2517 WT-2517 : wtperf uses setvbuf in a way that isn't supported on Windows Branch: mongodb-3.2 https://github.com/wiredtiger/wiredtiger/commit/52382eb8ee14a6489cbfd2af359cd397a5fa2d14
          Hide
          xgen-internal-githook Githook User added a comment -

          Author:

          {u'username': u'keithbostic', u'name': u'Keith Bostic', u'email': u'keith@wiredtiger.com'}

          Message: WT-2330: in-memory configurations should not create on-disk collection files

          Add WiredTiger helper functions set set line buffering and turn off
          buffering (wrappers for setvbuf), then add style tests so we never call
          setvbuf directly, to avoid re-introducing the problems in WT-2517.

          Add a new WiredTiger open-handle flag, WT_STREAM_LINE_BUFFER, which
          allows the Btree debug code to set line-buffering on its debug stream.
          Branch: mongodb-3.2
          https://github.com/wiredtiger/wiredtiger/commit/6b72f0ad34701675172c7fe869ca97201185f5a1

          Show
          xgen-internal-githook Githook User added a comment - Author: {u'username': u'keithbostic', u'name': u'Keith Bostic', u'email': u'keith@wiredtiger.com'} Message: WT-2330 : in-memory configurations should not create on-disk collection files Add WiredTiger helper functions set set line buffering and turn off buffering (wrappers for setvbuf), then add style tests so we never call setvbuf directly, to avoid re-introducing the problems in WT-2517 . Add a new WiredTiger open-handle flag, WT_STREAM_LINE_BUFFER, which allows the Btree debug code to set line-buffering on its debug stream. Branch: mongodb-3.2 https://github.com/wiredtiger/wiredtiger/commit/6b72f0ad34701675172c7fe869ca97201185f5a1
          Hide
          xgen-internal-githook Githook User added a comment -

          Author:

          {u'name': u'Ramon Fernandez', u'email': u'ramon@mongodb.com'}

          Message: Import wiredtiger-wiredtiger-2.8.0-201-g7ea2631.tar.gz from wiredtiger branch mongodb-3.2

          ref: 43e885a..7ea2631

          SERVER-23504 Coverity analysis defect 98177: Resource leak
          SERVER-23526 Replication relies on storage engines reporting a non-zero size for correctness
          SERVER-23588 mongod with WiredTiger won't start on Windows when built with --dbg=on --opt=off
          SERVER-23682 WiredTiger changes for MongoDB 3.2.6
          WT-2330 in-memory configurations should not create on-disk collection files
          WT-2507 Add upgrading documentation in preparation for 2.8 release.
          WT-2512 wtperf: MSVC complains about float conversion in throttle code
          WT-2513 conversion from 'int64_t' to 'uint32_t'
          WT-2517 wtperf uses setvbuf in a way that isn't supported on Windows
          WT-2522 Incorrect format code in message
          WT-2525 in-memory configurations: miscellaneous cleanups
          WT-2527 OS X compile error, missing POSIX_FADV_WILLNEED #define
          WT-2528 style error in WiredTiger build
          WT-2529 The readonly test case is crashing with a stack overflow
          WT-2531 in-memory tables are allocating unnecessary memory
          WT-2532 WT_STREAM_APPEND and WT_STREAM_LINE_BUFFER flag overlap
          WT-2533 Ensure that in-memory tables don't report a zero size
          WT-2534 Invalid transaction snapshots on PowerPC
          Branch: v3.2
          https://github.com/mongodb/mongo/commit/7ee4e4e493c3785fea489ee3508ca18526709c16

          Show
          xgen-internal-githook Githook User added a comment - Author: {u'name': u'Ramon Fernandez', u'email': u'ramon@mongodb.com'} Message: Import wiredtiger-wiredtiger-2.8.0-201-g7ea2631.tar.gz from wiredtiger branch mongodb-3.2 ref: 43e885a..7ea2631 SERVER-23504 Coverity analysis defect 98177: Resource leak SERVER-23526 Replication relies on storage engines reporting a non-zero size for correctness SERVER-23588 mongod with WiredTiger won't start on Windows when built with --dbg=on --opt=off SERVER-23682 WiredTiger changes for MongoDB 3.2.6 WT-2330 in-memory configurations should not create on-disk collection files WT-2507 Add upgrading documentation in preparation for 2.8 release. WT-2512 wtperf: MSVC complains about float conversion in throttle code WT-2513 conversion from 'int64_t' to 'uint32_t' WT-2517 wtperf uses setvbuf in a way that isn't supported on Windows WT-2522 Incorrect format code in message WT-2525 in-memory configurations: miscellaneous cleanups WT-2527 OS X compile error, missing POSIX_FADV_WILLNEED #define WT-2528 style error in WiredTiger build WT-2529 The readonly test case is crashing with a stack overflow WT-2531 in-memory tables are allocating unnecessary memory WT-2532 WT_STREAM_APPEND and WT_STREAM_LINE_BUFFER flag overlap WT-2533 Ensure that in-memory tables don't report a zero size WT-2534 Invalid transaction snapshots on PowerPC Branch: v3.2 https://github.com/mongodb/mongo/commit/7ee4e4e493c3785fea489ee3508ca18526709c16

            People

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

              Dates

              • Created:
                Updated:
                Resolved: