Issue1603527
This issue tracker has been migrated to GitHub,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2006-11-27 05:43 by esr, last changed 2022-04-11 14:56 by admin. This issue is now closed.
Files | ||||
---|---|---|---|---|
File name | Uploaded | Description | Edit | |
g.c | loewis, 2006-12-18 10:12 | |||
c.py | loewis, 2006-12-18 10:12 |
Messages (9) | |||
---|---|---|---|
msg30686 - (view) | Author: Eric S. Raymond (esr) | Date: 2006-11-27 05:43 | |
Robert J.Berger <rberger@ibd.com> reported this on the gpsd-dev mailing list of the GPSD project. "Until I changed the line in /etc/hosts from: ::1 localhost.localdomain localhost to: 127.0.0.1 localhost.localdomain localhost the gps.py [library distributed by the GPSD project] would fail when trying to open the socket connection to gpsd: File "/usr/local/bin/spGps.py", line 198, in __init__ self.connect(host, port) File "/usr/local/bin/spGps.py", line 237, in connect raise socket.error, msg socket.error: (111, 'Connection refused') This is with Python 2.4.4 under Red Hat Linux, kernel version not reported. Robert believes, and I concur, that this is not a GPSD bug. Rather, something lower-level -- possibly the Python socket library, possibly some C library it uses -- is having indigestion on the IPV6 notation. |
|||
msg30687 - (view) | Author: Eric S. Raymond (esr) | Date: 2006-11-27 06:03 | |
Berger reports the kernel is 2.6.18. Fedora Core 6. |
|||
msg30688 - (view) | Author: Martin v. Löwis (loewis) * | Date: 2006-11-29 21:18 | |
Can you please report the values of "host" and "port" when that error is raised? |
|||
msg30689 - (view) | Author: Eric S. Raymond (esr) | Date: 2006-11-29 21:35 | |
host is 'localhost' port is 2947 What's going on here is that gps.py is a Python client module for a local daemon that monitors GPS devices on the host's serial and USB ports and presents output on port 2947. While it is possible to use gps.py to monitor a remote host, Berger wasn't doing that. The socket module threw an error while attempting to connect to localhost. |
|||
msg30690 - (view) | Author: Jean-Paul Calderone (exarkun) * | Date: 2006-12-01 21:10 | |
This seems to work fine for me: >>> s = socket.socket(socket.AF_INET6) >>> s.bind(('ip6-localhost', 8091)) >>> s.getsockname() ('::1', 8091, 0, 0) >>> exarkun@charm:~$ grep ip6-localhost /etc/hosts ::1 ip6-localhost ip6-loopback exarkun@charm:~$ Are you sure this isn't a local misconfiguration? Perhaps gpsd isn't listening on ::1, only 127.1? |
|||
msg30691 - (view) | Author: Eric S. Raymond (esr) | Date: 2006-12-01 22:18 | |
>Are you sure this isn't a local misconfiguration? I'm not. I didn't see it happen. I suggest you email Mr. Berger and ask him. |
|||
msg30692 - (view) | Author: Robert J. Berger (rjbsourceforge) | Date: 2006-12-03 20:15 | |
I will try to get a simple example that reproduces it. Unfortunately I don't have access to the system that was doing it today. I will try to get something in the bug report in the next day or so. But basically if /etc/hosts had localhost defined as ::1 the connect method failded, when I set localhost to 127.0.0.1 the connect worked. Other non-python (c++) processes were able to access the socket when localhost was set to ::1 This was on Fedora Core 6 with the latest patches at that time. |
|||
msg30693 - (view) | Author: Martin v. Löwis (loewis) * | Date: 2006-12-18 10:12 | |
I believe this is a local configuration error, and possibly a C library error. I'll attach two programs: g.c does what I believe gpsd does, and c.py does what I believe spGps.py does. This works fine on my system after I change localhost to be ::1 in /etc/hosts, even though g.c only listens on IPv4 interfaces. On my system, it "works" because libc (getaddrinfo) then goes to DNS, and my DNS server has an entry for localhost. If C programs work on the machine, it may be because they use gethostbyname, not getaddrinfo. Closing as "works for me". File Added: g.c |
|||
msg30694 - (view) | Author: Martin v. Löwis (loewis) * | Date: 2006-12-18 10:12 | |
File Added: c.py |
History | |||
---|---|---|---|
Date | User | Action | Args |
2022-04-11 14:56:21 | admin | set | github: 44282 |
2006-11-27 05:43:39 | esr | create |