[CSHARP-4159] Make ThreadStaticBuffer resilient to OutOfMemoryException Created: 29/Apr/22 Updated: 16/Aug/22 Resolved: 12/Aug/22 |
|
| Status: | Closed |
| Project: | C# Driver |
| Component/s: | Serialization |
| Affects Version/s: | 2.15.0 |
| Fix Version/s: | 2.18.0 |
| Type: | Bug | Priority: | Unknown |
| Reporter: | Matthias Dittrich | Assignee: | Boris Dogadov |
| Resolution: | Done | Votes: | 1 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
SummarySee https://github.com/mongodb/mongo-csharp-driver/pull/777 It should be quite obvious to understand that when an Exception happens on one of the lines after the __isBufferRented flag is set the flag will never be reset, and ALL FUTURE CALLS in the same Thread will throw "Thread static buffer is already in use." One example is an OutOfMemoryException on one of the lines with an allocation. We actually have seen this in a 32bit application. |
| Comments |
| Comment by PM Bot [ 12/Jul/22 ] |
|
There hasn't been any recent activity on this ticket, so we're resolving it. Thanks for reaching out! Please feel free to comment on this if you're able to provide more information. |
| Comment by PM Bot [ 24/May/22 ] |
|
There hasn't been any recent activity on this ticket, so we're resolving it. Thanks for reaching out! Please feel free to comment on this if you're able to provide more information. |