AssertionError: 96 in TimeUtils.monthLength
Closed this issue · 2 comments
M66B commented
java.lang.AssertionError: 96
at biweekly.util.com.google.ical.util.TimeUtils.monthLength(SourceFile:1)
at biweekly.util.com.google.ical.iter.Generators$16.generateDates(SourceFile:1)
at biweekly.util.com.google.ical.iter.Generators$16.<init>(SourceFile:5)
at biweekly.util.com.google.ical.iter.Generators.byDayGenerator(SourceFile:2)
at biweekly.util.com.google.ical.iter.RecurrenceIteratorFactory.createRecurrenceIterator(SourceFile:50)
at biweekly.io.ICalTimeZone.createIterator(SourceFile:8)
at biweekly.io.ICalTimeZone.getObservanceDateClosestToTheGivenDate(SourceFile:5)
at biweekly.io.ICalTimeZone.getObservanceBoundary(SourceFile:16)
at biweekly.io.ICalTimeZone.getObservanceBoundary(SourceFile:8)
at biweekly.io.ICalTimeZone.getObservance(SourceFile:1)
at biweekly.io.ICalTimeZone.calculateRawOffset(SourceFile:1)
at biweekly.io.ICalTimeZone.<init>(SourceFile:8)
at biweekly.io.StreamReader.handleTimezones(SourceFile:8)
at biweekly.io.StreamReader.readNext(SourceFile:5)
at biweekly.io.chain.ChainingParser.first(SourceFile:6)
at biweekly.io.chain.ChainingTextParser.first(Unknown Source:0)
I have asked the user for the calendar file, and if it is provided, I will add it here.
mangstadt commented
It looks like the user is parsing an iCalendar file that contains a malformed timezone definition.
It's trying to parse a month value of "96", but it's throwing an exception because months must be between 1 and 12.
This invalid month value is probably located inside of an RRULE property that is inside of a VTIMEZONE component.
M66B commented
The user confirmed that the calendar file was corrupt in the meantime. Unfortunately, I didn't receive the calendar file, but I think the presented analysis is spot on.