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年04月25日 13:02 by cydefect, last changed 2022年04月11日 14:56 by admin. This issue is now closed.
| Messages (2) | |||
|---|---|---|---|
| msg28339 - (view) | Author: CyDefect (cydefect) | Date: 2006年04月25日 13:02 | |
A socket's sendto method can be tricked into a SystemError exception. This happens with: Linux special 2.4.29 #19 Thu Jan 27 20:51:25 CET 2005 i686 unknown and Python 2.4.2 (#2, Dec 27 2005, 11:06:14) but: Linux vesuv6 2.4.20-4GB #1 Mon Mar 17 17:54:44 UTC 2003 i686 unknown unknown GNU/Linux Python 2.3.3 (#1, Jun 29 2004, 14:43:40) [GCC 3.3 20030226 (prerelease) (SuSE Linux)] on linux2 Type "help", "copyright", "credits" or "license" for more information. shows the same behaviour. These 4 lines demonstrate the failure: import socket s = socket.socket( socket.PF_PACKET, socket.SOCK_RAW, socket.htons( 0x0003 ) ) s.sendto( "abc", 0, range( 6 ) ) yields: Traceback (most recent call last): File "serr.py", line 7, in ? s.sendto( "abc", 0, range( 6 ) ) SystemError: new style getargs format but argument is not a tuple HTH, Gerald |
|||
| msg28340 - (view) | Author: Thomas Wouters (twouters) * (Python committer) | Date: 2006年04月25日 15:08 | |
Logged In: YES user_id=34209 Well, 'tricked' is a bit of a big word; it just means you passed the wrong type of address; AF_PACKET expects a tuple (of string+int or int+int+string), and not a list. It didn't have any ill effects (other than confusing the programmer.) I fixed the errormessage for AF_PACKET (and AF_INET6, which was also missing) in trunk revision 45714 (so it'll be in 2.5 alpha 2.) Thanks! |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:56:17 | admin | set | github: 43274 |
| 2006年04月25日 13:02:37 | cydefect | create | |