[Mono-bugs] [Bug 76252][Min] Changed - Exception in HebrewCalendar Class func GetDaysInMonth()

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Mon Mar 20 02:04:53 EST 2006

Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by atsushi at ximian.com.


--- shadow/76252	2006-03-10 03:42:54.000000000 -0500
+++ shadow/76252.tmp.8648	2006-03-20 02:04:53.000000000 -0500
@@ -78,6 +78,44 @@
 I test another Calendar classes and run ok.
 Using a mono (sep 2005).
 ------- Additional Comments From atsushi at ximian.com  2006-03-10 03:42 -------
 Will have a look at this problem.
+------- Additional Comments From atsushi at ximian.com  2006-03-20 02:04 -------
+Shorthand repro code.
+using System;
+using System.Globalization;
+public class Test
+        public static void Main ()
+        {
+                HebrewCalendar c = new HebrewCalendar ();
+                int days = c.GetDaysInMonth (5765, 13, 1);
+                if (days != 29)
+                        throw new Exception ();
+        }
+The source of the problem I think is in CCHebrewCalendar class in
+CCHebrewCalendar.fixed_from_dmy() expects that for Hebrew month
+under 7 it needs to add days of from 8th month to 12th or 13th month.
+I think it could be either 7 or 8.
+However, if I rewrite this method as to do that, it causes infinite
+loop since last_day_of_month() internally calls long_heshvan() and
+short_kislev(). They both internally call days_in_year() which calls
+fixed_from_dmy() - and thus it causes infinite loop.
+As long as I wikipedia it, the formula to compute days in Kislev
+and Cheshvan (Heshvan) is pretty complex. It should not be like
+current code which determines the number of days in chicken-and-egg
+I'll post to devel-list to ask for some help since Hebrew rule is far
+beyond my understanding :(

More information about the mono-bugs mailing list