Then it must be that waiting on the delay never ends, which is probably a 
problem all by itself.

> On 12 Nov 2015, at 18:39, Marcus Denker <marcus.den...@inria.fr> wrote:
> 
> The fun thing is that I now get the same problem when integrating the GT 
> Tools update.
> 
> After doing the update for issue 16957, the test run hangs with
> 
> starting testcase: BlockClosureTest>>testBenchFor ... 
> 
> 
>> On 11 Nov 2015, at 22:42, Martin Dias <tinchod...@gmail.com> wrote:
>> 
>> Hello,
>> 
>> I'm trying to understand why this method hangs in certain conditions*. What 
>> happens is that the #whileTrue: in the following method is never cut. 
>> 
>> benchFor: duration
>>      "Run me for duration and return a BenchmarkResult"
>>      
>>      "[ 100 factorial ] benchFor: 2 seconds"
>>      
>>      | count run started |
>>      count := 0.
>>      run := true.
>>      [ duration wait. run := false ] forkAt: Processor timingPriority - 1.
>>      started := Time millisecondClockValue.
>>      [ run ] whileTrue: [ self value. count := count + 1 ].
>>      ^ BenchmarkResult new 
>>              iterations: count; 
>>              elapsedTime: (Time millisecondsSince: started) milliSeconds; 
>>              yourself
>> 
>> Strangely, I verified with several #logCr that the forked block starts, but 
>> the #wait never ends. 
>> ---> Maybe you see something I don't in the code. Any clue? 
>> 
>> I will continue trying to isolate the problem, but maybe you have some idea.
>> 
>> * the conditions to reproduce are:
>> 1) curl get.pharo.org/50+vm | bash
>> 2) ./pharo Pharo.image get Epicea 6.5
>> 3) ./pharo Pharo.image test '^(?!Metacello)[A-L].*'
>> 
>> Notes: 
>> - It doesn't hang when running from UI
>> - it doesn't hang when running less tests, like: 
>>   pharo Pharo.image test '^(?!Metacello)[E-L].*'
>> - it *does* hang even when removing all Epicea tests
>> - Epicea doesn't extend or override "kernel" behavior... 
>> 
>> Regards,
>> Martin
> 


Reply via email to