-
Notifications
You must be signed in to change notification settings - Fork 241
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Infinate loop while calculating occurance of event, causes browser to freeze #6544
Comments
Hi @Sergeij2000 Is there any errors in the nextcloud log? |
No, nothing which could me give a hint what is causing the freeze. I also checked the other logs for php, php-fpm, apache and mysql. |
Is there anything in the browser console log? |
These are the only entries in the browser console log if i select the files app, clear the console log and then switch over to the calendar app: session-heartbeat.js:83 session heartbeat polling started |
Okay, I have two more thing for you to try.
|
Okay, can you have a look at point # 2? |
I beg your pradon, but which property table do you mean? I thought you mean the properties pane of the browser tools, which is empty... |
There is a table in the database called "properties" it might be prefixed with "oc_", so it would be something like "oc_properties" |
Thanks for pointing out (i assumed you mean the database after your previous post). As i never accessed the db in nc yet, i need some "finger flexing", which may take some time. I'll report back as soon as i have results... cu/ Sergeij |
Hummm... Not much to go on here to figure out what the issue might be... No PHP errors, no browser errors I have one more thing to check in the database, |
Oh - thanks for the late answer (der Selbstständige arbeitet selbst und ständig). I will look into the db tomorrow and post results to you. I had another thought: As the difficulties occured after updating NC from 29.0.6 to 30.0.2, the problem might be related to a stale db entry left over from the update. So if you can give me a hint how to purge all old subscriptions, i would like to clean up the db and to start to subscribe to the calendars from scratch. May be this resolves everything. Nevertheless - thank you for your support! Sergeij |
Good morning Sebastian, using your hints regarding the names of the db-tables, i was able to look into oc_calendarobjects with the calendar id of the non working subscription. The calendar contains 3577 events. I deleted all calendar objects from the db and i was now able to switch to the calendar app, where i deleted the subscription. Then i created a new subscription for that calendar (which is hosted on a Hetzner account). It took some time until the subscription was visible in the calendar list - and then the browser was freezing again. Next step was, that a changed all recurring events so they have a defined end date in 2050 (i remembered that there was an issue with that), but without success. After deleting and re-subscribing the calendar the browser was freezing again. Next thing i will try is to reduce the number of events (in the moment the calendar goes back until year 2000) - maybe the problem is the sheer size of the calendar - i'll keep you informed... Thanks again for your support. Sergeij |
I think i was able to find something which might cause the problem: I gradually decreased the size of the calendar by exporting the ics from horde, manually deleting VEVENTs and re-importing the truncated file into horde. But each time i tried to import the calendar into the NC calendar app, the browser was freezing, even if there was only one VEVENT left in the calendar. When i was looking into the ics data delivered from horde, i recognized a strange VTIMEZONE entry, which apparently is created and inserted by horde (because my re-imported ics files didn't contain any VTIMEZONE data). When i looked into my other (working) subscriptions, i couldn't find any TIMEZONE entries - so my educated guess is, that the problem might be caused by these entries. The VTIMEZONE entry horde is inserting into the ics data looks like: --------- begin of pasted data ----------------------- The weird thing is, that this VTIMEZONE thing is not appended to the ics file, but appears somewhere between the VEVENT entries - and there is only one VTIMEZONE entry in the file. Maybe this information helps to locate the problem. BR Sergeij |
Hey, The timezone entries look fine to me, they are a normal thing in Calendar event, it just describes all the different time transitions from summer to winter time, over the years. Yes this could be a issue but it probably is not the case. Is the calendar you are subscribing to sensitive? Would you be willing to share the link, or send it to me privately? |
Do you want a direct link to the calendar or is an ics file dumped from the calendar server sufficient? |
Ok, I've created another account on my server; the calendar contains only one event. (plus the time zone data). If you give me a mail address i pm the link to you. I tried to subscribe to it from NC calendar and the browser was freezing a well. Regarding thr TZ data: I saw several entries with date from 1949 - may this is causing the hickup. |
Confirmed. The following event causes the UI event phrase to crash.
Not sure why yet. |
Time difference calculations can be pretty nasty: Unix time starts at January 1st, 1970 (ISO: 19700101); the first VMTIMEZONE entry starts at May 5th, 1916 (ISO: 19160501), so the difference gives a negative number! Just a thought... Sergeij |
Diagnosed. The failure seems to be in a upstream library. We hand of the iteration calculation to @Nextcloud/Calendar-JS in src/utils/calendarObject.js::getAllObjectsInTimeRange() on line 23. In @Nextcloud/Calendar-JS/componets/root/eventComponent.js::isInTimeFrame() we hand of the processing to iCal.js which ends up in a infinite loop |
Thanks Sebastian! I've changed the title for the issue as the problem seems to be horde specific... |
Steps to reproduce
Expected behavior
After a while the events of the new subscription should be shown.
Actual behaviour
New subscription is shown in the calendar list but the busy indicator is frozen and after a while the browser throws an error message. The problem started after upgrading NC from 29.0.6 to 30.0.2
Calendar app version
4.0.7
CalDAV-clients used
NC calendar
Browser
Chrome 131.0.6778.86 and Firefox 133.0-2
Client operating system
Windows 11 and Ubuntu 22.04.1 LTS
Server operating system
Ubuntu 22.04.1 LTS Server
Web server
None
Database engine version
MySQL
PHP engine version
PHP 8.2
Nextcloud version
30.0.2
Updated from an older installed version or fresh install
None
List of activated apps
Nextcloud configuration
Web server error log
Log file
Browser log
Additional info
The text was updated successfully, but these errors were encountered: