Closed tomasdeml closed 4 years ago
I have added a few print statements and the output is:
Buffer.Length = 64
Bytes read = 0
Virtual size = 69632
Offset = 0
Buffer.Length = 64
Bytes read = 0
Virtual size = 1955127296
Offset = 0
Buffer.Length = 2
Bytes read = 0
Virtual size = 1955127296
Offset = 0
Buffer.Length = 64
Bytes read = 0
Virtual size = 1955127296
Offset = 1000615936
Buffer.Length = 2
Bytes read = 0
Virtual size = 1955127296
Offset = 1000615936
Buffer.Length = 64
Bytes read = 0
Virtual size = 728600576
Offset = 0
Buffer.Length = 2
Bytes read = 0
Virtual size = 728600576
Offset = 0
Buffer.Length = 64
Bytes read = 0
Virtual size = 1073487872
Offset = 0
Buffer.Length = 2
Bytes read = 0
Virtual size = 1073487872
Offset = 0
Buffer.Length = 64
Bytes read = 0
Virtual size = 637214720
Offset = 0
Buffer.Length = 2
Bytes read = 0
Virtual size = 637214720
Offset = 0
Buffer.Length = 64
Bytes read = 0
Virtual size = 816349184
Offset = 0
Buffer.Length = 2
Bytes read = 0
Virtual size = 816349184
Offset = 0
Buffer.Length = 64
Bytes read = 0
Virtual size = 2780004352
Offset = 0
=== OverflowException ===
It seems that the overflow occurs when casting the result of expression (int)(virtualSize - offset)
to int
. Result 2 780 004 352 is larger than int.MaxValue
.
Should be fixed here: https://www.nuget.org/packages/Microsoft.Diagnostics.Runtime/2.0.151903
I have updated the ClrMD nuget package to the latest version and found out that it cannot open my recent Linux dump. It crashes with the exception when opening the dump:
When I tried again with the DEBUG build I got a more interesting exception (ElfVirtualAddressSpace.Read:52):
Git Bisect identified this commit as the culprit:
The dump is quite large (46 GB).
Feel free to ask for more details.