[dev] Infinite loops in Kronolith with certain recurring events.

Michael Rubinsky mrubinsk at horde.org
Sat Oct 18 20:42:55 UTC 2008


Quoting Michael Rubinsky <mrubinsk at horde.org>:

> Content-Type: text/plain;
> 	charset=ISO-8859-1;
> 	DelSp="Yes";
> 	format="flowed"
> Content-Disposition: inline
> Content-Transfer-Encoding: quoted-printable
>
>
> Ok. This was a royal PITA.  This is what I found regarding the  
> issues  I was having with kronolith going into an endless loop with  
> certain  recurring events. It boils down to that fact that   
> DateTime->format('W') returns the first week of the year for a date   
> like 12/29/2008 so that when calculating the after_week and   
> after_week_end values in nextRecurrnece() the after_week value is  
> set  to the first week of 2007. So the code chokes when calling   
> nextRecurrence() with an after date of 12/29/08. Example code   
> (basically code that is executed during nextRecurrence() and the   
> methods it calls):
>
> <code>
> $after = new Horde_Date(array('year' => 2008, 'month' => 12, 'day' => 29));
> $dt = new DateTime();
> $dt->setDate($after->year, $after->month, $after->mday);
> $dt->setTime($after->hour, $after->min, $after->sec);
>
> //$weekNumber gets set to '01'
> $weekNumber = $dt->format('W');
>
> $after_week = Horde_Date::firstDayOfWeek($weekNumber, $after->year);
>
> echo $after_week;
>
> </code>
>
> outputs 12/31/2007 instead of expected 12/29/08 (since that date IS   
> the start of the week).
>
> So, we need to check if the ->format('W') call rolls into the next   
> year before we calculate $after_week.  I'll keep at it....just glad  
> I  finally nailed what was going on after way too many hours of  
> digging :)
>


This should be fixed by:
http://lists.horde.org/archives/cvs/Week-of-Mon-20081013/084429.html

Would appreciate more sets of eyes looking at this, I tested locally,  
but want to make sure this will not cause any other problems that I'm  
not seeing.


Thanks,
mike

--
The Horde Project (www.horde.org)
mrubinsk at horde.org

"Time just hates me. That's why it made me an adult." - Josh Joplin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: PGP Digital Signature
URL: <http://lists.horde.org/archives/dev/attachments/20081018/f237319d/attachment.bin>


More information about the dev mailing list