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

LSM with read-uncommitted isolation, read after free

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: WT2.7.0, 3.0.13
    • Labels:
      None
    • # Replies:
      13
    • Last comment by Customer:
      true

      Description

      Michael Cahill says:

      To clarify, what I was trying to say is that we have seen various failures when running LSM with read-uncommitted isolation that suggest that the oldest transaction ID is not being pinned correctly during a read. That has been detected as read-after-free by address sanitizer, and I guess could conceivably lead to memory corruption, though I can't see a direct path that explains this bug.

        Activity

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

        Author:

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

        Message: Merge pull request #2246 from wiredtiger/WT-2139

        WT-2139 At read-uncommitted isolation, keep the same ID pinned while cursors are positioned
        Branch: develop
        https://github.com/wiredtiger/wiredtiger/commit/323af84bd90046c741a247d86d667d4ea1aa67dc

        Show
        xgen-internal-githook Githook User added a comment - Author: {u'username': u'keithbostic', u'name': u'Keith Bostic', u'email': u'keith.bostic@mongodb.com'} Message: Merge pull request #2246 from wiredtiger/ WT-2139 WT-2139 At read-uncommitted isolation, keep the same ID pinned while cursors are positioned Branch: develop https://github.com/wiredtiger/wiredtiger/commit/323af84bd90046c741a247d86d667d4ea1aa67dc
        Hide
        xgen-internal-githook Githook User added a comment -

        Author:

        {u'username': u'michaelcahill', u'name': u'Michael Cahill', u'email': u'michael.cahill@mongodb.com'}

        Message: WT-2139 update a comment
        Branch: develop
        https://github.com/wiredtiger/wiredtiger/commit/ebec2197e7f67be432e4b3c7c2eabfc4f3968bb1

        Show
        xgen-internal-githook Githook User added a comment - Author: {u'username': u'michaelcahill', u'name': u'Michael Cahill', u'email': u'michael.cahill@mongodb.com'} Message: WT-2139 update a comment Branch: develop https://github.com/wiredtiger/wiredtiger/commit/ebec2197e7f67be432e4b3c7c2eabfc4f3968bb1
        Hide
        xgen-internal-githook Githook User added a comment -

        Author:

        {u'username': u'michaelcahill', u'name': u'Michael Cahill', u'email': u'michael.cahill@mongodb.com'}

        Message: WT-2139 At read-uncommitted isolation, keep the same ID pinned while cursors are positioned.
        Branch: mongodb-3.0
        https://github.com/wiredtiger/wiredtiger/commit/a5c67bdec9d3e3eb9de529186cfaa0014d998871

        Show
        xgen-internal-githook Githook User added a comment - Author: {u'username': u'michaelcahill', u'name': u'Michael Cahill', u'email': u'michael.cahill@mongodb.com'} Message: WT-2139 At read-uncommitted isolation, keep the same ID pinned while cursors are positioned. Branch: mongodb-3.0 https://github.com/wiredtiger/wiredtiger/commit/a5c67bdec9d3e3eb9de529186cfaa0014d998871
        Hide
        alexander.gorrod Alexander Gorrod added a comment - - edited

        I back-ported this change to the MongoDB 3.0 release because we added an assertion into the branch in WT-2804 that fires in automated testing without this change. The change isn't relevant for MongoDB because it does not use the read-uncommitted isolation level.

        Show
        alexander.gorrod Alexander Gorrod added a comment - - edited I back-ported this change to the MongoDB 3.0 release because we added an assertion into the branch in WT-2804 that fires in automated testing without this change. The change isn't relevant for MongoDB because it does not use the read-uncommitted isolation level.
        Hide
        xgen-internal-githook Githook User added a comment -

        Author:

        {u'username': u'daveh86', u'name': u'David Hows', u'email': u'howsdav@gmail.com'}

        Message: Import wiredtiger-wiredtiger-mongodb-3.0.9-19-ga5c67bd.tar.gz from wiredtiger branch mongodb-3.0

        ref: 9cfe4e1..a5c67bd
        for: 3.0.13

        WT-2139 LSM with read-uncommitted isolation, read after free
        WT-2313 sweep-server: conn_dhandle.c, 610: dhandle != conn->cache->evict_file_next
        WT-2434 Race between force-drop and sweep
        WT-2708 split child-update race with reconciliation/eviction
        WT-2725 WiredTiger hitting assert trying to free update list in MongoDB 3.0
        WT-2733 Backport fixes for races between eviction and dead handle cleanup
        WT-2802 Transaction commit causes heap-use-after free
        WT-2804 Don't read values in a tree without a snapshot
        Branch: v3.0
        https://github.com/mongodb/mongo/commit/0a0526b04f14a1ad13e1d2942e1e7aabfc715a36

        Show
        xgen-internal-githook Githook User added a comment - Author: {u'username': u'daveh86', u'name': u'David Hows', u'email': u'howsdav@gmail.com'} Message: Import wiredtiger-wiredtiger-mongodb-3.0.9-19-ga5c67bd.tar.gz from wiredtiger branch mongodb-3.0 ref: 9cfe4e1..a5c67bd for: 3.0.13 WT-2139 LSM with read-uncommitted isolation, read after free WT-2313 sweep-server: conn_dhandle.c, 610: dhandle != conn->cache->evict_file_next WT-2434 Race between force-drop and sweep WT-2708 split child-update race with reconciliation/eviction WT-2725 WiredTiger hitting assert trying to free update list in MongoDB 3.0 WT-2733 Backport fixes for races between eviction and dead handle cleanup WT-2802 Transaction commit causes heap-use-after free WT-2804 Don't read values in a tree without a snapshot Branch: v3.0 https://github.com/mongodb/mongo/commit/0a0526b04f14a1ad13e1d2942e1e7aabfc715a36

          People

          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:
              Days since reply:
              32 weeks, 3 days ago
              Date of 1st Reply: