Thanks Max for reviewing it :)

On Fri, Jul 22, 2016 at 11:08 AM, Max Leske <[email protected]> wrote:

>
> On 22 Jul 2016, at 07:26, Ben Coman <[email protected]
> <[email protected]>> wrote:
>
>
>
> On Fri, Jul 22, 2016 at 4:42 AM, Mariano Martinez Peck <
> [email protected]> wrote:
>
>>
>>
>> On Sun, Jul 17, 2016 at 6:46 AM, Ben Coman <[email protected]> wrote:
>>
>>
>>> Do you have some test code or a test image I could run to reproduce
>>> the problem?
>>>
>>
>>
>> The problem is that I cannot reproduce it immediately. It takes me some
>> days and likely some image save and start again until I reproduce it.
>>
>
> Could you try
> How about something that invokes
>
>
>>
>>
>>>
>>> Now I have one thing for you to try.  In the move of DelaySchedulerXxx
>>> from milliseconds to microseconds, the code for dealing with clock
>>> wrap-around was removed, but I wonder if it was also covering clock
>>> jitter as a side effect.  Could you try again the SpinScheduler but
>>> restore this code...
>>>
>>> From handletTimerEvent...
>>>   "Check for clock wrap-around."
>>>   millisecondNowTick < activeDelayStartTime ifTrue: [
>>>     "clock wrapped"
>>>     self saveResumptionTimes.
>>>     self restoreResumptionTimes ].
>>>   activeDelayStartTime := millisecondNowTick.
>>>
>>> From runTimerEventLoop...
>>>   Time millisecondClockValue < millisecondNowTick
>>>     ifTrue:[ timingSemaphore signal ]. "retry"
>>>
>>> From startup...
>>>    activeDelayStartTime := Time millisecondClockValue.
>>>
>>>
>> OK, I put back the code into the spin scheduler. Then I kept using
>> milisecond one until I finished the changes. Then I saved image and switch
>> to spin one: the image hungs. I cannot even interrupt it. I attach my
>> modifications.
>> Do they look correct?
>>
>
> I confirm that locked my image also.
>
> One change of milli to micro was missed at the bottom of
> runTimeEventLoop...
> That is...
>    Time millisecondClockValue < microsecondNowTick
> to...
>    Time microsecondClockValue < microsecondNowTick
>
> (just a case of domestic blindness) [1]  :) :)
>
>
> And I reviewed your code and missed it…
>
>
> cheers -ben
>
> [1] http://www.urbandictionary.com/define.php?term=domestic%20blindness
>
> P.S. A trick to debug delays is to bypass interCycleDelay by at the top of
> it putting...
>     true ifTrue: [^self].
>
>
>
>


-- 
Mariano
http://marianopeck.wordpress.com

Reply via email to