gdb refuses to connect to localhost

Reinaldo Molina via Gdb <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <[email protected]>
Hey guys!

Looking for some assistants here. I am trying to debug an application using `gdbserver`, but it seems my `lo` network device is messed up. `gdb` refuses to connect to `localhost` every time. Here is my flow:

Terminal 1: `gdbserver localhost:8888 build/luajit`
  - Variants I've tried: `127.0.0.1:8888`

Terminal 2: `gdb build/luajit -ex 'target remote localhost:8888'`

Output from `gdb` on Terminal 2:

    (gdb) target remote :8888
    Remote debugging using :8888
    Ignoring packet error, continuing...
    warning: unrecognized item "timeout" in "qSupported" response
    Ignoring packet error, continuing...
    Remote replied unexpectedly to 'vMustReplyEmpty': timeout

Output from `ip addr show lo`:

    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
          valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host
          valid_lft forever preferred_lft forever

Content from `/etc/hosts`

    # Static table lookup for hostnames.
    # See hosts(5) for details.
    127.0.0.1	localhost
    ::1		localhost
    127.0.1.1	myhostname.localdomain	myhostname

I'm using the command to monitor the ports: `netstat -tulanp`. Here is the output right after running just `gdbserver`:

    (Not all processes could be identified, non-owned process info
    will not be shown, you would have to be root to see it all.)
    tcp        0      0 0.0.0.0:8888            0.0.0.0:*               LISTEN      193337/gdbserver

Output just after telling `gdb` to connect:

    (Not all processes could be identified, non-owned process info
    will not be shown, you would have to be root to see it all.)
    tcp        1      0 0.0.0.0:8888            0.0.0.0:*               LISTEN      193337/gdbserver
    tcp        0      0 127.0.0.1:50720         127.0.0.1:8888          ESTABLISHED 195502/gdb
    tcp      478      0 127.0.0.1:8888          127.0.0.1:50720         ESTABLISHED -

Looks promising but then:

    (Not all processes could be identified, non-owned process info
    will not be shown, you would have to be root to see it all.)
    tcp        1      0 0.0.0.0:8888            0.0.0.0:*               LISTEN      193337/gdbserver
    tcp        0      0 127.0.0.1:50720         127.0.0.1:8888          FIN_WAIT2   -
    tcp      722      0 127.0.0.1:8888          127.0.0.1:50720         CLOSE_WAIT  -

I also don't have any firewalls: `iptables -L`

    Chain INPUT (policy ACCEPT)
    target     prot opt source               destination

    Chain FORWARD (policy ACCEPT)
    target     prot opt source               destination

    Chain OUTPUT (policy ACCEPT)
    target     prot opt source               destination

gdb version:

    GNU gdb (GDB) 10.1
    Copyright (C) 2020 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.

System info: `uname -all`, it's Arch Linux BTW :D

    Linux helios 5.9.14-arch1-1 #1 SMP PREEMPT Sat, 12 Dec 2020 14:37:12 +0000 x86_64 GNU/Linux

Just baffled by this behavior.

Thanks,
Reinaldo Molina
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.