Re: Using time.sleep() in 2 threads causes lockup when hyper-threading is enabled

2006-05-08 Thread OlafMeding
Tim > I did this under a debug build of Python Perhaps this is the reason why you were not able to reproduce the problem. Could you try again with a standard build of Python? I am a bit surprised that nobody else has tried running the short Python program above on a hyper-threading or dual core

Re: Using time.sleep() in 2 threads causes lockup when hyper-threading is enabled

2006-05-05 Thread Grant Edwards
On 2006-05-05, Marc 'BlackJack' Rintsch <[EMAIL PROTECTED]> wrote: > In <[EMAIL PROTECTED]>, OlafMeding > wrote: > >>> IIRC it was something like an NTP daemon that caused the clock >>> to "jump" a little and (Window's) sleep was confused. >> >> The problem is not a "jump" but a permanet lockup of

Re: Using time.sleep() in 2 threads causes lockup when hyper-threading is enabled

2006-05-05 Thread Marc 'BlackJack' Rintsch
In <[EMAIL PROTECTED]>, OlafMeding wrote: >> IIRC it was something like an NTP daemon that caused the clock to >> "jump" a little and (Window's) sleep was confused. > > The problem is not a "jump" but a permanet lockup of the sleep statement. The "jump" of the system clock might confuse the syst

Re: Using time.sleep() in 2 threads causes lockup when hyper-threading is enabled

2006-05-04 Thread Tim Peters
[Tim Peters] >> I didn't run it for hours ;-) [EMAIL PROTECTED] > Please try. OK, I let the first test program run for over 24 hours by now. It never hung. Overnight, the box did go into sleep mode, but the test woke itself up after sleep mode ended, and the threads reported they were sleeping

Re: Using time.sleep() in 2 threads causes lockup when hyper-threading is enabled

2006-05-04 Thread OlafMeding
Marc > IIRC it was something like an NTP daemon that caused the clock to "jump" a > little and (Window's) sleep was confused. The problem is not a "jump" but a permanet lockup of the sleep statement. To all others, is there nobody out there that could run the test code at the beginning of this

Re: Using time.sleep() in 2 threads causes lockup when hyper-threading is enabled

2006-05-04 Thread Marc 'BlackJack' Rintsch
In <[EMAIL PROTECTED]>, Grant Edwards wrote: > On 2006-05-04, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: >> The sleep statement does not return! > > Never, or does it just take a long time? > >> And this should not happen. > > Dude, it's MS Windows. > > It does all _sorts_ of stuff that it s

Re: Using time.sleep() in 2 threads causes lockup when hyper-threading is enabled

2006-05-03 Thread OlafMeding
Grant > Having sleep() take orders of magnitude longer than it should I seen a few times where sleep returns after some seconds or even after tens of seconds (my code above check for that). But most of the time it gets stuck forever. Olaf -- http://mail.python.org/mailman/listinfo/python-list

Re: Using time.sleep() in 2 threads causes lockup when hyper-threading is enabled

2006-05-03 Thread Grant Edwards
On 2006-05-04, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > Please try. > > The sleep statement does not return! Never, or does it just take a long time? > And this should not happen. Dude, it's MS Windows. It does all _sorts_ of stuff that it shouldn't. Having sleep() take orders of magnit

Re: Using time.sleep() in 2 threads causes lockup when hyper-threading is enabled

2006-05-03 Thread OlafMeding
Tim > I didn't run it for hours ;-) Please try. The sleep statement does not return! And this should not happen. The code above does nothing special or unusual. The problem only occurs if 2 threads use the sleep statement and hyper-threading is enabled. We discovered this bug perhaps a year

Re: Using time.sleep() in 2 threads causes lockup when hyper-threading is enabled

2006-05-03 Thread Tim Peters
>> What do you mean "stop responding"? [EMAIL PROTECTED] > Both threads print their thread numbers (either 1 or 2) approximately > every 10 seconds. However, after a while (minutes to hours) both > programs (see above) hang! Where "hang" means they stop printing. > Pressing ctrl-c (after the pr

Re: Using time.sleep() in 2 threads causes lockup when hyper-threading is enabled

2006-05-03 Thread OlafMeding
Serge > I got bored and tried to stop it with ctrl-c ... Yes, you have to use the ctrl-break key to stop the first program. And neither program every hangs on a single core CPU. It also does not hang on a hyper-threading CPU if hyper-threading is turned off in the BIOS. Olaf -- http://mail.p

Re: Using time.sleep() in 2 threads causes lockup when hyper-threading is enabled

2006-05-03 Thread Serge Orlov
[EMAIL PROTECTED] wrote: > > What do you mean "stop responding"? > > Both threads print their thread numbers (either 1 or 2) approximately > every 10 seconds. However, after a while (minutes to hours) both > programs (see above) hang! > > Pressing ctrl-c (after the printing stops) causes the thre

Re: Using time.sleep() in 2 threads causes lockup when hyper-threading is enabled

2006-05-03 Thread OlafMeding
Tim > Do you want someone running this test to hit the ENTER key, or not? The purpose of the "sys.stdin.read(1)" statement is simply to prevent the main thread from exiting and thus ending the test. And yes, I also get an exception when I press the enter key. Olaf -- http://mail.python.org/ma

Re: Using time.sleep() in 2 threads causes lockup when hyper-threading is enabled

2006-05-03 Thread OlafMeding
Time >>> 1 2 1 2 1 2 1 2 1 1 2 1 2 1 2 1 2 1 2 1 1 2 1 2 1 2 1 2 1 2 1 1 2 1 2 1 2 1 2 1 1 2 1 2 1 2 1 2 1 2 1 1 2 1 2 1 2 1 2 1 2 1 1 2 1 2 1 2 1 2 1 >>> This is exactly what you should see. The problem I see is that after a while (minutes to hours) the printing of 1s and 2s stops! If you pres

Re: Using time.sleep() in 2 threads causes lockup when hyper-threading is enabled

2006-05-03 Thread OlafMeding
> What do you mean "stop responding"? Both threads print their thread numbers (either 1 or 2) approximately every 10 seconds. However, after a while (minutes to hours) both programs (see above) hang! Pressing ctrl-c (after the printing stops) causes the threads to "wake up" from their sleep stat

Re: Using time.sleep() in 2 threads causes lockup when hyper-threading is enabled

2006-05-03 Thread Tim Peters
[EMAIL PROTECTED] > Below are 2 files that isolate the problem. Note, both programs hang > (stop responding) What does "stop responding" mean? > with hyper-threading turned on (a BIOS setting), but > work as expected with hyper-threading turned off. > > Note, the Windows task manager shows 2 CPU

Re: Using time.sleep() in 2 threads causes lockup when hyper-threading is enabled

2006-05-03 Thread Serge Orlov
[EMAIL PROTECTED] wrote: > Below are 2 files that isolate the problem. Note, both programs hang > (stop responding) with hyper-threading turned on (a BIOS setting), but > work as expected with hyper-threading turned off. What do you mean "stop responding"? Not responding when you press ctrl-c? Th

Using time.sleep() in 2 threads causes lockup when hyper-threading is enabled

2006-05-03 Thread OlafMeding
Below are 2 files that isolate the problem. Note, both programs hang (stop responding) with hyper-threading turned on (a BIOS setting), but work as expected with hyper-threading turned off. Note, the Windows task manager shows 2 CPUs on the Performance tab with hyper-threading is turned on. Both