Calendar Import Fails

I'm running OC 9.1.5, but saw this in OC 9.1.4 too. I also just moved servers so it is possible I missed getting something set up correctly on the new server. This worked just fine on my old server. My best guess is that I've got something messed up with directory permissions (but I can upload/download files via the web and sync clients with no problem)

Please help us by providing the following info. Before posting please also check the pinned "Known issues" threads and make sure that you're running the latest available version for your oC release: https://owncloud.org/changelog/

Steps to reproduce
1. Login to OC
2. Go to Calendar
3. Settings & import -> import
4. Pick ICS file
5. Pick calendar and hit check
6. Screen sits at import scheduled

Expected behaviour
The calendar file is imported

Actual behaviour
It just sits and never imports

Server configuration
Operating system:
Operating System: CentOS Linux 7 (Core)
Kernel: Linux 3.10.0-514.10.2.el7.x86_64
Web server: Apache/2.4.6 (CentOS)
Database: 5.5.52-MariaDB MariaDB Server
PHP version: PHP 5.6.30
ownCloud version (see ownCloud admin page): 9.1.5
Updated from an older ownCloud or fresh install: updated
Special configuration (external storage, external authentication, reverse proxy, server-side-encryption): none

ownCloud configuration

"basic": {
        "license key": "",
        "date": "Sun, 23 Apr 2017 07:38:07 +0000",
        "ownCloud version": "9.1.5.2",
        "ownCloud version string": "9.1.5",
        "ownCloud edition": "",
        "server OS": "Linux",
        "server OS version": "Linux REMOVED 3.10.0-514.10.2.el7.x86_64 #1 SMP Fri Mar 3 00:04:05 UTC 2017 x86_64",
        "server SAPI": "apache2handler",
        "webserver version": "Apache\/2.4.6 (CentOS) OpenSSL\/1.0.1e-fips PHP\/5.6.30 mod_perl\/2.0.10 Perl\/v5.16.3",
        "hostname": “REMOVED”,
        "user count": 9,
        "user directories": 9,
        "logged-in user": “REMOVED”
    },
    "integritychecker": {
        "passing": true,
        "enabled": true,
        "result": []
    },

I removed tons of the output as it didn't seem relevant, but I did notice this in the calendar app section (note references to nextcloud). It shouldn't matter, but I thought I'd point it out here.

{
            "id": "calendar",
            "name": "Calendar",
            "summary": "Calendar GUI for Nextcloud's CalDAV server",
            "description": "The Nextcloud calendar app is a user interface for Nextcloud's CalDAV server.\n\nIt integrates with other apps, allows you to manage calendars and events, display external calendars and invite attendees to your events",
            "version": "1.4.1",
            "licence": "AGPL",
            "namespace": "Calendar",
            "author": [
                {
                    "@attributes": {
                        "homepage": "https:\/\/georg.coffee"
                    },
                    "@value": "Georg Ehrke"
                },
                {
                    "@attributes": {
                        "homepage": "http:\/\/raghunayyar.com"
                    },
                    "@value": "Raghu Nayyar"
                },
                {
                    "@attributes": {
                        "homepage": "https:\/\/tcit.fr"
                    },
                    "@value": "Thomas Citharel"
                }
            ],
            "screenshot": [
                "https:\/\/raw.githubusercontent.com\/nextcloud\/calendar\/master\/screenshots\/1.png",
                "https:\/\/raw.githubusercontent.com\/nextcloud\/calendar\/master\/screenshots\/2.png",
                "https:\/\/raw.githubusercontent.com\/nextcloud\/calendar\/master\/screenshots\/3.png",
                "https:\/\/raw.githubusercontent.com\/nextcloud\/calendar\/master\/screenshots\/4.png"
            ],
            "dependencies": {
                "owncloud": {
                    "@attributes": {
                        "min-version": "9.0",
                        "max-version": "9.2"
                    }
                },
                "nextcloud": {
                    "@attributes": {
                        "min-version": "9",
                        "max-version": "11"
                    }
                }
            },
            "documentation": {
                "user": "https:\/\/docs.nextcloud.com\/server\/10\/user_manual\/pim\/calendar.html"
            },
            "category": "productivity",
            "website": "https:\/\/github.com\/nextcloud\/calendar\/",
            "bugs": "https:\/\/github.com\/nextcloud\/calendar\/issues",
            "repository": {
                "@attributes": {
                    "type": "git"
                },
                "@value": "https:\/\/github.com\/nextcloud\/calendar.git"
            },
            "ocsid": "168707",
            "info": [],
            "remote": [],
            "public": [],
            "types": [],
            "repair-steps": {
                "install": [],
                "pre-migration": [],
                "post-migration": [],
                "live-migration": [],
                "uninstall": []
            },
            "background-jobs": [],
            "two-factor-providers": [],
            "groups": null,
            "active": true,
            "internal": false,
            "removable": true,
            "update": null,
            "preview": "\/owncloud\/apps\/calendar\/img\/calendar.svg",
            "previewAsIcon": true,
            "appconfig": {
                "enabled": "yes",
                "installed_version": "1.4.1",
                "ocsid": "168707",
                "signed": "true",
                "types": ""
            }
        },

ownCloud log (data/owncloud.log)

Please paste possible errors in the following code block, see https://central.owncloud.org/t/how-to-find-webserver-or-oc-logfile-enable-php-logfile/808 for more info

{"reqId":"UO6KxxKIezKfwu10CmVK","remoteAddr":"","app":"cron","message":"Finished background job, the job took : 0 seconds, this job is an instance of class : OCA\\Files\\BackgroundJob\\ScanFiles with arguments : ","level":0,"time":"2017-04-23T07:15:02+00:00","method":"--","url":"--","user":"--"}
{"reqId":"WPxVlPufid6GUFcKwy16uwAAAAo","remoteAddr":"80.3.73.86","app":"webdav","message":"Exception: {\"Message\":\"HTTP\\\/1.1 400 Every VEVENT component must have an UID\",\"Exception\":\"Sabre\\\\DAV\\\\Exception\\\\BadRequest\",\"Code\":0,\"Trace\":\"#0 \\\/encryptedfs\\\/stuff\\\/www\\\/html\\\/owncloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/CalDAV\\\/Plugin.php(772): Sabre\\\\CalDAV\\\\Plugin->validateICalendar('BEGIN:VCALENDAR...', 'calendars\\\/REMOVED\\\/...', false, Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response), true)\\n#1 [internal function]: Sabre\\\\CalDAV\\\\Plugin->beforeCreateFile('calendars\\\/REMOVED\\\/...', 'BEGIN:VCALENDAR...', Object(OCA\\\\DAV\\\\CalDAV\\\\Calendar), false)\\n#2 \\\/encryptedfs\\\/stuff\\\/www\\\/html\\\/owncloud\\\/3rdparty\\\/sabre\\\/event\\\/lib\\\/EventEmitterTrait.php(105): call_user_func_array(Array, Array)\\n#3 \\\/encryptedfs\\\/stuff\\\/www\\\/html\\\/owncloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(1034): Sabre\\\\Event\\\\EventEmitter->emit('beforeCreateFil...', Array)\\n#4 \\\/encryptedfs\\\/stuff\\\/www\\\/html\\\/owncloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/CorePlugin.php(523): Sabre\\\\DAV\\\\Server->createFile('calendars\\\/REMOVED\\\/...', Resource id #56, NULL)\\n#5 [internal function]: Sabre\\\\DAV\\\\CorePlugin->httpPut(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#6 \\\/encryptedfs\\\/stuff\\\/www\\\/html\\\/owncloud\\\/3rdparty\\\/sabre\\\/event\\\/lib\\\/EventEmitterTrait.php(105): call_user_func_array(Array, Array)\\n#7 \\\/encryptedfs\\\/stuff\\\/www\\\/html\\\/owncloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(459): Sabre\\\\Event\\\\EventEmitter->emit('method:PUT', Array)\\n#8 \\\/encryptedfs\\\/stuff\\\/www\\\/html\\\/owncloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(248): Sabre\\\\DAV\\\\Server->invokeMethod(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#9 \\\/encryptedfs\\\/stuff\\\/www\\\/html\\\/owncloud\\\/apps\\\/dav\\\/lib\\\/Server.php(178): Sabre\\\\DAV\\\\Server->exec()\\n#10 \\\/encryptedfs\\\/stuff\\\/www\\\/html\\\/owncloud\\\/apps\\\/dav\\\/appinfo\\\/v2\\\/remote.php(30): OCA\\\\DAV\\\\Server->exec()\\n#11 \\\/encryptedfs\\\/stuff\\\/www\\\/html\\\/owncloud\\\/remote.php(164): require_once('\\\/encryptedfs\\\/st...')\\n#12 {main}\",\"File\":\"\\\/encryptedfs\\\/stuff\\\/www\\\/html\\\/owncloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/CalDAV\\\/Plugin.php\",\"Line\":855,\"User\":\"REMOVED\"}","level":4,"time":"2017-04-23T07:19:49+00:00","method":"PUT","url":"\/owncloud\/remote.php\/dav\/calendars\/REMOVED\/defaultcalendar\/Nextcloud-JUEJGWEGVW8P9SBN24OSPA.ics","user":"REMOVED"}
{"reqId":"mqjiX4vu\/LjYtnmWEdOB","remoteAddr":"","app":"cron","message":"Started background job of class : OCA\\Activity\\BackgroundJob\\EmailNotification with arguments : ","level":0,"time":"2017-04-23T07:30:01+00:00","method":"--","url":"--","user":"--"}
{"reqId":"mqjiX4vu\/LjYtnmWEdOB","remoteAddr":"","app":"cron","message":"Finished background job, the job took : 0 seconds, this job is an instance of class : OCA\\Activity\\BackgroundJob\\EmailNotification with arguments : ","level":0,"time":"2017-04-23T07:30:01+00:00","method":"--","url":"--","user":"--"}
{"reqId":"mqjiX4vu\/LjYtnmWEdOB","remoteAddr":"","app":"cron","message":"Started background job of class : OC\\Authentication\\Token\\DefaultTokenCleanupJob with arguments : ","level":0,"time":"2017-04-23T07:30:01+00:00","method":"--","url":"--","user":"--"}
{"reqId":"mqjiX4vu\/LjYtnmWEdOB","remoteAddr":"","app":"no app in context","message":"Invalidating tokens older than 2017-04-22T07:30:01+00:00","level":1,"time":"2017-04-23T07:30:01+00:00","method":"--","url":"--","user":"--"}
{"reqId":"mqjiX4vu\/LjYtnmWEdOB","remoteAddr":"","app":"cron","message":"Finished background job, the job took : 0 seconds, this job is an instance of class : OC\\Authentication\\Token\\DefaultTokenCleanupJob with arguments : ","level":0,"time":"2017-04-23T07:30:01+00:00","method":"--","url":"--","user":"--"}
{"reqId":"mqjiX4vu\/LjYtnmWEdOB","remoteAddr":"","app":"cron","message":"Started background job of class : OCA\\Files_Sharing\\DeleteOrphanedSharesJob with arguments : ","level":0,"time":"2017-04-23T07:30:01+00:00","method":"--","url":"--","user":"--"}
{"reqId":"mqjiX4vu\/LjYtnmWEdOB","remoteAddr":"","app":"DeleteOrphanedSharesJob","message":"0 orphaned share(s) deleted","level":0,"time":"2017-04-23T07:30:01+00:00","method":"--","url":"--","user":"--"}
{"reqId":"mqjiX4vu\/LjYtnmWEdOB","remoteAddr":"","app":"cron","message":"Finished background job, the job took : 0 seconds, this job is an instance of class : OCA\\Files_Sharing\\DeleteOrphanedSharesJob with arguments : ","level":0,"time":"2017-04-23T07:30:01+00:00","method":"--","url":"--","user":"--"}
{"reqId":"mqjiX4vu\/LjYtnmWEdOB","remoteAddr":"","app":"cron","message":"Started background job of class : OCA\\Files\\BackgroundJob\\CleanupFileLocks with arguments : ","level":0,"time":"2017-04-23T07:30:01+00:00","method":"--","url":"--","user":"--"}
{"reqId":"mqjiX4vu\/LjYtnmWEdOB","remoteAddr":"","app":"cron","message":"Finished background job, the job took : 0 seconds, this job is an instance of class : OCA\\Files\\BackgroundJob\\CleanupFileLocks with arguments : ","level":0,"time":"2017-04-23T07:30:01+00:00","method":"--","url":"--","user":"--"}
{"reqId":"mqjiX4vu\/LjYtnmWEdOB","remoteAddr":"","app":"cron","message":"Started background job of class : OCA\\Files_Trashbin\\BackgroundJob\\ExpireTrash with arguments : ","level":0,"time":"2017-04-23T07:30:01+00:00","method":"--","url":"--","user":"--"}
{"reqId":"mqjiX4vu\/LjYtnmWEdOB","remoteAddr":"","app":"cron","message":"Finished background job, the job took : 0 seconds, this job is an instance of class : OCA\\Files_Trashbin\\BackgroundJob\\ExpireTrash with arguments : ","level":0,"time":"2017-04-23T07:30:01+00:00","method":"--","url":"--","user":"--"}
{"reqId":"mqjiX4vu\/LjYtnmWEdOB","remoteAddr":"","app":"cron","message":"Started background job of class : OCA\\Files_Versions\\BackgroundJob\\ExpireVersions with arguments : ","level":0,"time":"2017-04-23T07:30:01+00:00","method":"--","url":"--","user":"--"}
{"reqId":"mqjiX4vu\/LjYtnmWEdOB","remoteAddr":"","app":"cron","message":"Finished background job, the job took : 0 seconds, this job is an instance of class : OCA\\Files_Versions\\BackgroundJob\\ExpireVersions with arguments : ","level":0,"time":"2017-04-23T07:30:01+00:00","method":"--","url":"--","user":"--"}
{"reqId":"mqjiX4vu\/LjYtnmWEdOB","remoteAddr":"","app":"cron","message":"Started background job of class : OCA\\Files\\BackgroundJob\\ScanFiles with arguments : ","level":0,"time":"2017-04-23T07:30:01+00:00","method":"--","url":"--","user":"--"}
{"reqId":"mqjiX4vu\/LjYtnmWEdOB","remoteAddr":"","app":"OC\\Files\\Cache\\Scanner","message":"!!! Path '' is not accessible or present !!!","level":0,"time":"2017-04-23T07:30:02+00:00","method":"--","url":"--","user":"--"}
{"reqId":"mqjiX4vu\/LjYtnmWEdOB","remoteAddr":"","app":"cron","message":"Finished background job, the job took : 1 seconds, this job is an instance of class : OCA\\Files\\BackgroundJob\\ScanFiles with arguments : ","level":0,"time":"2017-04-23T07:30:02+00:00","method":"--","url":"--","user":"--"}

