[ python-Bugs-1562193 ] IDLE Hung up after open script by command line...

SourceForge.net noreply at sourceforge.net
Sat Dec 9 18:54:29 CET 2006


Bugs item #1562193, was opened at 2006-09-20 16:10
Message generated for change (Comment added) made by taleinat
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1562193&group_id=5470

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: IDLE
Group: Python 2.5
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Marek Nowicki (faramir2)
Assigned to: Kurt B. Kaiser (kbk)
Summary: IDLE Hung up after open script by command line...

Initial Comment:
Hello,

I wrote that code in python and saved as prx.py:
--- CUT ---
from BaseHTTPServer import HTTPServer, 
BaseHTTPRequestHandler
from time import strftime, gmtime
import urllib2
import thread
 from sys import stdout
class RequestHandler(BaseHTTPRequestHandler):
     def serve(self):
         print "%s %s %s\r\n%s" % (self.command, 
self.path,  
self.request_version, self.headers)
         header={}
         header["content-length"]=0
         for i in str(self.headers).split("\r\n"):
             j=i.split(":", 1)
             if len(j)==2:
                 header[j[0].strip().lower()] = 
j[1].strip()
         content=self.rfile.read(int(header["content-
length"]))
         print content
         url="http://faramir2.prv.pl"
         u=urllib2.urlopen(url)
         for i,j in u.info().items():
             print "%s: %s" % (i,j)
         self.server_version = "Apache"
         self.sys_version = ""
         self.send_response(200)
         self.send_header("Content-type", "text/html; 
charset=ISO-8859-2")
         self.send_header("Connectin", "close")
         self.end_headers()
     def do_POST(self): self.serve()
     def do_HEAD(self): self.serve()
     def do_GET(self): self.serve()
address = ("", 80)
server = HTTPServer(address, RequestHandler)
thread.start_new_thread(server.serve_forever, () )
--- CUT ---
 
When I right click on that file and select "Edit with 
IDLE" it opens. Then  
when I push F5 the script is running. *Python Shell* 
is restarting. But  
when I try to connect by browser to http://
localhost:80/ IDLE Hung-up. I  
don't see that hung ups when I open IDLE from shortcut 
and then in IDLE  
open file prx.py and run it works normally - good. 
IDLE does't hung up.
 
I don't know why it works like that, but I think that 
it's bug..
 
Python version: 2.5c2
Tk version: 8.4
IDLE version: 1.2c2
OS Version: Microsoft Windows XP Professional with SP2

---
Again:
* Freeze:
> 
"C:\Python25\pythonw.exe" "C:\Python25\Lib\idlelib\idle.pyw"
 -n -e "prx.py"
// then F5 on IDLE
// when run open Browser and try to open page: http://
localhost:80
// IDLE freezes

* Works ok:
> 
"C:\Python25\pythonw.exe" "C:\Python25\Lib\idlelib\idle.pyw"
 -e
// open prx.py in IDLE
// press F5 on IDLE
// run Browwser and try to open page: http://
localhost:80
// all works ok
---

regards,
Marek

----------------------------------------------------------------------

Comment By: Tal Einat (taleinat)
Date: 2006-12-09 19:54

Message:
Logged In: YES 
user_id=1330769
Originator: NO

Well, the issue obviously only happens when IDLE is running without a
subprocess.

The code you pasted is unindtented so I'm not going to try it out...

My guess would be that your server is blocking in a way that it blocks all
threads. This is why, when it is run in the same process as IDLE's GUI,
IDLE hangs. However, when you run IDLE with a subprocess, it's the
subprocess which is blocked, so IDLE works normally. (this is what the
subprocess is there for :)

In any case, IDLE is behaving just fine here. This isn't a bug in IDLE.


This could be a bug with the thread module, or a bug in BaseHTTPServer, or
several other places. But it is most likely caused by some misunderstanding
on your part of blocking operations, threads, and the interaction between
them.

You should have tried posting this on c.l.py before posting a bug on SF,
and I suggest you do so now.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1562193&group_id=5470


More information about the Python-bugs-list mailing list