-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Debugger not working on macOS 10.15.x when vmmap hides full path to process modules #42888
Comments
Dotnet-GitSync-Bot
added
area-Diagnostics-coreclr
untriaged
New issue has not been triaged by the area owner
labels
Sep 30, 2020
Tagging subscribers to this area: @tommcdon |
cc: @dotnet/dotnet-diag |
jeffschwMSFT
removed
the
untriaged
New issue has not been triaged by the area owner
label
Sep 30, 2020
k15tfu
added a commit
to k15tfu/runtime
that referenced
this issue
Oct 2, 2020
Previously CreateProcessModules() parsed the output of vmmap command to get modules addresses/paths on macOS, but on some Macs with latest macOS 10.15.6 vmmap hides full paths to some process modules (.dylibs in non-system folders), replacing some parts with *: ``` __TEXT 000000010d8bd000-000000010ddce000 [ 5188K 5188K 0K 0K] r-x/rwx SM=COW /Users/USER/*/libcoreclr.dylib ``` In particular, it breaks the debugger functionality due to invalid path `/Users/USER/*/libmscordbi.dylib`, and error code CORDBG_E_DEBUG_COMPONENT_MISSING is returned. Now we get modules information by iterating over regions using proc_pidinfo() in CreateProcessModules(). Fixes dotnet#42888
mikem8361
pushed a commit
that referenced
this issue
Oct 12, 2020
Previously CreateProcessModules() parsed the output of vmmap command to get modules addresses/paths on macOS, but on some Macs with latest macOS 10.15.6 vmmap hides full paths to some process modules (.dylibs in non-system folders), replacing some parts with *: ``` __TEXT 000000010d8bd000-000000010ddce000 [ 5188K 5188K 0K 0K] r-x/rwx SM=COW /Users/USER/*/libcoreclr.dylib ``` In particular, it breaks the debugger functionality due to invalid path `/Users/USER/*/libmscordbi.dylib`, and error code CORDBG_E_DEBUG_COMPONENT_MISSING is returned. Now we get modules information by iterating over regions using proc_pidinfo() in CreateProcessModules(). Fixes #42888
nehaljwani
added a commit
to nehaljwani/pycryptodomex-feedstock
that referenced
this issue
Nov 15, 2020
In macOS >=10.15.6 vmmap now produces output of the form: /Users/USER/*/... which hides the absolute paths. xref: dotnet/runtime#42888
github-actions bot
pushed a commit
that referenced
this issue
Nov 16, 2020
Previously CreateProcessModules() parsed the output of vmmap command to get modules addresses/paths on macOS, but on some Macs with latest macOS 10.15.6 vmmap hides full paths to some process modules (.dylibs in non-system folders), replacing some parts with *: ``` __TEXT 000000010d8bd000-000000010ddce000 [ 5188K 5188K 0K 0K] r-x/rwx SM=COW /Users/USER/*/libcoreclr.dylib ``` In particular, it breaks the debugger functionality due to invalid path `/Users/USER/*/libmscordbi.dylib`, and error code CORDBG_E_DEBUG_COMPONENT_MISSING is returned. Now we get modules information by iterating over regions using proc_pidinfo() in CreateProcessModules(). Fixes #42888
mikem8361
pushed a commit
that referenced
this issue
Nov 18, 2020
Previously CreateProcessModules() parsed the output of vmmap command to get modules addresses/paths on macOS, but on some Macs with latest macOS 10.15.6 vmmap hides full paths to some process modules (.dylibs in non-system folders), replacing some parts with *: ``` __TEXT 000000010d8bd000-000000010ddce000 [ 5188K 5188K 0K 0K] r-x/rwx SM=COW /Users/USER/*/libcoreclr.dylib ``` In particular, it breaks the debugger functionality due to invalid path `/Users/USER/*/libmscordbi.dylib`, and error code CORDBG_E_DEBUG_COMPONENT_MISSING is returned. Now we get modules information by iterating over regions using proc_pidinfo() in CreateProcessModules(). Fixes #42888 Co-authored-by: Ilia K <ki.stfu@gmail.com>
ghost
locked as resolved and limited conversation to collaborators
Dec 7, 2020
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Hi! We found that sometimes
vmmap
that you use forCreateProcessModules
(runtime/src/coreclr/src/pal/src/thread/process.cpp
Line 2860 in d52ee3a
For example, on my Mac mini with macOS 10.15.7, when I run dotnet from the
~/Downloads
directory, I see paths like:In this case, we get
CORDBG_E_DEBUG_COMPONENT_MISSING
on debugger initialization (runtime/src/coreclr/src/dlls/dbgshim/dbgshim.cpp
Line 386 in d52ee3a
dbiPath
is/Users/USER/*/libmscordbi.dylib
andLoadLibraryA
cannot find it.Do you have any objection to using libproc in
CreateProcessModules
? Looks like iterating over regions using this API gives normal paths, so I'm going to submit a PR. cc @mikem8361 @janvorli @jkotasThe text was updated successfully, but these errors were encountered: