Mailing List Archive

ERROR:Hit rrule expansion limit of 5000
Hello everyone,

I'm running Davical 1.1.9.3, with awl 0.61 on Debian 10.

Since yesterday I get this error a lot of times in the apache/PHP error
log :

    ERROR:Hit rrule expansion limit of 5000 - increase
rrule_expansion_limit in config to avoid events missing from freebusy

I guess the first error is caused by a buggy event somewhere... doubling
the config to 10000 fixes it but of course that's not the approach I
favor... I'd rather find the faulty event.

Is there a way to identify what's causing it ?

Same for this error (got it only once) :

    ERROR:Could not recognize timezone "W. Europe Standard Time" - will
use floating time

Having eg an eventid would allow to identify the event and supress it.

Inputs welcome.

Charles

--
Charles Bueche <cblists@bueche.ch>



_______________________________________________
Davical-general mailing list
Davical-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/davical-general
Re: ERROR:Hit rrule expansion limit of 5000 [ In reply to ]
Hi Charles,

On Mon, 2021-01-11 at 08:40 +0100, Charles Bueche wrote:
> Hello everyone,
>
> I'm running Davical 1.1.9.3, with awl 0.61 on Debian 10.
>
> Since yesterday I get this error a lot of times in the apache/PHP
> error
> log :
>
>      ERROR:Hit rrule expansion limit of 5000 - increase
> rrule_expansion_limit in config to avoid events missing from freebusy
>
> I guess the first error is caused by a buggy event somewhere...
> doubling
> the config to 10000 fixes it but of course that's not the approach I
> favor... I'd rather find the faulty event.
>
> Is there a way to identify what's causing it ?

Ah, yeah, having a bit more information here would be useful. I've just
committed this change, you can try making the change locally:

https://gitlab.com/davical-project/davical/-/commit/ccedbd1be96df3d2f5b9cfbbc48f8211a0b6cb2b

> Same for this error (got it only once) :
>
>      ERROR:Could not recognize timezone "W. Europe Standard Time" -
> will
> use floating time
>
> Having eg an eventid would allow to identify the event and supress
> it.

I've looked into adding similar logging for this scenario, but that is
a lot harder. In the past I've resorted to searching for the record in
the database. For example:

select * from caldav_data
where caldav_data like '%W. Europe Standard Time%';

We get this a lot on our DAViCal installation at work. And, uh, I just
discovered that DAViCal already has support for timezone aliases using
the tz_aliases table. I was about to suggest a feature to support
timezone aliases - I'm glad I checked first!

If you want to use tz_aliases, then find the value of our_tzno in the
timezones table for the correct timezone, then run:

insert into tz_aliases
 values (the_tzno_found, 'W. Europe Standard Time');

Cheers,
Andrew

--
Andrew Ruthven, Wellington, New Zealand
andrew@etc.gen.nz |
Catalyst Cloud: | This space intentionally left blank
https://catalystcloud.nz |




_______________________________________________
Davical-general mailing list
Davical-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/davical-general
Re: ERROR:Hit rrule expansion limit of 5000 [ In reply to ]
Thanks Andrew for the tips,

- I patched RRule.php.

- I found many events using your query "select * from caldav_data where
caldav_data like '%W. Europe Standard Time%';". Interestingly, my wife
Windows PC is the source of those events, whe uses emClient to talk to
my davical server. There is nothing bad in those events, they just use a
timezone definition that was not in the standard. Adding a
"timezone_translations" fixed the warnings.

Thanks all for the support and the product !
Regards,
Charles

