nextcloud / nextcloud/calendar

Importing some ICS files from Horde can crash the calendar app and make it very difficult to recover

Open
#642 13 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

2. developing bug feature: caldav Feature: Importing performance 🚀
Dominant language
JavaScript
Stars
1.2k
Forks
332
Avg merge
16h 13m
Merged PRs (30d)
137

Description

Nextcloud 12.0.3
Calendar 1.5.6

Steps to reproduce
  1. Create Calendar in Horde with repeating events etc. (dunno exactly what kind of data triggers the bug, but not all, since one export was sucessful
  2. Export ICS file from Horde
  3. Import ICS file into Calendar on Nextcloud
Expected behaviour

File should get imported

Actual behaviour

I see a blue bar moving in a white box. After about 25 seconds the box disappear without the blue bar having finished. Then the circle next to the calendar starts to turn. The load from the web page increases and I can't click on anything. After some time the browser will tell me the site has crashed (Chromium) or the site takes too long and if I want to cut it off (Firefox). If I try to get to the calendar, it will show the same behavior every time. Working with the calendar is not possible. If the calendar is shared, other users that see the calendar will not be able to use the calendar plugin as well.

I can only delete the calendar from the tasks tab.

After deleting that calendar from the tasks tab, I can successfully see and calendar again. But when I try to set a new appointment, I can only do that for the whole day. Any appointment in any calendar will fail to be created, if I enter a time.

Server configuration
General server configuration

Operating system: Linux 2.6.32-696.13.2.el6.x86_64 #1 SMP Thu Oct 5 21:22:16 UTC 2017 x86_64

Web server: Apache (cgi-fcgi)

Database: mysql 5.6.38

PHP version: 7.1.10

PHP-modules loaded
 - Core
 - date
 - libxml
 - openssl
 - pcre
 - zlib
 - bcmath
 - bz2
 - calendar
 - ctype
 - dom
 - hash
 - fileinfo
 - filter
 - ftp
 - gettext
 - SPL
 - iconv
 - json
 - mbstring
 - session
 - standard
 - posix
 - readline
 - Reflection
 - Phar
 - shmop
 - SimpleXML
 - soap
 - sockets
 - exif
 - sysvmsg
 - sysvsem
 - sysvshm
 - tokenizer
 - wddx
 - xml
 - xmlreader
 - xmlwriter
 - zip
 - mysqlnd
 - cgi-fcgi
 - curl
 - gd
 - imap
 - mcrypt
 - mysqli
 - PDO
 - pdo_mysql
 - PDO_ODBC
 - xsl
 - sqlite3
 - pdo_sqlite
 - gmp
 - pcntl
 - intl
 - ionCube Loader
 - Zend OPcache
Nextcloud configuration

Nextcloud version: 12.0.3 - 12.0.3.3

Updated from an older Nextcloud/ownCloud or fresh install: freshh install

Where did you install Nextcloud from: Nextcloud homepage zipfile

Are you using external storage, if yes which one: files_external is disabled

Are you using encryption: no

Are you using an external user-backend, if yes which one: no
(LDAP/ActiveDirectory/Webdav/...)

Signing status
{
    "core": {
        "EXTRA_FILE": {
            "nextcloud-12.0.3.zip": {
                "expected": "",
                "current": "f13f0810b1755abdcac8c72e69417baeebd759943afb6743530a136b440ac9bebded8dae282450056c0613f5982b15f41aefba3b766ebb5eaea3d3a0e82710cc"
            }
        }
    }
}
Enabled apps
 - activity: 2.5.2
 - bruteforcesettings: 1.0.2
 - calendar: 1.5.6
 - comments: 1.2.0
 - dav: 1.3.0
 - federatedfilesharing: 1.2.0
 - federation: 1.2.0
 - files: 1.7.2
 - files_pdfviewer: 1.1.1
 - files_sharing: 1.4.0
 - files_texteditor: 2.4.1
 - files_trashbin: 1.2.0
 - files_versions: 1.5.0
 - files_videoplayer: 1.1.0
 - firstrunwizard: 2.1
 - gallery: 17.0.0
 - issuetemplate: 0.2.2
 - logreader: 2.0.0
 - lookup_server_connector: 1.0.0
 - nextcloud_announcements: 1.1
 - notifications: 2.0.0
 - oauth2: 1.0.5
 - password_policy: 1.2.2
 - provisioning_api: 1.2.0
 - serverinfo: 1.2.0
 - sharebymail: 1.2.0
 - survey_client: 1.0.0
 - systemtags: 1.2.0
 - tasks: 0.9.5
 - theming: 1.3.0
 - twofactor_backupcodes: 1.1.1
 - updatenotification: 1.2.0
 - workflowengine: 1.2.0
Disabled apps
 - admin_audit
 - encryption
 - files_external
 - user_external
 - user_ldap
Content of config/config.php
{
    "instanceid": "ocpreow41n59",
    "passwordsalt": "***REMOVED SENSITIVE VALUE***",
    "secret": "***REMOVED SENSITIVE VALUE***",
    "trusted_domains": [
        "xxx.xx"
    ],
    "datadirectory": "\/var\/www\/vhosts\/hostingxxx/data",
    "overwrite.cli.url": "https:\/\/xxx.xx",
    "dbtype": "mysql",
    "version": "12.0.3.3",
    "dbname": "xxx",
    "dbhost": "xxxxxxxxxx",
    "dbport": "",
    "dbtableprefix": "oc_",
    "dbuser": "***REMOVED SENSITIVE VALUE***",
    "dbpassword": "***REMOVED SENSITIVE VALUE***",
    "installed": true,
    "mail_smtpmode": "smtp",
    "mail_smtpauthtype": "LOGIN"
}
Client configuration

Browser: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36

Operating system: Linux


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No source file or test is named in the report. Start by reproducing the failure with a Horde-exported ICS file and inspect the calendar import path; done means the file imports without freezing the app, and timed appointments can still be created afterward.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
full-stack
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.