<font size=2 face="sans-serif">Hi,</font>
<br>
<br><font size=2 face="sans-serif">I’ve been hitting issues connecting
to lldb-server. I’ve been trying from Mac to Linux running in a Virtual
Box VM on the same machine. Once I’ve created a target and issued the
“run” command lldb immediately disconnects with “error: connect remote
failed (failed to get reply to handshake packet)”. The full output from
a failed connection attempting to debug a simple "Hello World!"
program is:</font>
<br>
<br><font size=2 face="sans-serif">---</font>
<br><font size=2 face="sans-serif">(lldb) platform select remote-linux</font>
<br><font size=2 face="sans-serif">  Platform: remote-linux</font>
<br><font size=2 face="sans-serif"> Connected: no</font>
<br><font size=2 face="sans-serif">(lldb) platform connect connect://127.0.0.1:1234</font>
<br><font size=2 face="sans-serif">    Platform: remote-linux</font>
<br><font size=2 face="sans-serif">    Triple: x86_64-pc-linux-gnu</font>
<br><font size=2 face="sans-serif">OS Version: 4.8.0 (4.8.0-22-generic)</font>
<br><font size=2 face="sans-serif">    Kernel: #24-Ubuntu SMP
Sat Oct 8 09:15:00 UTC 2016</font>
<br><font size=2 face="sans-serif">  Hostname: hhellyer-VirtualBox</font>
<br><font size=2 face="sans-serif"> Connected: yes</font>
<br><font size=2 face="sans-serif">WorkingDir: /home/hhellyer</font>
<br><font size=2 face="sans-serif">(lldb) target create hello.out</font>
<br><font size=2 face="sans-serif">Current executable set to 'hello.out'
(x86_64).</font>
<br><font size=2 face="sans-serif">(lldb) run</font>
<br><font size=2 face="sans-serif">error: connect remote failed (failed
to get reply to handshake packet)</font>
<br><font size=2 face="sans-serif">error: process launch failed: failed
to get reply to handshake packet</font>
<br><font size=2 face="sans-serif">--</font>
<br>
<br><font size=2 face="sans-serif">I’m running the server (on Linux) with:</font>
<br><font size=2 face="sans-serif">>lldb-server platform --listen *:1234
-P 2345</font>
<br><font size=2 face="sans-serif">(I need to specify the -P as only a
few ports are forwarded from the VirtualBox vm.)</font>
<br>
<br><font size=2 face="sans-serif">With logging enabled the logs showed
the failure happened when the lldb-server received </font><font size=2 face="Menlo-Regular">the
"QStartNoAckMode" packet. </font><font size=2 face="sans-serif">I
initially thought this was a timing issue on the connection between the
client and the server. After doing some investigation I ended up adding
code to dump a backtrace when the connection was disconnected (in Communication::Disconnect)
and suddenly running the target started working. I replaced the backtrace
with a sleep(1) call and it continued working. After that I setup another
remote virtual linux box (actually some distance away on the network) and
found that lldb worked fine connecting to the remote lldb-server there,
presumably because the connection was much slower.</font>
<br>
<br><font size=2 face="sans-serif">At this point I was assuming it was
a timing issue however another configuration that worked was lldb-server
and lldb both running on the Linux VM inside Virtual Box which I would
have assumed would also be very quick. I’m also wondering if lldb does
anything special when the connection goes to 127.0.0.1 that using a local
VM might confuse.</font>
<br>
<br><font size=2 face="sans-serif">I was testing from Mac to Virtual Box
just because it was simpler than testing to a remote system, which was
actually the goal and seems to work, so this isn’t totally blocking me
but it does seem like a problem and I'm not sure if other users connecting
to remote linux machine will hit this problem.</font>
<br>
<br><font size=2 face="sans-serif">Are there any known issues around this
type of connection already? Or does anyone have any useful pointers? I
couldn’t see anything quite the same on </font><a href=http://bugs.llvm.org/><font size=2 color=blue face="sans-serif">http://bugs.llvm.org/</font></a><font size=2 face="sans-serif">
so asking here seemed like a logical next step.</font>
<br>
<br><font size=2 face="sans-serif">Thanks,</font>
<br>
<br><font size=2 face="sans-serif">Howard Hellyer</font>
<br><font size=2 face="sans-serif">IBM Runtime Technologies, IBM Systems<br>
Unless stated otherwise above:<br>
IBM United Kingdom Limited - Registered in England and Wales with number
741598. <br>
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6
3AU<br>
</font>