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 2008年07月04日 01:51 by giampaolo.rodola, last changed 2022年04月11日 14:56 by admin. This issue is now closed.
| Messages (7) | |||
|---|---|---|---|
| msg69236 - (view) | Author: Giampaolo Rodola' (giampaolo.rodola) * (Python committer) | Date: 2008年07月04日 01:51 | |
I've tried to run the code below on Windows XP and Linux Ubuntu and it works as expected. Here is the output: expt -> o read -> fo On FreeBSD 7.0 it raises the following exception: expt -> o read -> fo Exception in thread Thread-1: Traceback (most recent call last): File "/usr/local/lib/python2.5/threading.py", line 460, in __bootstrap self.run() File "/usr/local/lib/python2.5/threading.py", line 440, in run self.__target(*self.__args, **self.__kwargs) File "_test2.py", line 13, in server data = conn.recv(1024, socket.MSG_OOB) error: (22, 'Invalid argument') --- code --- import socket, select, threading, time, os def server(): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) s.bind(('', 1024)) s.listen(1) conn, addr = s.accept() conn.setblocking(0) while 1: r, w, e = select.select([conn], [conn], [conn], 0.01) if e: data = conn.recv(1024, socket.MSG_OOB) print "expt -> " + data if r: data = conn.recv(1024) print "read -> " + data threading.Thread(target=server).start() time.sleep(0.1) s = socket.socket() s.connect(('127.0.0.1', 1024)) s.sendall('foo', socket.MSG_OOB) --- /code --- |
|||
| msg69239 - (view) | Author: Giampaolo Rodola' (giampaolo.rodola) * (Python committer) | Date: 2008年07月04日 02:19 | |
This bug should be strictly related with issue 3278: http://bugs.python.org/issue3278 |
|||
| msg69244 - (view) | Author: Martin v. Löwis (loewis) * (Python committer) | Date: 2008年07月04日 05:48 | |
Why do you think this is a bug in Python, and not in FreeBSD? |
|||
| msg69262 - (view) | Author: Andrew Azarov (Ikinoki) | Date: 2008年07月04日 18:44 | |
tested: Python 2.5.2 (r252:60911, Jun 24 2008, 16:40:26) [GCC 4.2.1 20070719 [FreeBSD]] on freebsd7 FreeBSD tomcat 7.0-RELEASE FreeBSD 7.0-RELEASE #0: Sun Feb 24 19:59:52 UTC 2008 root@logan.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386 expt -> o read -> fo Exception in thread Thread-1: Traceback (most recent call last): File "/usr/local/lib/python2.5/threading.py", line 486, in __bootstrap_inner self.run() File "/usr/local/lib/python2.5/threading.py", line 446, in run self.__target(*self.__args, **self.__kwargs) File "test.py", line 13, in server data = conn.recv(1024, socket.MSG_OOB) error: (22, 'Invalid argument') and: Python 2.5 (r25:51908, Jun 25 2007, 16:00:15) [GCC 3.4.2 [FreeBSD] 20040728] on freebsd5 FreeBSD timcat 5.4-RELEASE FreeBSD 5.4-RELEASE #0: Sat Sep 9 03:32:05 MSD 2006 root@timcat:/usr/obj/usr/src/sys/SMP i386 expt -> o read -> fo Exception in thread Thread-1: Traceback (most recent call last): File "/usr/local/lib/python2.5/threading.py", line 460, in __bootstrap self.run() File "/usr/local/lib/python2.5/threading.py", line 440, in run self.__target(*self.__args, **self.__kwargs) File "test.py2", line 13, in server data = conn.recv(1024, socket.MSG_OOB) error: (22, 'Invalid argument') and: Python 2.4.3 (#1, Jun 23 2006, 10:54:52) [GCC 2.95.4 20020320 [FreeBSD]] on freebsd4 FreeBSD comanchee-girl 4.9-RELEASE-CMN-1.1 FreeBSD 4.9-RELEASE-CMN-1.1 #4: Mon Apr 26 02:11:27 MSD 2004 root@comanchee-girl:/usr/obj/usr/src/sys/CMN i386 expt -> o read -> fo Exception in thread Thread-1: Traceback (most recent call last): File "/usr/local/lib/python2.4/threading.py", line 442, in __bootstrap self.run() File "/usr/local/lib/python2.4/threading.py", line 422, in run self.__target(*self.__args, **self.__kwargs) File "test.py", line 13, in server data = conn.recv(1024, socket.MSG_OOB) error: (22, 'Invalid argument') All versions are stable and working in production. Except 7th version the servers are loaded (la 0.2 to 3) with http/mysql/mail daemons. Seems like a bug in python socket usage of freebsd for long time. |
|||
| msg69346 - (view) | Author: Josiah Carlson (josiahcarlson) * (Python triager) | Date: 2008年07月06日 18:17 | |
I agree with Martin. Why are you sure that this is a Python bug and not a FreeBSD bug? As per the documentation of OOB data, it's not supported by all operating systems or TCP/IP stacks. |
|||
| msg69348 - (view) | Author: Giampaolo Rodola' (giampaolo.rodola) * (Python committer) | Date: 2008年07月06日 18:28 | |
Sorry, the first reply of Martin slipped under my radar. In fact I wasn't sure whether this was related to Python or FreeBSD. I've filed this same report on the FreeBSD bug tracker: http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/125258 If you're sure this is not related to python please close it, otherwise we could wait for someone of the FreeBSD team to reply and confirm that it's FreeBSD related. |
|||
| msg69354 - (view) | Author: Gregory P. Smith (gregory.p.smith) * (Python committer) | Date: 2008年07月06日 19:39 | |
not a python issue. thanks for opening one with FreeBSD. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:56:36 | admin | set | github: 47527 |
| 2008年07月06日 19:39:14 | gregory.p.smith | set | status: open -> closed resolution: not a bug messages: + msg69354 |
| 2008年07月06日 18:28:35 | giampaolo.rodola | set | messages: + msg69348 |
| 2008年07月06日 18:17:37 | josiahcarlson | set | nosy:
+ josiahcarlson messages: + msg69346 |
| 2008年07月06日 17:13:40 | gregory.p.smith | set | priority: normal assignee: gregory.p.smith title: socket's OOB data management is broken on FreeBSD -> socket's OOB data management is broken on OS X and FreeBSD nosy: + gregory.p.smith |
| 2008年07月04日 18:44:24 | Ikinoki | set | nosy:
+ Ikinoki messages: + msg69262 |
| 2008年07月04日 05:48:08 | loewis | set | nosy:
+ loewis messages: + msg69244 |
| 2008年07月04日 02:19:21 | giampaolo.rodola | set | messages: + msg69239 |
| 2008年07月04日 01:56:43 | giampaolo.rodola | set | type: behavior components: + Library (Lib) |
| 2008年07月04日 01:51:19 | giampaolo.rodola | create | |