Integrity status for oC9+

No errors have been found.

My run of litmus just finished:

-> running `basic':
 0. init.................. pass
 1. begin................. pass
 2. options............... WARNING: server does not claim Class 2 compliance
    ...................... pass (with 1 warning)
 3. put_get............... pass
 4. put_get_utf8_segment.. pass
 5. put_no_parent......... pass
 6. mkcol_over_plain...... pass
 7. delete................ pass
 8. delete_null........... pass
 9. delete_fragment....... pass
10. mkcol................. pass
11. mkcol_again........... pass
12. delete_coll........... pass
13. mkcol_no_parent....... pass
14. mkcol_with_body....... pass
15. finish................ pass
<- summary for `basic': of 16 tests run: 16 passed, 0 failed. 100.0%
-> 1 warning was issued.
-> running `copymove':
 0. init.................. pass
 1. begin................. pass
 2. copy_init............. pass
 3. copy_simple........... pass
 4. copy_overwrite........ pass
 5. copy_nodestcoll....... pass
 6. copy_cleanup.......... pass
 7. copy_coll............. pass
 8. copy_shallow.......... pass
 9. move.................. pass
10. move_coll............. FAIL (MOVE-on-existing-coll with overwrite)
11. move_cleanup.......... pass
12. finish................ pass
<- summary for `copymove': of 13 tests run: 12 passed, 1 failed. 92.3%

