[Python-bugs-list] [Bug #121963] IDLE hangs on Threads

noreply@sourceforge.net noreply@sourceforge.net
Tue, 14 Nov 2000 09:13:06 -0800


Bug #121963, was updated on 2000-Nov-08 05:52
Here is a current snapshot of the bug.

Project: Python
Category: IDLE
Status: Open
Resolution: None
Bug Group: Platform-specific
Priority: 5
Summary: IDLE hangs on Threads

Details: everytime my python- program starts a thread under IDLE it crashes. i use Windows 2000 and Python 2.0

Follow-Ups:

Date: 2000-Nov-13 12:35
By: gvanrossum

Comment:
Please provide more detail. What code do you use to start a thread? Does that code run correctly when using the command line interpreter (python.exe)? What kind of message do you get from the crash?
-------------------------------------------------------

Date: 2000-Nov-13 15:11
By: tim_one

Comment:
Under Win98SE, I don't see a crash but a hang is very easy to provoke (the bug report is unclear about which is happening).  For example:

def f():
    for i in range(100): print "hi", i
import thread
thread.start_new_thread(f, ())

From within IDLE, this freezes solid after a "random" number of prints, and whether typed in directly or run from a file ("Run script" from IDLE Edit menu).  Have to kill the shell from the Task Manager.

A possibly different symptom can be provoked by typing

from test import test_thread

from the IDLE prompt.

I don't think this is anything new; I always figured that threads & IDLE don't mix, and never thought more about it.

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

Date: 2000-Nov-14 09:13
By: none

Comment:
sorry that my comment was not clear enough. my prog works when it's running under the command line interpreter. there's no error message, it just hangs. 
here's my code:

from threading import *

class MyThread(Thread):
   def __init__(self, aData):
       Thread.__init__(self)
       self.mData=Data

   def run(self):
       for i in range(10):
          print self.mData


if __name__=="__main__":
   aThread=MyThread("Test")
   bThread=MyThread("another")

   aThread.start()
   bThread.start()

   aThread.join()
   bThread.join()

   

that's it. we did this at school and my system is a Dual Pentium II with 2 x 400 Mhz and 256Mb.


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

For detailed info, follow this link:
http://sourceforge.net/bugs/?func=detailbug&bug_id=121963&group_id=5470