Interesting. Is there any extra info dumped to the log (e.g. `log enable lldb default`)
On 22/07/2019 16:34, Gábor Márton wrote: > Well, SIP is turned off and I experience the same with a binary I just > built: > ``` > egbomrt@msmarple ~/llvm2/build/release_assert $ csrutil status > System Integrity Protection status: disabled. > egbomrt@msmarple ~/llvm2/build/release_assert $ ./bin/lldb ~/a.out > (lldb) target create "/Users/egbomrt/a.out" > Current executable set to '/Users/egbomrt/a.out' (x86_64). > (lldb) r > error: process exited with status -1 (Error 1) > (lldb) ^D > egbomrt@msmarple ~/llvm2/build/release_assert $ ls -la ~/a.out > -rwxr-xr-x 1 egbomrt admin 8736 Júl 22 16:16 /Users/egbomrt/a.out > egbomrt@msmarple ~/llvm2/build/release_assert $ > ``` > > On Mon, Jul 22, 2019 at 4:29 PM Stefan Gränitz > <stefan.graen...@gmail.com <mailto:stefan.graen...@gmail.com>> wrote: > >> 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 > -- 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