This needs to be fixed on server-side (webserver or PHP, not ownCloud) before you can continue here. The only failed test which currently can be ignored is:

  1. propget............... FAIL (Property {http://example.com/neon/litmus/}high-unicode had value , expected

You should also verify with some external tools if your .ICS file is RFC compliant / not malformed as the following message could some issues with that one:

Every VEVENT component must have an UID

Thanks for the info. I had a chance to take a look at this today.

My best guess is that there's some directory that has permissions set wrong (like some obscure cache directory or temp directory.

I know this isn't an ownCloud issue now, but need some extra help to point me in a direction. Here's what I've tried

Yes, after the installs, I restarted apache. Rerean litmus, got the same error, and the same thing still happens in the calendar when I try to import an ics file (I've tried a few so I don't think the file is the problem)

So, it is a webserver config or a php issue...could someone point me in a direction? I'm out of ideas, but have thought about uninstalling php-common56w and then installing owncloud from yum to see what happens....

Can you temporarily disable SELinux?
In php.ini, you can increase the logging so that all error/warnings are logged.

Great idea.

Ok...I've set selinux to permissive mode...no change.
Next step = increase logging in php.ini

Sigh....Well, I set

error_reporting = E_ALL
log_errors = On
error_log = /var/log/php-scripts.log

I set these in what I thought was the global php.ini. I still get the behaviour I described above, but don't see anything extra logged anywhere. Did I miss something? Should I set these in a php.ini file closer to ownCloud?

I think its not a permission issue. I can confirm the behavior on oc 9.1.4 (stable) , if there at UIDs missing in the VEVENTs. If UID is present, the file is imported as expected.

Well, cripes. Now I feel extra dumb. I found an online tester, it balked at a few of the files I tried, but I found one that worked. Retried the import on that file...and it worked. Sigh...Lesson learned.

Think this is worth a bug report? it would be nice if the importer would return an error or invalid file message instead of sitting there forever.

Well, of course I agree. But with 119 open issues and no new release since app. 8 month...