> egbomrt@msmarple ~/llvm2/build/release_assert $ ./bin/lldb /bin/ls > (lldb) target create "/bin/ls" > Current executable set to '/bin/ls' (x86_64). > (lldb) r > *error: process exited with status -1 (Error 1)* I don't think this is related to debugserver codesigning. If you really need to debug system binaries, you may need to disable SIP.
On 22/07/2019 16:14, Gábor Márton wrote: > I am still struggling with this issue. Now I decided to work with the > codesigned version of the debugserver, becasue I had an error when I > tried to use the system debugserver. > So I've run scripts/macos-setup-codesign.sh > After a reboot and fresh build (I have removed the CMakeCache.txt and > the whole build dir) I have the debugserver signed: > ``` > $ codesign -dvvvv ~/llvm2/build/release_assert/bin/debugserver > Executable=/Users/egbomrt/llvm2/build/release_assert/bin/debugserver > Identifier=com.apple.debugserver > Format=Mach-O thin (x86_64) > CodeDirectory v=20100 size=38534 flags=0x0(none) hashes=1197+5 > location=embedded > VersionPlatform=1 > VersionMin=658944 > VersionSDK=658944 > Hash type=sha256 size=32 > CandidateCDHash sha256=7b475cfa7127c84281ceb206093d13dd464dad74 > Hash choices=sha256 > Page size=4096 > CDHash=7b475cfa7127c84281ceb206093d13dd464dad74 > Signature size=1611 > Authority=lldb_codesign > Signed Time=2019. Jul 22. 15:26:29 > Info.plist entries=6 > TeamIdentifier=not set > Sealed Resources=none > Internal requirements count=1 size=100 > $ > ``` > > So far so good. > But then when I try to use lldb I have permission problems: > ``` > egbomrt@msmarple ~/llvm2/build/release_assert $ ./bin/lldb /bin/ls > (lldb) target create "/bin/ls" > Current executable set to '/bin/ls' (x86_64). > (lldb) r > *error: process exited with status -1 (Error 1)* > (lldb) ^D > egbomrt@msmarple ~/llvm2/build/release_assert $ > ``` > > However, as root I can use lldb: > ``` > egbomrt@msmarple ~/llvm2/build/release_assert $ sudo ./bin/lldb /bin/ls > (lldb) target create "/bin/ls" > Current executable set to '/bin/ls' (x86_64). > (lldb) r > Process 28052 launched: '/bin/ls' (x86_64) > .ninja_deps compile_commands.json > .ninja_log docs > CMakeCache.txt examples > CMakeDoxyfile.in include > ... > Process 28052 exited with status = 0 (0x00000000) > (lldb) ^D > egbomrt@msmarple ~/llvm2/build/release_assert $ > ``` > > Is it possible to codesign in a way that a regular user can run the > built debugserver? Or what else could be the reason behind this > permission problem? > > Thanks, > Gabor > > On Fri, Jul 19, 2019 at 11:47 PM Stefan Gränitz > <stefan.graen...@gmail.com <mailto:stefan.graen...@gmail.com>> wrote: > > Hi Gábor, I am sorry this caused an issue for you. Good that > apparently it's resolved now. > > Did you reconfigure an existing build-tree? Your observations > would make sense in this context, because the change affects CMake > cached variables. This is unfortunate, but can not always be > avoided. If this happens again (or to anyone else), a clean build > seems to be a good first step. > > Best, > Stefan > > On 19/07/2019 19:36, Gábor Márton wrote: > >> Actually, it is embarrassing (perhaps for macOS and not for me) >> that after a reboot the problem is gone. >> Perhaps after "sudo /usr/sbin/DevToolsSecurity --enable" a reboot >> is required, but could not find anything official about that. >> >> On Fri, Jul 19, 2019 at 7:20 PM Gábor Márton >> <martongab...@gmail.com <mailto:martongab...@gmail.com>> wrote: >> >> This might not be related to the debugserver, I just realized >> that I get >> "error: process exited with status -1 (Error 1)" >> even with the simplest main.c. >> This may be some kind of security issue on mac OS... >> Though I've checked and I have SIP disabled and I have >> executed "sudo /usr/sbin/DevToolsSecurity --enable". >> >> On Fri, Jul 19, 2019 at 4:46 PM Gábor Márton >> <martongab...@gmail.com <mailto:martongab...@gmail.com>> wrote: >> >> Hi Stefan, >> >> Since the commit >> "[CMake] Always build debugserver on Darwin and allow >> tests to use the system's one" >> I cannot use the system debugserver for testing. >> I receive the following error message from lldb when I >> execute "ninja check-lldb": >> ``` >> runCmd: run >> runCmd failed! >> error: process exited with status -1 (Error 1) >> ``` >> >> I do set up "-DLLDB_USE_SYSTEM_DEBUGSERVER=ON" with cmake >> so I see >> ``` >> -- LLDB tests use out-of-tree debugserver: >> >> /Library/Developer/CommandLineTools/Library/PrivateFrameworks/LLDB.framework/Resources/debugserver >> ``` >> >> Also, I have inspected the following test output >> ``` >> Command invoked: /usr/bin/python >> /Users/egbomrt/llvm2/git/llvm/tools/lldb/test/dotest.py >> -q --arch=x86_64 -s >> /Users/egbomrt/llvm2/build/release_assert/lldb-test-traces >> --build-dir >> /Users/egbomrt/llvm2/build/release_assert/lldb-test-build.noindex >> -S nm -u CXXFLAGS -u CFLAGS --executable >> /Users/egbomrt/llvm2/build/release_assert/./bin/lldb >> --dsymutil >> /Users/egbomrt/llvm2/build/release_assert/./bin/dsymutil >> --filecheck >> /Users/egbomrt/llvm2/build/release_assert/./bin/FileCheck >> -C /Users/egbomrt/llvm2/build/release_assert/bin/clang >> --codesign-identity - --out-of-tree-debugserver --arch >> x86_64 -t --env TERM=vt100 -p TestCModules.py >> --results-port 49931 -S nm --inferior -p TestCModules.py >> >> /Users/egbomrt/llvm2/git/llvm/tools/lldb/packages/Python/lldbsuite/test/lang/c/modules >> --event-add-entries worker_index=0:int >> 1 out of 736 test suites processed - TestCModules.py >> ``` >> so it seems like the argument for >> --out-of-tree-debugserver is missing... >> >> Could you please advise? >> >> Thank you, >> Gabor >> > -- > https://flowcrypt.com/pub/stefan.graen...@gmail.com > -- https://flowcrypt.com/pub/stefan.graen...@gmail.com
_______________________________________________ lldb-dev mailing list lldb-dev@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev