error: (10035, 'The socket operation...

D

Don Hanlen

IDLE internal error in runcode()
Traceback (most recent call last):
File "C:\PYTHON25\lib\idlelib\rpc.py", line 235, in asyncqueue
self.putmessage((seq, request))
File "C:\PYTHON25\lib\idlelib\rpc.py", line 332, in putmessage
n = self.sock.send(s[:BUFSIZE])
error: (10035, 'The socket operation could not complete without
blocking')

Does this look familiar to anyone? I can't figure out what to do
about it. Python 2.5, windoze. I get it when I execute a Tkinter op
that works elsewhere.

changing this:

t = self.b.create_text(
(point.baseX + 1)*self.checkerSize/2 + fudge,
y + fudge,
text = str(point.occupied),
width = self.checkerSize)

to

t = self.b.create_text(
(point.baseX + 1)*self.checkerSize/2 + fudge,
y + fudge,
text = str(point.occupied),
font=("Times", str(self.checkerSize/2), "bold"),
width = self.checkerSize)

for example. The same code works fine elsewhere. I thought I'd ask
here before I try (no clue) increasing BUFSIZE in rpc.py? I'm not
crazy about tinkering with code I have no clue about..
 
B

Benjamin Kaplan

oops, forgot to post this to the list. sorry.

IDLE internal error in runcode()
Traceback (most recent call last):
File "C:\PYTHON25\lib\idlelib\rpc.py", line 235, in asyncqueue
self.putmessage((seq, request))
File "C:\PYTHON25\lib\idlelib\rpc.py", line 332, in putmessage
n = self.sock.send(s[:BUFSIZE])
error: (10035, 'The socket operation could not complete without
blocking')

Does this look familiar to anyone? I can't figure out what to do
about it. Python 2.5, windoze. I get it when I execute a Tkinter op
that works elsewhere.

changing this:

t = self.b.create_text(
(point.baseX + 1)*self.checkerSize/2 + fudge,
y + fudge,
text = str(point.occupied),
width = self.checkerSize)

to

t = self.b.create_text(
(point.baseX + 1)*self.checkerSize/2 + fudge,
y + fudge,
text = str(point.occupied),
font=("Times", str(self.checkerSize/2), "bold"),
width = self.checkerSize)

for example. The same code works fine elsewhere. I thought I'd ask
here before I try (no clue) increasing BUFSIZE in rpc.py? I'm not
crazy about tinkering with code I have no clue about..

It might have something to do with the fact that IDLE uses Tkinter,
but, having never used it myself, I'm not sure.
 
G

Gabriel Genellina

IDLE internal error in runcode()
Traceback (most recent call last):
File "C:\PYTHON25\lib\idlelib\rpc.py", line 235, in asyncqueue
self.putmessage((seq, request))
File "C:\PYTHON25\lib\idlelib\rpc.py", line 332, in putmessage
n = self.sock.send(s[:BUFSIZE])
error: (10035, 'The socket operation could not complete without
blocking')

Does this look familiar to anyone? I can't figure out what to do
about it. Python 2.5, windoze. I get it when I execute a Tkinter op
that works elsewhere.
It might have something to do with the fact that IDLE uses Tkinter,
but, having never used it myself, I'm not sure.

I think IDLE doesn't work well with Tkinter apps, they compete for the main loop. But perhaps that's already been resolved in recent releases. Anyway this looks like a different problem, I'd file a bug at bugs.python.org
In the meantime, run your app from the command line instead of from inside IDLE.
 
B

bockman

IDLE internal error in runcode()
Traceback (most recent call last):
  File "C:\PYTHON25\lib\idlelib\rpc.py", line 235, in asyncqueue
    self.putmessage((seq, request))
  File "C:\PYTHON25\lib\idlelib\rpc.py", line 332, in putmessage
    n = self.sock.send(s[:BUFSIZE])
error: (10035, 'The socket operation could not complete without
blocking')

Does this look familiar to anyone?  I can't figure out what to do
about it.  Python 2.5, windoze.  I get it when I execute a Tkinter op
that works elsewhere.

changing this:

t = self.b.create_text(
    (point.baseX + 1)*self.checkerSize/2 + fudge,
    y + fudge,
    text = str(point.occupied),
    width = self.checkerSize)

to

t = self.b.create_text(
    (point.baseX + 1)*self.checkerSize/2 + fudge,
    y + fudge,
    text = str(point.occupied),
    font=("Times", str(self.checkerSize/2), "bold"),
    width = self.checkerSize)

for example.  The same code works fine elsewhere.  I thought I'd ask
here before I try (no clue) increasing BUFSIZE in rpc.py?  I'm not
crazy about tinkering with code I have no clue about..

The error is EWOULDBLOCK, which you get when you configure a socket
for asynchronous
I/O and then try an operation which cannot be completed immediately.
It is not an actual failure,
it is part of the asynch socket handling issues: it means that you
have to wait and try later.

AFAIK (almost nothing) the Tkinter application has two processes
(maybe the front-end and the interpreter)
which communicate through a socket. From the traceback, I world say
that the two processes communicate
using RPC protocol and the rpclib module, and that this in turns uses
the asyncqueue module, and one of them fails handling the EWOULDBLOCK
code.

I don't think that increasing BUFSIZE would solve the problem, since
you will try to send more bytes in a single
operation, and this would probably still result in an EWOULDBLOCK
return code.
Anyway, it looks like an IDLE problem, so if you can use another IDE
( Pythonwin? ), you could just ignore it,
maybe submit a bug report ?

Ciao
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
474,269
Messages
2,571,097
Members
48,773
Latest member
Kaybee

Latest Threads

Top