I had a chance to look into this more, and I found a bug in the listen behavior. I'm testing a solution to it now. Will post it if it resolves the issue.
-Chris > On Aug 25, 2017, at 10:36 AM, Greg Clayton via lldb-dev > <lldb-dev@lists.llvm.org> wrote: > > Maybe we can make it open only an IPv4 socket for lldb-server for now as a > work around? > >> On Aug 25, 2017, at 8:47 AM, Chris Bieneman <cbiene...@apple.com> wrote: >> >> Since lldb-server only supports running on a limited set of host operating >> systems it is hard for me to diagnose the issue completely, but I suspect >> the problem is caused by the fact that the new listening code can open more >> than one socket, and TCPSocket::GetLocalPortNumber() may be misbehaving. >> >> I'm unlikely to have time to investigate further until next week, but it >> should be possible to craft a unit test that verifies that >> GetLocalPortNumber() returns non-zero on a socket that is listening before a >> connection is established. That might reproduce the issue in a more easy to >> debug environment. >> >> -Chris >> >>> On Aug 25, 2017, at 7:38 AM, Ramana via lldb-dev <lldb-dev@lists.llvm.org> >>> wrote: >>> >>> Ted, Greg, >>> >>> I have built lldb tools @r300578 and the lldb-server is returning the >>> proper port number to lldb client and the remote debugging is working. >>> I have given the lldb-server log at the bottom of my reply. >>> >>> So, it looks https://reviews.llvm.org/rL300579 (Update LLDB Host to >>> support IPv6 over TCP) is causing the issue. >>> >>>> Ramana, can you stick in a log message to print port_cstr? I suspect it's >>>> actually getting 0 back from lldb-server, which would tell us the error is >>>> in the server code, not the client code. >>> >>> Ted, I did that and actually the pipe read is returning zero port >>> number. So definitely the issue is on the server side. >>> >>> GDBRemoteCommunication::StartDebugserverProcess() port_cstr >>> before socket pipe read >>> GDBRemoteCommunication::StartDebugserverProcess() port_cstr after >>> socket pipe read >>> >>> >>>> Ted's comments are correct and I am guessing we will find the "lldb-server >>>> gdb-server" is not doing the right thing and it isn't returning the >>>> correctly bound port. >>>> >>>> When we are doing remote stuff we must use TCP so there should be >>>> lldb-server should be opening a TCP socket, binding, listening and >>>> accepting a connection from the remote LLDB. >>>> >>>> Greg >>> >>> Greg, thanks for the comments. Are you saying I should check what is >>> happening on the TCP socket side? How do I do it other than walking >>> through the code? >>> >>> >>> root@arria5:~# /mnt/var/patch_bins/binaries/bin/lldb-server platform >>> --log-file Ramana/remote.log --log-channels "gdb-remote process" >>> --server --listen *:1400 >>> Connection established. >>> error: lost connection >>> lldb-server exiting... >>> ^C >>> root@arria5:~# /mnt/var/patch_bins/binaries/bin/lldb --version >>> lldb version 5.0.0 (https://llvm.org/svn/llvm-project/lldb/trunk >>> revision 300578) >>> clang revision 300578 >>> llvm revision 300578 >>> root@arria5:~# cat Ramana/remote.log >>> GDBRemoteCommunication::StartDebugserverProcess(url=tcp://10.10.12.3:0, >>> port=0) >>> GDBRemoteCommunication::StartDebugserverProcess() found gdb-remote >>> stub exe '/mnt/var/patch_bins/binaries/bin/lldb-server' >>> launch info for gdb-remote stub: >>> Executable: lldb-server >>> Triple: *-*-* >>> Arguments: >>> argv[0]="/mnt/var/patch_bins/binaries/bin/lldb-server" >>> argv[1]="gdbserver" >>> argv[2]="tcp://10.10.12.3:0" >>> argv[3]="--native-regs" >>> argv[4]="--pipe" >>> argv[5]="7" >>> argv[6]=NULL >>> >>> Environment: >>> env[0]="XDG_SESSION_ID=c7" >>> env[1]="TERM=xterm-256color" >>> env[2]="SHELL=/bin/sh" >>> env[3]="SSH_CLIENT=172.16.16.51 40072 22" >>> env[4]="SSH_TTY=/dev/pts/0" >>> env[5]="USER=root" >>> env[6]="MAIL=/var/mail/root" >>> env[7]="PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin" >>> env[8]="PWD=/home/root" >>> env[9]="EDITOR=vi" >>> env[10]="PS1=\u@\h:\w\$ " >>> env[11]="SHLVL=1" >>> env[12]="HOME=/home/root" >>> env[13]="LOGNAME=root" >>> env[14]="SSH_CONNECTION=172.16.16.51 40072 10.10.2.4 22" >>> env[15]="XDG_RUNTIME_DIR=/run/user/0" >>> env[16]="_=/mnt/var/patch_bins/binaries/bin/lldb-server" >>> env[17]=NULL >>> >>> GDBRemoteCommunication::StartDebugserverProcess() debugserver listens 48039 >>> port >>> >>> >>> Regards, >>> Ramana >>> >>> On Thu, Aug 24, 2017 at 10:10 PM, Greg Clayton <clayb...@gmail.com> wrote: >>>> >>>>> On Aug 24, 2017, at 8:33 AM, Ted Woodward <ted.woodw...@codeaurora.org> >>>>> wrote: >>>>> >>>>> The lldb-server launch line looks ok; it should take the port 0 arg and >>>>> get a port from the OS. >>>>> lldb is getting the port back from lldb-server in 4.0.1, as seen here: >>>>> >>>>>> GDBRemoteCommunication::StartDebugserverProcess() debugserver listens >>>>>> 56543 port >>>>> >>>>> But for 5.0.0 we see it fail the debugserver launch, and get: >>>>> >>>>>> GDBRemoteCommunication::StartDebugserverProcess() debugserver listens 0 >>>>>> port >>>>> >>>>> That log message comes right after the pipe read, which succeeds because >>>>> error.Success() is true: >>>>> >>>>> // Read port from pipe with 10 second timeout. >>>>> error = socket_pipe.ReadWithTimeout( >>>>> port_cstr, num_bytes, std::chrono::seconds{10}, num_bytes); >>>>> if (error.Success() && (port != nullptr)) { >>>>> assert(num_bytes > 0 && port_cstr[num_bytes - 1] == '\0'); >>>>> uint16_t child_port = StringConvert::ToUInt32(port_cstr, 0); >>>>> if (*port == 0 || *port == child_port) { >>>>> *port = child_port; >>>>> if (log) >>>>> log->Printf("GDBRemoteCommunication::%s() " >>>>> "debugserver listens %u port", >>>>> __FUNCTION__, *port); >>>>> >>>>> As an aside, I don't like that assert - if we get garbage back from the >>>>> pipe, we should error out, not take down lldb. >>>> >>>> The assert should be removed and the code should work correctly without >>>> the assert. >>>> >>>>> Another aside, the definition of port_cstr is odd: >>>>> char port_cstr[PATH_MAX] = {0}; >>>>> port_cstr[0] = '\0'; >>>>> The size is way to big - max port number is 65535, so we don't need >>>>> PATH_MAX bytes. And 2 assignments to make it a null string? >>>>> >>>>> >>>>> Ramana, can you stick in a log message to print port_cstr? I suspect it's >>>>> actually getting 0 back from lldb-server, which would tell us the error >>>>> is in the server code, not the client code. >>>>> >>>> >>>> With the following args: >>>> >>>> argv[0]="/mnt/var/binaries/arm_release/bin/lldb-server" >>>> argv[1]="gdbserver" >>>> argv[2]="tcp://10.10.12.3:0" >>>> argv[3]="--native-regs" >>>> argv[4]="--pipe" >>>> argv[5]="7" >>>> argv[6]=NULL >>>> >>>> lldb-server should bind to port 0, figure out the port, and write the port >>>> number into the file descriptor 7 ("--pipe 7" argument) to let the other >>>> side know what port to report back to the remote LLDB. The reply to the >>>> qLaunchGDBServer packet should then contain this valid port number. >>>> >>>> Ted's comments are correct and I am guessing we will find the "lldb-server >>>> gdb-server" is not doing the right thing and it isn't returning the >>>> correctly bound port. >>>> >>>> When we are doing remote stuff we must use TCP so there should be >>>> lldb-server should be opening a TCP socket, binding, listening and >>>> accepting a connection from the remote LLDB. >>>> >>>> Greg >>>> >>>> >>>> >>>>> Ted >>>>> >>>>> -- >>>>> Qualcomm Innovation Center, Inc. >>>>> The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a >>>>> Linux Foundation Collaborative Project >>>>> >>>>>> -----Original Message----- >>>>>> From: Ramana [mailto:ramana.venka...@gmail.com] >>>>>> Sent: Thursday, August 24, 2017 4:00 AM >>>>>> To: Ted Woodward <ted.woodw...@codeaurora.org> >>>>>> Cc: Greg Clayton <clayb...@gmail.com>; Hans Wennborg >>>>>> <h...@chromium.org>; lldb-dev@lists.llvm.org >>>>>> Subject: Re: [lldb-dev] Remote debugging ARM target from x86 host >>>>>> >>>>>> Greg, Ted >>>>>> >>>>>> Thanks for your comments. >>>>>> >>>>>> On Thu, Aug 24, 2017 at 12:01 AM, Ted Woodward >>>>>> <ted.woodw...@codeaurora.org> wrote: >>>>>>> >>>>>>> What should be happening is Handle_qLaunchGDBServer calls >>>>>> LaunchGDBServer with a port of UINT16_MAX, which tells it to use a port >>>>>> in its >>>>>> port list. It shouldn't have a port list, so should return 0. >>>>>> LaunchGDBServer calls >>>>>> StartDebugServerProcess with a port of 0 in the url. >>>>>> StartDebugServerProcess >>>>>> launches the gdbserver with a named pipe, and reads the actual port from >>>>>> the >>>>>> pipe. >>>>>> >>>>>> Yes, the port list is empty unless --(min/max)-gdbserver-port is >>>>>> specified and >>>>>> the gdbserver reads port number from the named pipe which in the failing >>>>>> case >>>>>> is zero. >>>>>> >>>>>>> I suggest turning on more logging - specifically, "gdb-remote process". >>>>>>> That's >>>>>> the channel used in StartDebugServerProcess. >>>>>>> >>>>>> >>>>>> In fact I have given the relevant log line of "gdb-remote process" in >>>>>> the bug >>>>>> details reporting port zero. Anyhow, the full log of "gdb-remote >>>>>> process" for >>>>>> both lldb v4.0.1 and v5.0.0 is given at the bottom of my reply. >>>>>> >>>>>> I thought https://reviews.llvm.org/rL295947 (Ensure lldb-server waits >>>>>> for child >>>>>> debug servers to start up when passing them) got something to do with >>>>>> this bug >>>>>> but both reversing >>>>>> >>>>>> if (pass_comm_fd == -1) { at >>>>>> source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp:1086 >>>>>> >>>>>> to original >>>>>> >>>>>> if (pass_comm_fd == -1 && ((port != nullptr && *port == 0) || port == >>>>>> nullptr)) { >>>>>> >>>>>> and >>>>>> >>>>>> increasing the time out to 30 sec from 10 sec in >>>>>> socket_pipe.ReadWithTimeout() at >>>>>> source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp:1255 >>>>>> >>>>>> did not solve the issue. >>>>>> >>>>>> By the way, the remote debugging of x86 (linux) from x86 (linux) with >>>>>> lldb >>>>>> v5.0.0 (but works with v4.0.1) also fails with assertion >>>>>> >>>>>> assert(num_bytes > 0 && port_cstr[num_bytes - 1] == '\0'); at >>>>>> source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp:1258 >>>>>> >>>>>> due to the reason that socket_pipe.ReadWithTimeout() could not >>>>>> successfully >>>>>> read the port number from the named pipe. >>>>>> >>>>>> Based on the above, though I am not sure, the other patch I could think >>>>>> of >>>>>> having an effect on this bug is >>>>>> https://reviews.llvm.org/rL300579 (Update LLDB Host to support IPv6 over >>>>>> TCP) >>>>>> which changed the socket implementation. >>>>>> >>>>>> >>>>>> lldb-server log for "gdb-remote process" with lldb v4.0.1 (passing case) >>>>>> >>>>>> GDBRemoteCommunication::StartDebugserverProcess(url=tcp://10.10.12.3:0, >>>>>> port=0) >>>>>> GDBRemoteCommunication::StartDebugserverProcess() found gdb-remote stub >>>>>> exe '/mnt/var/binaries/arm_release/bin/lldb-server' >>>>>> launch info for gdb-remote stub: >>>>>> Executable: lldb-server >>>>>> Triple: *-*-* >>>>>> Arguments: >>>>>> argv[0]="/mnt/var/binaries/arm_release/bin/lldb-server" >>>>>> argv[1]="gdbserver" >>>>>> argv[2]="tcp://10.10.12.3:0" >>>>>> argv[3]="--native-regs" >>>>>> argv[4]="--pipe" >>>>>> argv[5]="7" >>>>>> argv[6]=NULL >>>>>> >>>>>> Environment: >>>>>> env[0]="XDG_SESSION_ID=c3" >>>>>> env[1]="TERM=xterm-256color" >>>>>> env[2]="SHELL=/bin/sh" >>>>>> env[3]="SSH_CLIENT=10.10.33.99 53542 22" >>>>>> env[4]="SSH_TTY=/dev/pts/0" >>>>>> env[5]="USER=root" >>>>>> env[6]="MAIL=/var/mail/root" >>>>>> env[7]="PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin" >>>>>> env[8]="PWD=/home/root" >>>>>> env[9]="EDITOR=vi" >>>>>> env[10]="PS1=\u@\h:\w\$ " >>>>>> env[11]="SHLVL=1" >>>>>> env[12]="HOME=/home/root" >>>>>> env[13]="LOGNAME=root" >>>>>> env[14]="SSH_CONNECTION=10.10.33.99 53542 10.10.2.4 22" >>>>>> env[15]="XDG_RUNTIME_DIR=/run/user/0" >>>>>> env[16]="_=/mnt/var/binaries/arm_release/bin/lldb-server" >>>>>> env[17]=NULL >>>>>> >>>>>> GDBRemoteCommunication::StartDebugserverProcess() debugserver listens >>>>>> 56543 port >>>>>> >>>>>> >>>>>> lldb-server log for "gdb-remote process" with lldb v5.0.0 (failing case) >>>>>> >>>>>> >>>>>> GDBRemoteCommunication::StartDebugserverProcess(url=tcp://10.10.12.3:0, >>>>>> port=0) >>>>>> GDBRemoteCommunication::StartDebugserverProcess() found gdb-remote stub >>>>>> exe '/mnt/var/binaries/arm_v5.0_orig/bin/lldb-server' >>>>>> launch info for gdb-remote stub: >>>>>> Executable: lldb-server >>>>>> Triple: *-*-* >>>>>> Arguments: >>>>>> argv[0]="/mnt/var/binaries/arm_v5.0_orig/bin/lldb-server" >>>>>> argv[1]="gdbserver" >>>>>> argv[2]="tcp://10.10.12.3:0" >>>>>> argv[3]="--native-regs" >>>>>> argv[4]="--pipe" >>>>>> argv[5]="7" >>>>>> argv[6]=NULL >>>>>> >>>>>> Environment: >>>>>> env[0]="XDG_SESSION_ID=c3" >>>>>> env[1]="TERM=xterm-256color" >>>>>> env[2]="SHELL=/bin/sh" >>>>>> env[3]="SSH_CLIENT=10.10.33.99 53542 22" >>>>>> env[4]="SSH_TTY=/dev/pts/0" >>>>>> env[5]="USER=root" >>>>>> env[6]="MAIL=/var/mail/root" >>>>>> env[7]="PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin" >>>>>> env[8]="PWD=/home/root" >>>>>> env[9]="EDITOR=vi" >>>>>> env[10]="PS1=\u@\h:\w\$ " >>>>>> env[11]="SHLVL=1" >>>>>> env[12]="HOME=/home/root" >>>>>> env[13]="LOGNAME=root" >>>>>> env[14]="SSH_CONNECTION=10.10.33.99 53542 10.10.2.4 22" >>>>>> env[15]="XDG_RUNTIME_DIR=/run/user/0" >>>>>> env[16]="_=/mnt/var/binaries/arm_v5.0_orig/bin/lldb-server" >>>>>> env[17]=NULL >>>>>> >>>>>> GDBRemoteCommunication::StartDebugserverProcess() debugserver listens 0 >>>>>> port >>>>>> >>>>>> >>>>>> Thanks, >>>>>> Ramana >>>>>> >>>>>>> -- >>>>>>> Qualcomm Innovation Center, Inc. >>>>>>> The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, >>>>>>> a Linux Foundation Collaborative Project >>>>>>> >>>>>>>> -----Original Message----- >>>>>>>> From: lldb-dev [mailto:lldb-dev-boun...@lists.llvm.org] On Behalf Of >>>>>>>> Greg Clayton via lldb-dev >>>>>>>> Sent: Wednesday, August 23, 2017 12:45 PM >>>>>>>> To: Hans Wennborg <h...@chromium.org> >>>>>>>> Cc: Ramana <ramana.venka...@gmail.com>; LLDB Dev <lldb- >>>>>>>> d...@lists.llvm.org> >>>>>>>> Subject: Re: [lldb-dev] Remote debugging ARM target from x86 host >>>>>>>> >>>>>>>> Port zero should never be returned as a valid port. We do bind to >>>>>>>> port zero just so we don't try and pick a port at random just to find >>>>>>>> it is being used. When we bind to port 9, we must find the actual >>>>>>>> port we bound to and return that. Seems something has gone wrong with >>>>>>>> the code that discovers the port that was actually bound and is not >>>>>>>> reporting >>>>>> that back correctly. >>>>>>>> >>>>>>>> >>>>>>>> Should be straight forward to do by debugging the function >>>>>>>> GDBRemoteCommunicationServerPlatform::Handle_qLaunchGDBServer(...) >>>>>> in >>>>>>>> GDBRemoteCommunicationServerPlatform.cpp and see what is going on >>>>>> and >>>>>>>> why it is returning 0 as the port. >>>>>>>> >>>>>>>> Greg >>>>>>>> >>>>>>>>> On Aug 23, 2017, at 9:44 AM, Hans Wennborg via lldb-dev <lldb- >>>>>>>> d...@lists.llvm.org> wrote: >>>>>>>>> >>>>>>>>> This was marked as an lldb 5.0.0 release blocker since it's a >>>>>>>>> regression from 4.0.1: https://bugs.llvm.org/show_bug.cgi?id=34183 >>>>>>>>> >>>>>>>>> lldb-dev: Is there any interest in fixing this bug? >>>>>>>>> >>>>>>>>> On Fri, Aug 4, 2017 at 10:13 PM, Ramana via lldb-dev >>>>>>>>> <lldb-dev@lists.llvm.org> wrote: >>>>>>>>>> Hi, >>>>>>>>>> >>>>>>>>>> I am trying to remote debug ARM (linux) target from x86 (linux) >>>>>>>>>> host and I am getting the following error while trying to launch a >>>>>>>>>> process. >>>>>>>>>> The local debugging on ARM works. >>>>>>>>>> >>>>>>>>>> error: connect remote failed (invalid host:port specification: >>>>>>>>>> '10.10.2.3') >>>>>>>>>> error: process launch failed: invalid host:port specification: >>>>>>>>>> '10.10.2.3' >>>>>>>>>> >>>>>>>>>> It appears the above error is because the gdb-remote is returning >>>>>>>>>> the communication port as zero. >>>>>>>>>> >>>>>>>>>> < 36> send packet: $qLaunchGDBServer;host:svrlin249;#bb >>>>>>>>>> < 19> read packet: $pid:298;port:0;#bf >>>>>>>>>> >>>>>>>>>> What are the possible reasons for the above behavior from >>>>>>>>>> gdb-remote and how I could resolve this? >>>>>>>>>> >>>>>>>>>> If it helps, below is the full log. >>>>>>>>>> >>>>>>>>>> (lldb) log enable lldb comm >>>>>>>>>> (lldb) log enable gdb-remote packets >>>>>>>>>> (lldb) platform select remote-linux >>>>>>>>>> Platform: remote-linux >>>>>>>>>> Connected: no >>>>>>>>>> (lldb) platform connect connect://10.10.2.3:500 >>>>>>>>>> 0x915bd78 Communication::Communication (name = gdb-remote.client) >>>>>>>>>> 0x915bd78 Communication::Disconnect () >>>>>>>>>> 0x915bd78 Communication::Disconnect () >>>>>>>>>> 0x915bd78 Communication::Connect (url = connect://10.10.2.3:500) >>>>>>>>>> Socket::TcpConnect (host/port = 10.10.2.3:500) TCPSocket::Connect >>>>>>>>>> (host/port = 10.10.2.3:500) >>>>>>>>>> 0x915bd78 Communication::Write (src = 0xbfcb7433, src_len = 1) >>>>>>>>>> connection = 0x915f578 >>>>>>>>>> 0x915f608 Socket::Write() (socket = 7, src = 0xbfcb7433, src_len = >>>>>>>>>> 1, flags = 0) => 1 (error = (null)) >>>>>>>>>> < 1> send packet: + >>>>>>>>>> this = 0x0915BD78, dst = 0xBFCB53EC, dst_len = 8192, timeout = >>>>>>>>>> 10000 us, connection = 0x0915F578 >>>>>>>>>> 0x915bd78 Communication::Write (src = 0x916022c, src_len = 19) >>>>>>>>>> connection = 0x915f578 >>>>>>>>>> 0x915f608 Socket::Write() (socket = 7, src = 0x916022c, src_len = >>>>>>>>>> 19, flags = 0) => 19 (error = (null)) >>>>>>>>>> history[1] tid=0x7cbf < 1> send packet: + >>>>>>>>>> < 19> send packet: $QStartNoAckMode#b0 this = 0x0915BD78, dst = >>>>>>>>>> 0xBFCB51AC, dst_len = 8192, timeout = 6000000 us, connection = >>>>>>>>>> 0x0915F578 >>>>>>>>>> 0x915f608 Socket::Read() (socket = 7, src = 0xbfcb51ac, src_len = >>>>>>>>>> 7, flags = 0) => 7 (error = (null)) >>>>>>>>>> < 1> read packet: + >>>>>>>>>> < 6> read packet: $OK#9a >>>>>>>>>> 0x915bd78 Communication::Write (src = 0xbfcb50f3, src_len = 1) >>>>>>>>>> connection = 0x915f578 >>>>>>>>>> 0x915f608 Socket::Write() (socket = 7, src = 0xbfcb50f3, src_len = >>>>>>>>>> 1, flags = 0) => 1 (error = (null)) >>>>>>>>>> < 1> send packet: + >>>>>>>>>> 0x915bd78 Communication::Write (src = 0x9161ff4, src_len = 13) >>>>>>>>>> connection = 0x915f578 >>>>>>>>>> 0x915f608 Socket::Write() (socket = 7, src = 0x9161ff4, src_len = >>>>>>>>>> 13, flags = 0) => 13 (error = (null)) < 13> send packet: >>>>>>>>>> $qHostInfo#9b this = 0x0915BD78, dst = 0xBFCB510C, dst_len = 8192, >>>>>>>>>> timeout = >>>>>>>>>> 1000000 us, connection = 0x0915F578 >>>>>>>>>> 0x915f608 Socket::Read() (socket = 7, src = 0xbfcb510c, src_len = >>>>>>>>>> 316, flags = 0) => 316 (error = (null)) < 316> read packet: >>>>>>>>>> >>>>>>>> >>>>>> $triple:61726d2d2d6c696e75782d676e75656162696866;ptrsize:4;watchpoint >>>>>>>>>> _exceptions_received:before;endian:little;os_version:3.10.31;os_bu >>>>>>>>>> ild >>>>>>>>>> >>>>>>>> >>>>>> :332e31302e33312d6c7473692d30323836312d6738303161343066;os_kernel:2 >>>>>>>> 33 >>>>>>>>>> >>>>>>>> >>>>>> 520534d5020467269204d61792031332031353a35383a3232204953542032303 >>>>>>>> 136;h >>>>>>>>>> ostname:736f >>>>>>>>>> 63667067615f617272696135;#0a >>>>>>>>>> 0x915bd78 Communication::Write (src = 0x915fe9c, src_len = 18) >>>>>>>>>> connection = 0x915f578 >>>>>>>>>> 0x915f608 Socket::Write() (socket = 7, src = 0x915fe9c, src_len = >>>>>>>>>> 18, flags = 0) => 18 (error = (null)) < 18> send packet: >>>>>>>>>> $qGetWorkingDir#91 this = 0x0915BD78, dst = 0xBFCB50FC, dst_len = >>>>>>>>>> 8192, timeout = 1000000 us, connection = 0x0915F578 >>>>>>>>>> 0x915f608 Socket::Read() (socket = 7, src = 0xbfcb50fc, src_len = >>>>>>>>>> 24, flags = 0) => 24 (error = (null)) < 24> read packet: >>>>>>>>>> $2f686f6d652f726f6f74#4b >>>>>>>>>> 0x915bd78 Communication::Write (src = 0x915fe9c, src_len = 19) >>>>>>>>>> connection = 0x915f578 >>>>>>>>>> 0x915f608 Socket::Write() (socket = 7, src = 0x915fe9c, src_len = >>>>>>>>>> 19, flags = 0) => 19 (error = (null)) < 19> send packet: >>>>>>>>>> $qQueryGDBServer#cb this = 0x0915BD78, dst = 0xBFCB531C, dst_len = >>>>>>>>>> 8192, timeout = 1000000 us, connection = 0x0915F578 >>>>>>>>>> 0x915f608 Socket::Read() (socket = 7, src = 0xbfcb531c, src_len = >>>>>>>>>> 7, flags = 0) => 7 (error = (null)) >>>>>>>>>> < 7> read packet: $E04#a9 >>>>>>>>>> Platform: remote-linux >>>>>>>>>> Triple: arm-*-linux-gnueabihf >>>>>>>>>> OS Version: 3.10.31 (3.10.31-ltsi-02861-g801a40f) >>>>>>>>>> Kernel: #5 SMP Fri May 13 15:58:22 IST 2016 >>>>>>>>>> Hostname: socfpga_arria5 >>>>>>>>>> Connected: yes >>>>>>>>>> WorkingDir: /home/root >>>>>>>>>> (lldb) file main >>>>>>>>>> 0x915bd78 Communication::Write (src = 0x91638fc, src_len = 137) >>>>>>>>>> connection = 0x915f578 >>>>>>>>>> 0x915f608 Socket::Write() (socket = 7, src = 0x91638fc, src_len = >>>>>>>>>> 137, flags = 0) => 137 (error = (null)) < 137> send packet: >>>>>>>>>> >>>>>>>> >>>>>> $qModuleInfo:2f686f6d652f72616d616e616e2f776f726b5f726f6f742f546f545f >>>>>>>>>> >>>>>>>> >>>>>> 6c6c64622f74657374732f6d61696e;61726d2d2d6c696e75782d656162696866# >>>>>>>> f1 >>>>>>>>>> this = 0x0915BD78, dst = 0xBFCB172C, dst_len = 8192, timeout = >>>>>>>>>> 1000000 us, connection = 0x0915F578 >>>>>>>>>> 0x915f608 Socket::Read() (socket = 7, src = 0xbfcb172c, src_len = >>>>>>>>>> 7, flags = 0) => 7 (error = (null)) >>>>>>>>>> < 7> read packet: $E03#a8 >>>>>>>>>> Current executable set to 'main' (arm). >>>>>>>>>> (lldb) b main >>>>>>>>>> Breakpoint 1: where = main`main + 4 at main.c:4, address = >>>>>>>>>> 0x000104a0 >>>>>>>>>> (lldb) run >>>>>>>>>> 0x915bd78 Communication::Write (src = 0x917bae4, src_len = 36) >>>>>>>>>> connection = 0x915f578 >>>>>>>>>> 0x915f608 Socket::Write() (socket = 7, src = 0x917bae4, src_len = >>>>>>>>>> 36, flags = 0) => 36 (error = (null)) < 36> send packet: >>>>>>>>>> $qLaunchGDBServer;host:svrlin249;#bb >>>>>>>>>> this = 0x0915BD78, dst = 0xBFCB4FDC, dst_len = 8192, timeout = >>>>>>>>>> 10000000 us, connection = 0x0915F578 >>>>>>>>>> 0x915f608 Socket::Read() (socket = 7, src = 0xbfcb4fdc, src_len = >>>>>>>>>> 19, flags = 0) => 19 (error = (null)) < 19> read packet: >>>>>>>>>> $pid:298;port:0;#bf >>>>>>>>>> 0x92b0a84 Communication::Communication (name = process.stdio) >>>>>>>>>> 0x92b0d78 Communication::Communication (name = gdb-remote.client) >>>>>>>>>> 0x92b0a84 Communication::Disconnect () Socket::TcpConnect >>>>>>>>>> (host/port = 10.10.2.3) TCPSocket::Connect (host/port = 10.10.2.3) >>>>>>>>>> Socket::TcpConnect (host/port = 10.10.2.3) TCPSocket::Connect >>>>>>>>>> (host/port = 10.10.2.3) Socket::TcpConnect (host/port = 10.10.2.3) >>>>>>>>>> TCPSocket::Connect (host/port = 10.10.2.3) Socket::TcpConnect >>>>>>>>>> (host/port = 10.10.2.3) TCPSocket::Connect (host/port = 10.10.2.3) >>>>>>>>>> Socket::TcpConnect (host/port = 10.10.2.3) TCPSocket::Connect >>>>>>>>>> (host/port = 10.10.2.3) Socket::TcpConnect (host/port = 10.10.2.3) >>>>>>>>>> TCPSocket::Connect (host/port = 10.10.2.3) Socket::TcpConnect >>>>>>>>>> (host/port = 10.10.2.3) TCPSocket::Connect (host/port = 10.10.2.3) >>>>>>>>>> Socket::TcpConnect (host/port = 10.10.2.3) .................. >>>>>>>>>> .................. >>>>>>>>>> .................. >>>>>>>>>> TCPSocket::Connect (host/port = 10.10.2.3) Socket::TcpConnect >>>>>>>>>> (host/port = 10.10.2.3) TCPSocket::Connect (host/port = 10.10.2.3) >>>>>>>>>> Socket::TcpConnect (host/port = 10.10.2.3) TCPSocket::Connect >>>>>>>>>> (host/port = 10.10.2.3) Socket::TcpConnect (host/port = 10.10.2.3) >>>>>>>>>> TCPSocket::Connect (host/port = 10.10.2.3) Socket::TcpConnect >>>>>>>>>> (host/port = 10.10.2.3) TCPSocket::Connect (host/port = 10.10.2.3) >>>>>>>>>> Socket::TcpConnect (host/port = 10.10.2.3) TCPSocket::Connect >>>>>>>>>> (host/port = 10.10.2.3) >>>>>>>>>> error: connect remote failed (invalid host:port specification: >>>>>>>>>> '10.10.2.3') >>>>>>>>>> 0x915bd78 Communication::Write (src = 0x92b38c4, src_len = 27) >>>>>>>>>> connection = 0x915f578 >>>>>>>>>> 0x915f608 Socket::Write() (socket = 7, src = 0x92b38c4, src_len = >>>>>>>>>> 27, flags = 0) => 27 (error = (null)) < 27> send packet: >>>>>>>>>> $qKillSpawnedProcess:298#8b this = 0x0915BD78, dst = 0xBFCB509C, >>>>>>>>>> dst_len = 8192, timeout = 1000000 us, connection = 0x0915F578 >>>>>>>>>> 0x915f608 Socket::Read() (socket = 7, src = 0xbfcb509c, src_len = >>>>>>>>>> 7, flags = 0) => 7 (error = (null)) >>>>>>>>>> < 7> read packet: $E0a#d6 >>>>>>>>>> error: process launch failed: invalid host:port specification: >>>>>>>>>> '10.10.2.3' >>>>>>>>>> (lldb) >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Regards, >>>>>>>>>> Ramana >>>>>>>>>> _______________________________________________ >>>>>>>>>> lldb-dev mailing list >>>>>>>>>> lldb-dev@lists.llvm.org >>>>>>>>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev >>>>>>>>> _______________________________________________ >>>>>>>>> lldb-dev mailing list >>>>>>>>> lldb-dev@lists.llvm.org >>>>>>>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> lldb-dev mailing list >>>>>>>> lldb-dev@lists.llvm.org >>>>>>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev >>>>>>> >>>>> >>>> >>> _______________________________________________ >>> lldb-dev mailing list >>> lldb-dev@lists.llvm.org >>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev >> > > _______________________________________________ > lldb-dev mailing list > lldb-dev@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev _______________________________________________ lldb-dev mailing list lldb-dev@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev