<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">I think the system logs (in Console.app) would tell us more. Search for debugserver and you should find attach failures. Then remove the filter and look at what happens right before that. There should be a log from taskgated or authd that is a little more explicit about what’s failing.<div class=""><br class=""></div><div class="">Fred <br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Jul 22, 2019, at 8:55 AM, Gábor Márton via lldb-dev <<a href="mailto:lldb-dev@lists.llvm.org" class="">lldb-dev@lists.llvm.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Some more info: I've stopped lldb (with the system lldb) when " Process::SetExitStatus (status=-1 (0xffffffff), description="Error 1")" is logged and gathered some more information.<div class="">Is it possible that some packet types are not implemented?</div><div class=""><br class=""></div><div class=""> * frame #0: 0x00007fff599452c6 libsystem_kernel.dylib`__pthread_kill + 10<br class=""> frame #1: 0x00007fff59a00bf1 libsystem_pthread.dylib`pthread_kill + 284<br class=""> frame #2: 0x00007fff598af6a6 libsystem_c.dylib`abort + 127<br class=""> frame #3: 0x00007fff5987820d libsystem_c.dylib`__assert_rtn + 324<br class=""> frame #4: 0x000000010b393539 liblldb.10.0.99svn.dylib`lldb_private::Process::SetExitStatus(this=0x00007fcfaa470218, status=-1, cstr="Error 1") at Process.cpp:1149:3<br class=""> frame #5: 0x000000010bbd1792 liblldb.10.0.99svn.dylib`lldb_private::process_gdb_remote::ProcessGDBRemote::AsyncThread(arg=0x00007fcfaa470218) at ProcessGDBRemote.cpp:3877:28<br class=""> frame #6: 0x000000010b08f87b liblldb.10.0.99svn.dylib`lldb_private::HostNativeThreadBase::ThreadCreateTrampoline(arg=0x00007fcfab218740) at HostNativeThreadBase.cpp:69:10<br class=""> frame #7: 0x0000000112be72fd liblldb.10.0.99svn.dylib`lldb_private::HostThreadMacOSX::ThreadCreateTrampoline(arg=0x00007fcfab218740) at HostThreadMacOSX.mm:68:10<br class=""> frame #8: 0x00007fff599fe2eb libsystem_pthread.dylib`_pthread_body + 126<br class=""> frame #9: 0x00007fff59a01249 libsystem_pthread.dylib`_pthread_start + 66<br class=""> frame #10: 0x00007fff599fd40d libsystem_pthread.dylib`thread_start + 13<br class="">(lldb) frame select 5<br class="">frame #5: 0x000000010bbd1792 liblldb.10.0.99svn.dylib`lldb_private::process_gdb_remote::ProcessGDBRemote::AsyncThread(arg=0x00007fcfaa470218) at ProcessGDBRemote.cpp:3877:28<br class=""> 3874 "System Integrity Protection");<br class=""> 3875 } else if (::strstr(continue_cstr, "vAttach") != nullptr &&<br class=""> 3876 response.GetStatus().Fail()) {<br class="">-> 3877 process->SetExitStatus(-1, response.GetStatus().AsCString());<br class=""> 3878 } else {<br class=""> 3879 process->SetExitStatus(-1, "lost connection");<br class=""> 3880 }<br class="">(lldb) p response.GetError()<br class="">(uint8_t) $0 = '\x01'<br class="">(lldb) p response.GetServerPacketType()<br class="">(StringExtractorGDBRemote::ServerPacketType) $1 = <b class="">eServerPacketType_unimplemented</b><br class="">(lldb) p response.GetResponseType()<br class="">(StringExtractorGDBRemote::ResponseType) $2 = eError<br class="">(lldb) p response.IsUnsupportedResponse()<br class="">(bool) $3 = false<br class="">(lldb) p response.GetStatus()<br class="">(lldb_private::Status) $4 = (m_code = 1, m_type = eErrorTypeGeneric, m_string = "Error 1")<br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">Thanks,</div><div class="">Gabor</div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jul 22, 2019 at 4:59 PM Gábor Márton <<a href="mailto:martongabesz@gmail.com" class="">martongabesz@gmail.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class="">Yes, here it is.<div class=""><br class=""></div><div class="">egbomrt@msmarple ~/llvm2/build/release_assert $ ./bin/lldb ~/a.out<br class="">(lldb) target create "/Users/egbomrt/a.out"<br class="">Current executable set to '/Users/egbomrt/a.out' (x86_64).<br class="">(lldb) log enable lldb default<br class="">(lldb) r<br class=""> Processing command: r<br class=""> HandleCommand, cmd_obj : 'process launch'<br class=""> HandleCommand, (revised) command_string: 'process launch -X true --'<br class=""> HandleCommand, wants_raw_input:'False'<br class=""> HandleCommand, command line after removing command name(s): '-X true --'<br class=""> Target::Launch() called for /Users/egbomrt/a.out<br class=""> Target::Launch the process instance doesn't currently exist.<br class=""> have platform=true, platform_sp->IsHost()=true, default_to_use_pty=true<br class=""> at least one of stdin/stdout/stderr was not set, evaluating default handling<br class=""> target stdin='(empty)', target stdout='(empty)', stderr='(empty)'<br class=""> Generating a pty to use for stdin/out/err<br class=""> Target::Launch asking the platform to debug the process<br class=""> Host::StartMonitoringChildProcess (callback, pid=94887, monitor_signals=0) source = 0x7f9bb923ec10<br class=""><br class=""> ::waitpid (pid = 94887, &status, 0) => pid = 94887, status = 0x00000000 (EXITED), signal = 0, exit_status = 0<br class=""> Host::StartMonitoringChildProcess (callback, pid=94888, monitor_signals=0) source = 0x7f9bb9218180<br class=""><br class=""> Went to stop the private state thread, but it was already invalid.<br class=""> Process::SetPublicState (state = attaching, restarted = 0)<br class=""> Host::StartMonitoringChildProcess (callback, pid=94889, monitor_signals=0) source = 0x7f9bb9243bd0<br class=""><br class=""> thread created<br class=""> Process::AttachCompletionHandler::AttachCompletionHandler process=0x7f9bb8803c18, exec_count=0<br class=""> Process::ControlPrivateStateThread (signal = 4)<br class=""> Sending control event of type: 4.<br class=""> thread created<br class=""> Process::RunPrivateStateThread (arg = 0x7f9bb8803c18, pid = 94888) thread starting...<br class=""> timeout = <infinite>, event_sp)...<br class=""> Process::RunPrivateStateThread (arg = 0x7f9bb8803c18, pid = 94888) got a control event: 4<br class=""> timeout = <infinite>, event_sp)...<br class=""> timeout = <infinite><br class=""> timeout = <infinite>, event_sp)...<br class=""> thread created<br class=""> Process::SetExitStatus (status=-1 (0xffffffff), description="Error 1")<br class=""> Process::SetPrivateState (exited)<br class=""> Process::SetPrivateState (exited) stop_id = 1<br class=""> Process::AttachCompletionHandler::PerformAction called with state exited (10)<br class=""> Ran next event action, result was 2.<br class=""> Process::ShouldBroadcastEvent (0x7f9bb92423b0) => new state: exited, last broadcast state: exited - YES<br class=""> Process::HandlePrivateEvent (pid = 94888) broadcasting new state exited (old state attaching) to hijacked<br class=""> Process::RunPrivateStateThread (arg = 0x7f9bb8803c18, pid = 94888) about to exit with internal state exited...<br class=""> Process::RunPrivateStateThread (arg = 0x7f9bb8803c18, pid = 94888) thread exiting...<br class=""> Process::SetPublicState (state = exited, restarted = 0)<br class=""> timeout = <infinite>, event_sp) => exited<br class=""> HandleCommand, command did not succeed<br class="">error: process exited with status -1 (Error 1)<br class="">(lldb) ::waitpid (pid = 94889, &status, 0) => pid = 94889, status = 0x00000000 (EXITED), signal = 0, exit_status = 0<br class="">(lldb)<br class=""></div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jul 22, 2019 at 4:44 PM Stefan Gränitz <<a href="mailto:stefan.graenitz@gmail.com" target="_blank" class="">stefan.graenitz@gmail.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF" class="">
Interesting. Is there any extra info dumped to the log (e.g. `log
enable lldb default`)<br class="">
<br class="">
<div class="gmail-m_6493066739990619720gmail-m_-5130856992912908301moz-cite-prefix">On 22/07/2019 16:34, Gábor Márton
wrote:<br class="">
</div>
<blockquote type="cite" class="">
<div dir="ltr" class="">Well, SIP is turned off and I experience the same
with a binary I just built:
<div class="">```</div>
<div class="">egbomrt@msmarple ~/llvm2/build/release_assert $ csrutil
status<br class="">
System Integrity Protection status: disabled.<br class="">
egbomrt@msmarple ~/llvm2/build/release_assert $ ./bin/lldb
~/a.out<br class="">
(lldb) target create "/Users/egbomrt/a.out"<br class="">
Current executable set to '/Users/egbomrt/a.out' (x86_64).<br class="">
(lldb) r<br class="">
error: process exited with status -1 (Error 1)<br class="">
(lldb) ^D<br class="">
egbomrt@msmarple ~/llvm2/build/release_assert $ ls -la ~/a.out<br class="">
-rwxr-xr-x 1 egbomrt admin 8736 Júl 22 16:16
/Users/egbomrt/a.out<br class="">
egbomrt@msmarple ~/llvm2/build/release_assert $<br class="">
</div>
<div class="">```</div>
</div>
<br class="">
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Mon, Jul 22, 2019 at 4:29
PM Stefan Gränitz <<a href="mailto:stefan.graenitz@gmail.com" target="_blank" class="">stefan.graenitz@gmail.com</a>>
wrote:<br class="">
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF" class="">
<blockquote type="cite" class="">egbomrt@msmarple
~/llvm2/build/release_assert $ ./bin/lldb /bin/ls<br class="">
(lldb) target create "/bin/ls"<br class="">
Current executable set to '/bin/ls' (x86_64).<br class="">
(lldb) r<br class="">
<b class="">error: process exited with status -1 (Error 1)</b></blockquote>
I don't think this is related to debugserver codesigning. If
you really need to debug system binaries, you may need to
disable SIP.<br class="">
<br class="">
<div class="gmail-m_6493066739990619720gmail-m_-5130856992912908301gmail-m_1946239005957847031moz-cite-prefix">On
22/07/2019 16:14, Gábor Márton wrote:<br class="">
</div>
<blockquote type="cite" class="">
<div dir="ltr" class="">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.
<div class="">So I've run <span class="">scripts/macos-setup-codesign.sh</span><br class="">
<div class="">After a reboot and fresh build (I have removed
the CMakeCache.txt and the whole build dir) I have
the debugserver signed:</div>
<div class="">```</div>
<div class="">$ codesign -dvvvv
~/llvm2/build/release_assert/bin/debugserver<br class="">
Executable=/Users/egbomrt/llvm2/build/release_assert/bin/debugserver<br class="">
Identifier=com.apple.debugserver<br class="">
Format=Mach-O thin (x86_64)<br class="">
CodeDirectory v=20100 size=38534 flags=0x0(none)
hashes=1197+5 location=embedded<br class="">
VersionPlatform=1<br class="">
VersionMin=658944<br class="">
VersionSDK=658944<br class="">
Hash type=sha256 size=32<br class="">
CandidateCDHash
sha256=7b475cfa7127c84281ceb206093d13dd464dad74<br class="">
Hash choices=sha256<br class="">
Page size=4096<br class="">
CDHash=7b475cfa7127c84281ceb206093d13dd464dad74<br class="">
Signature size=1611<br class="">
Authority=lldb_codesign<br class="">
Signed Time=2019. Jul 22. 15:26:29<br class="">
Info.plist entries=6<br class="">
TeamIdentifier=not set<br class="">
Sealed Resources=none<br class="">
Internal requirements count=1 size=100<br class="">
$<br class="">
</div>
<div class="">```</div>
</div>
<div class=""><br class="">
</div>
<div class="">So far so good.</div>
<div class="">But then when I try to use lldb I have permission
problems:</div>
<div class="">```</div>
<div class="">egbomrt@msmarple ~/llvm2/build/release_assert $
./bin/lldb /bin/ls<br class="">
(lldb) target create "/bin/ls"<br class="">
Current executable set to '/bin/ls' (x86_64).<br class="">
(lldb) r<br class="">
<b class="">error: process exited with status -1 (Error 1)</b><br class="">
(lldb) ^D<br class="">
egbomrt@msmarple ~/llvm2/build/release_assert $<br class="">
</div>
<div class="">```<br class="">
</div>
<div class=""><br class="">
</div>
<div class="">However, as root I can use lldb:</div>
<div class="">```</div>
<div class="">egbomrt@msmarple ~/llvm2/build/release_assert $
sudo ./bin/lldb /bin/ls<br class="">
(lldb) target create "/bin/ls"<br class="">
Current executable set to '/bin/ls' (x86_64).<br class="">
(lldb) r<br class="">
Process 28052 launched: '/bin/ls' (x86_64)<br class="">
.ninja_deps compile_commands.json<br class="">
.ninja_log docs<br class="">
CMakeCache.txt examples<br class="">
CMakeDoxyfile.in include<br class="">
...<br class="">
Process 28052 exited with status = 0 (0x00000000)<br class="">
(lldb) ^D<br class="">
egbomrt@msmarple ~/llvm2/build/release_assert $<br class="">
</div>
<div class="">```</div>
<div class=""><br class="">
</div>
<div class="">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?</div>
<div class=""><br class="">
</div>
<div class="">Thanks,</div>
<div class="">Gabor</div>
</div>
<br class="">
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Fri, Jul 19, 2019
at 11:47 PM Stefan Gränitz <<a href="mailto:stefan.graenitz@gmail.com" target="_blank" class="">stefan.graenitz@gmail.com</a>>
wrote:<br class="">
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF" class=""><p class="">Hi Gábor, I am sorry this caused an issue for
you. Good that apparently it's resolved now.<br class="">
<br class="">
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.<br class="">
<br class="">
Best,<br class="">
Stefan<br class="">
<br class="">
On 19/07/2019 19:36, Gábor Márton wrote:<br class="">
</p>
<blockquote type="cite" class="">
<div dir="ltr" class="">Actually, it is embarrassing
(perhaps for macOS and not for me) that after a
reboot the problem is gone.
<div class="">Perhaps after "sudo
/usr/sbin/DevToolsSecurity --enable" a reboot
is required, but could not find anything
official about that.</div>
</div>
<br class="">
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Fri, Jul
19, 2019 at 7:20 PM Gábor Márton <<a href="mailto:martongabesz@gmail.com" target="_blank" class="">martongabesz@gmail.com</a>>
wrote:<br class="">
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr" class="">This might not be related to
the debugserver, I just realized that I get
<div class="">"error: <span class="gmail-m_6493066739990619720gmail-m_-5130856992912908301gmail-m_1946239005957847031gmail-m_8428160405396733394gmail-m_-2133299894781877036gmail-il">process</span> <span class="gmail-m_6493066739990619720gmail-m_-5130856992912908301gmail-m_1946239005957847031gmail-m_8428160405396733394gmail-m_-2133299894781877036gmail-il">exited</span> with
status -1 (Error 1)"<br class="">
</div>
<div class="">even with the simplest main.c.</div>
<div class="">This may be some kind of security issue
on mac OS...</div>
<div class="">Though I've checked and I have SIP
disabled and I have executed "sudo
/usr/sbin/DevToolsSecurity --enable".</div>
</div>
<br class="">
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Fri,
Jul 19, 2019 at 4:46 PM Gábor Márton <<a href="mailto:martongabesz@gmail.com" target="_blank" class="">martongabesz@gmail.com</a>>
wrote:<br class="">
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr" class="">Hi Stefan,
<div class=""><br class="">
</div>
<div class="">Since the commit</div>
<div class="">"[CMake] Always build debugserver
on Darwin and allow tests to use the
system's one"</div>
<div class="">I cannot use the system debugserver
for testing.</div>
<div class="">I receive the following
error message from lldb when I execute
"ninja check-lldb":<br class="">
</div>
<div class="">```</div>
<div class="">runCmd: run<br class="">
runCmd failed!<br class="">
error: process exited with status -1
(Error 1)<br class="">
</div>
<div class="">```</div>
<div class=""><br class="">
</div>
<div class="">
<div class="">I do set
up "-DLLDB_USE_SYSTEM_DEBUGSERVER=ON"
with cmake so I see</div>
</div>
<div class="">```</div>
<div class="">-- LLDB tests use out-of-tree
debugserver:
/Library/Developer/CommandLineTools/Library/PrivateFrameworks/LLDB.framework/Resources/debugserver<br class="">
</div>
<div class="">```</div>
<div class=""><br class="">
</div>
<div class="">Also, I have inspected the
following test output</div>
<div class="">```</div>
<div class="">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<br class="">
1 out of 736 test suites processed -
TestCModules.py<br class="">
</div>
<div class="">```</div>
<div class="">so it seems like the argument for
--out-of-tree-debugserver is
missing...</div>
<div class=""><br class="">
</div>
Could you please advise?
<div class=""><br class="">
</div>
<div class="">Thank you,</div>
<div class="">Gabor</div>
</div>
</blockquote>
</div>
</blockquote>
</div>
</blockquote>
<pre class="gmail-m_6493066739990619720gmail-m_-5130856992912908301gmail-m_1946239005957847031gmail-m_8428160405396733394moz-signature" cols="72">--
<a class="gmail-m_6493066739990619720gmail-m_-5130856992912908301gmail-m_1946239005957847031gmail-m_8428160405396733394moz-txt-link-freetext" href="https://flowcrypt.com/pub/stefan.graenitz@gmail.com" target="_blank">https://flowcrypt.com/pub/stefan.graenitz@gmail.com</a></pre>
</div>
</blockquote>
</div>
</blockquote>
<pre class="gmail-m_6493066739990619720gmail-m_-5130856992912908301gmail-m_1946239005957847031moz-signature" cols="72">--
<a class="gmail-m_6493066739990619720gmail-m_-5130856992912908301gmail-m_1946239005957847031moz-txt-link-freetext" href="https://flowcrypt.com/pub/stefan.graenitz@gmail.com" target="_blank">https://flowcrypt.com/pub/stefan.graenitz@gmail.com</a></pre>
</div>
</blockquote>
</div>
</blockquote>
<pre class="gmail-m_6493066739990619720gmail-m_-5130856992912908301moz-signature" cols="72">--
<a class="gmail-m_6493066739990619720gmail-m_-5130856992912908301moz-txt-link-freetext" href="https://flowcrypt.com/pub/stefan.graenitz@gmail.com" target="_blank">https://flowcrypt.com/pub/stefan.graenitz@gmail.com</a></pre>
</div>
</blockquote></div>
</blockquote></div>
_______________________________________________<br class="">lldb-dev mailing list<br class=""><a href="mailto:lldb-dev@lists.llvm.org" class="">lldb-dev@lists.llvm.org</a><br class="">https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev<br class=""></div></blockquote></div><br class=""></div></body></html>