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.

classification
Title: SystemError in socket sendto
Type: Stage:
Components: Library (Lib) Versions: Python 2.4
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: twouters Nosy List: cydefect, twouters
Priority: normal Keywords:

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:17adminsetgithub: 43274
2006-04-25 13:02:37cydefectcreate