Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is createdump runtime independent? #11710

Closed
patricksuo opened this issue Dec 24, 2018 · 5 comments
Closed

Is createdump runtime independent? #11710

patricksuo opened this issue Dec 24, 2018 · 5 comments
Labels
area-Diagnostics-coreclr question Answer questions and provide assistance, not an issue with source code or documentation.

Comments

@patricksuo
Copy link

I want to use the latest createdump on older runtime (2.2), since new version fix #11646 and #11645 .
But latest createdump crash:

(lldb) bt
* thread dotnet/coreclr#1: tid = 1607, 0x00007f3a827d7c43 libmscordaccore.so`ClrDataAccess::EnumWksGlobalMemoryRegions(CLRDataEnumMemoryFlags) [inlined] __DPtr<dac_heap_segment> Dereference<dac_heap_segment>(ptr=<unavailable>) + 15 at request_common.h:26, name = 'createdump', stop reason = signal SIGSEGV
  * frame #0: 0x00007f3a827d7c43 libmscordaccore.so`ClrDataAccess::EnumWksGlobalMemoryRegions(CLRDataEnumMemoryFlags) [inlined] __DPtr<dac_heap_segment> Dereference<dac_heap_segment>(ptr=<unavailable>) + 15 at request_common.h:26
    frame dotnet/coreclr#1: 0x00007f3a827d7c34 libmscordaccore.so`ClrDataAccess::EnumWksGlobalMemoryRegions(this=<unavailable>, flags=<unavailable>) + 68 at request.cpp:3808
    frame dotnet/coreclr#2: 0x00007f3a827a6557 libmscordaccore.so`ClrDataAccess::EnumMemCLRHeapCrticalStatic(this=0x0000000000cb6a50, flags=CLRDATA_ENUM_MEM_HEAP) + 391 at enummem.cpp:170
    frame dotnet/coreclr#3: 0x00007f3a827ab9ae libmscordaccore.so`ClrDataAccess::EnumMemoryRegionsWorkerHeap(this=0x0000000000cb6a50, flags=CLRDATA_ENUM_MEM_HEAP) + 270 at enummem.cpp:350
    frame dotnet/coreclr#4: 0x00007f3a827b34ce libmscordaccore.so`ClrDataAccess::EnumMemoryRegionsWrapper(this=0x0000000000cb6a50, flags=CLRDATA_ENUM_MEM_HEAP) + 126 at enummem.cpp:1851
    frame dotnet/coreclr#5: 0x00007f3a827b3739 libmscordaccore.so`ClrDataAccess::EnumMemoryRegions(this=0x0000000000cb6a50, callback=<unavailable>, miniDumpFlags=512, flags=<unavailable>) + 233 at enummem.cpp:1939
    frame dotnet/coreclr#6: 0x00000000004167cb createdump`CrashInfo::EnumerateMemoryRegionsWithDAC(this=0x0000000000b46d50, minidumpType=MiniDumpWithPrivateReadWriteMemory) + 699 at crashinfo.cpp:647
    frame dotnet/coreclr#7: 0x0000000000414ead createdump`CrashInfo::GatherCrashInfo(this=0x0000000000b46d50, minidumpType=MiniDumpWithPrivateReadWriteMemory) + 1197 at crashinfo.cpp:213
    frame dotnet/coreclr#8: 0x0000000000413a67 createdump`CreateDumpCommon(dumpPathTemplate="", minidumpType=MiniDumpWithPrivateReadWriteMemory, crashInfo=0x0000000000b46d50) + 551 at createdump.cpp:47
    frame dotnet/coreclr#9: 0x0000000000413230 createdump`main(argc=2, argv=0x00007fff7c0290a8) + 992 at main.cpp:81
    frame dotnet/coreclr#10: 0x00007f3a832eb2e1 libc.so.6`__libc_start_main + 241
    frame dotnet/coreclr#11: 0x0000000000412d79 createdump`_start + 41

Backtrace imply createdump use older version libmscordaccore.so
https://github.com/dotnet/coreclr/blob/0aa235761957b6e8d826b65e8439163fdb567b22/src/debug/daccess/request.cpp#L3808

@patricksuo
Copy link
Author

Are there any workaround before 2.2.2 (dotnet/coreclr#21534) publish?

@patricksuo
Copy link
Author

@mikem8361

@patricksuo
Copy link
Author

I'm planning to patch dotnet/coreclr#21534 against reelase/2.2 and replace the vanilla createdump/libmscordaccore.so with the patched version.

@mikem8361
Copy link
Member

createdump is "kind of" runtime indepenent. It imports functions from the DAC (libmscordaccore.so) which is definitely runtime dependent. To use createdump the DAC needs to match the runtime running your app.

@patricksuo
Copy link
Author

createdump (patched 2.2) still segfaults.
I will open another issue to track it.

@msftgits msftgits transferred this issue from dotnet/coreclr Jan 31, 2020
@ghost ghost locked as resolved and limited conversation to collaborators Dec 14, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-Diagnostics-coreclr question Answer questions and provide assistance, not an issue with source code or documentation.
Projects
None yet
Development

No branches or pull requests

2 participants