On 06.02.21 08:47, Andrew Ruthven wrote:
> Hi Charles,
>
> On Mon, 2021-01-11 at 08:40 +0100, Charles Bueche wrote:
>> Hello everyone,
>>
>> I'm running Davical 1.1.9.3, with awl 0.61 on Debian 10.
>>
>> Since yesterday I get this error a lot of times in the apache/PHP
>> error
>> log :
>>
>>      ERROR:Hit rrule expansion limit of 5000 - increase
>> rrule_expansion_limit in config to avoid events missing from freebusy
>>
>> I guess the first error is caused by a buggy event somewhere...
>> doubling
>> the config to 10000 fixes it but of course that's not the approach I
>> favor... I'd rather find the faulty event.
>>
>> Is there a way to identify what's causing it ?
> Ah, yeah, having a bit more information here would be useful. I've just
> committed this change, you can try making the change locally:
>
> https://gitlab.com/davical-project/davical/-/commit/ccedbd1be96df3d2f5b9cfbbc48f8211a0b6cb2b
>
>> Same for this error (got it only once) :
>>
>>      ERROR:Could not recognize timezone "W. Europe Standard Time" -
>> will
>> use floating time
>>
>> Having eg an eventid would allow to identify the event and supress
>> it.
> I've looked into adding similar logging for this scenario, but that is
> a lot harder. In the past I've resorted to searching for the record in
> the database. For example:
>
> select * from caldav_data
> where caldav_data like '%W. Europe Standard Time%';
>
> We get this a lot on our DAViCal installation at work. And, uh, I just
> discovered that DAViCal already has support for timezone aliases using
> the tz_aliases table. I was about to suggest a feature to support
> timezone aliases - I'm glad I checked first!
>
> If you want to use tz_aliases, then find the value of our_tzno in the
> timezones table for the correct timezone, then run:
>
> insert into tz_aliases
>  values (the_tzno_found, 'W. Europe Standard Time');
>
> Cheers,
> Andrew
>
> --
> Andrew Ruthven, Wellington, New Zealand
> andrew@etc.gen.nz |
> Catalyst Cloud: | This space intentionally left blank
> https://catalystcloud.nz |
>
>
>
>
> _______________________________________________
> Davical-general mailing list
> Davical-general@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/davical-general

--
Charles Bueche <cblists@bueche.ch>



_______________________________________________
Davical-general mailing list
Davical-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/davical-general
Re: ERROR:Hit rrule expansion limit of 5000 [ In reply to ]
We seem to have at least 3 places to put in timezone extensions:

- Patch RRule.php as done by Charles
- In AWLUtilities.php there are a few special cases defined by case
statements in olson_from_tzstring()
- tz_aliases table as discovered by Andrew

Are all three of these methods equivalent? If so, I would rather
recommend to people that they add entries to the tz_aliases table rather
than patch the code so that they don’t collide with other changes to
those files. If the tz_aliases table is the best approach, perhaps we
should have an administrative utility to add a timezone alias to the
database locally.

I have several that I’d like to add myself, so I’m trying to figure
out the best way to do that. (See AWL issue #219)

-Jim

On 15 Feb 2021, at 11:42, Charles Bueche wrote:

> Thanks Andrew for the tips,
>
> - I patched RRule.php.
>
> - I found many events using your query "select * from caldav_data
> where caldav_data like '%W. Europe Standard Time%';". Interestingly,
> my wife Windows PC is the source of those events, whe uses emClient to
> talk to my davical server. There is nothing bad in those events, they
> just use a timezone definition that was not in the standard. Adding a
> "timezone_translations" fixed the warnings.
>
> Thanks all for the support and the product !
> Regards,
> Charles
>
> On 06.02.21 08:47, Andrew Ruthven wrote:
>> Hi Charles,
>>
>> On Mon, 2021-01-11 at 08:40 +0100, Charles Bueche wrote:
>>> Hello everyone,
>>>
>>> I'm running Davical 1.1.9.3, with awl 0.61 on Debian 10.
>>>
>>> Since yesterday I get this error a lot of times in the apache/PHP
>>> error
>>> log :
>>>
>>>      ERROR:Hit rrule expansion limit of 5000 - increase
>>> rrule_expansion_limit in config to avoid events missing from
>>> freebusy
>>>
>>> I guess the first error is caused by a buggy event somewhere...
>>> doubling
>>> the config to 10000 fixes it but of course that's not the approach I
>>> favor... I'd rather find the faulty event.
>>>
>>> Is there a way to identify what's causing it ?
>> Ah, yeah, having a bit more information here would be useful. I've
>> just
>> committed this change, you can try making the change locally:
>>
>> https://gitlab.com/davical-project/davical/-/commit/ccedbd1be96df3d2f5b9cfbbc48f8211a0b6cb2b
>>
>>> Same for this error (got it only once) :
>>>
>>>      ERROR:Could not recognize timezone "W. Europe Standard
>>> Time" -
>>> will
>>> use floating time
>>>
>>> Having eg an eventid would allow to identify the event and supress
>>> it.
>> I've looked into adding similar logging for this scenario, but that
>> is
>> a lot harder. In the past I've resorted to searching for the record
>> in
>> the database. For example:
>>
>> select * from caldav_data
>> where caldav_data like '%W. Europe Standard Time%';
>>
>> We get this a lot on our DAViCal installation at work. And, uh, I
>> just
>> discovered that DAViCal already has support for timezone aliases
>> using
>> the tz_aliases table. I was about to suggest a feature to support
>> timezone aliases - I'm glad I checked first!
>>
>> If you want to use tz_aliases, then find the value of our_tzno in the
>> timezones table for the correct timezone, then run:
>>
>> insert into tz_aliases
>>  values (the_tzno_found, 'W. Europe Standard Time');
>>
>> Cheers,
>> Andrew
>>
>> --
>> Andrew Ruthven, Wellington, New Zealand
>> andrew@etc.gen.nz |
>> Catalyst Cloud: | This space intentionally left blank
>> https://catalystcloud.nz |
>>
>>
>>
>>
>> _______________________________________________
>> Davical-general mailing list
>> Davical-general@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/davical-general
>
> --
> Charles Bueche <cblists@bueche.ch>
>
>
>
> _______________________________________________
> Davical-general mailing list
> Davical-general@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/davical-general
Re: ERROR:Hit rrule expansion limit of 5000 [ In reply to ]
Hey,

On Tue, 2021-02-16 at 15:46 -0800, Jim Fenton wrote:
> We seem to have at least 3 places to put in timezone extensions:
> * Patch RRule.php as done by Charles

Just to clarify, the patch here was to log information about the event
that had the non-recognized timezone, but to modify the timezone.

This change is present in the master branch.

> * In AWLUtilities.php there are a few special cases defined by case
> statements in olson_from_tzstring()
> * tz_aliases table as discovered by Andrew
> Are all three of these methods equivalent? If so, I would rather
> recommend to people that they add entries to the tz_aliases table
> rather than patch the code so that they don’t collide with other
> changes to those files. If the tz_aliases table is the best approach,
> perhaps we should have an administrative utility to add a timezone
> alias to the database locally.
> I have several that I’d like to add myself, so I’m trying to figure
> out the best way to do that. (See AWL issue #219)
Oh, I didn't know about he AWLUtilities.php code. I feel it would be
better to remove that logic, and add some default values to the
tz_aliases table.

Having an administrative utility, or interface in the web management
seems like a much better idea than requiring the use of SQL.  (However,
I often use SQL as my API for many things I run... We used to have a
board at work "Days since we had to use SQL as our API: xx")

Cheers,
Andrew
--
Andrew Ruthven, Wellington, New Zealand
andrew@etc.gen.nz        | linux.conf.au 2020, Gold Coast, AU
https://catalystcloud.nz |   https://lca2020.linux.org.au
Re: ERROR:Hit rrule expansion limit of 5000 [ In reply to ]
On 16 Feb 2021, at 18:07, Andrew Ruthven wrote:

> Hey,
>
> On Tue, 2021-02-16 at 15:46 -0800, Jim Fenton wrote:
>> We seem to have at least 3 places to put in timezone extensions:
>> * Patch RRule.php as done by Charles
>
> Just to clarify, the patch here was to log information about the event
> that had the non-recognized timezone, but to modify the timezone.
>
> This change is present in the master branch.

My mistake: I confused the two issues that you and Charles were
discussing. Rather than the patch to RRule.php, I meant adding
translations to config.php via the timezone_translations array as
described in other-config.php and Configuration/settings/timezone
translations on the wiki. This appears to be referenced by the
olson_from_tzstring() function as a fallback from the hardcoded
translations there (and is therefore equivalent to that).

I’m still not clear that this does exactly the same thing as the
tz_aliases table, because they are referenced from different places in
the code and because it looks like Karora added both of those about the
same time. The comment in the wiki about the config option says, “Note
that the event itself would not be modified, so your client software
will still want to understand this timezone.” I wonder if that’s
also true if an entry is added to tz_aliases?

-Jim


_______________________________________________
Davical-general mailing list
Davical-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/davical-general