#947729 radicale: broken after upgrade from stretch

#947729#5
Date:
2019-12-29 15:14:36 UTC
From:
To:
Hi,

I have upgraded my system from stretch. After some head scratching due
to the new disk format, I have installed the package listen in
NEWS.debian, did

 radicale --export-storage /var/tmp/radicale

Then moved /var/tmp/radicale/collection-root to
/var/lib/radicale/collections and did a chown. Is this the correct path?
This should be described much more verbosely in NEWS.Debian, for example
including the exact commands and directory names.

After that and re-installing radicale 2.1.11-6,

  radicale --verify-storage

did run without error. But now, all requests to radicale return a 500
internal server error. radicale does not log any information despite log
level debug:

# journalctl -u radicale

Dec 29 16:04:01 manul systemd[1]: Starting LSB: Radicale CalDAV and
CardDAV server...
Dec 29 16:04:01 manul radicale[16324]: Starting Radicale CalDAV server :
radicale[7f555ae2f740] INFO: Starting Radicale
Dec 29 16:04:01 manul radicale[16324]: [7f555ae2f740] INFO:
Authentication type is 'htpasswd'
Dec 29 16:04:01 manul radicale[16324]: [7f555ae2f740] DEBUG: registered
'apr_md5_crypt' handler: <class
'passlib.handlers.md5_crypt.apr_md5_crypt'>
Dec 29 16:04:01 manul radicale[16324]: [7f555ae2f740] INFO: Storage type
is 'multifilesystem'
Dec 29 16:04:01 manul radicale[16324]: [7f555ae2f740] INFO: Rights type
is 'owner_only'
Dec 29 16:04:01 manul radicale[16324]: [7f555ae2f740] INFO: Web type is
'internal'
Dec 29 16:04:01 manul radicale[16324]: [7f555ae2f740] INFO: Listening to
'localhost' on port 5232
Dec 29 16:04:01 manul radicale[16324]: .
Dec 29 16:04:01 manul systemd[1]: Started LSB: Radicale CalDAV and
CardDAV server.


How does one make radicale log what is wrong?

BTW, I run radicale behind an apache reverse proxy and did the
x-script-name config changes.

Cheers,
Stefan

#947729#10
Date:
2019-12-29 16:25:01 UTC
From:
To:
control: severity -1 normal

Hi Stefan,

Quoting Stefan Fritsch (2019-12-29 16:14:36)
feature failed to work for you).


 - Jonas

#947729#17
Date:
2019-12-29 16:07:59 UTC
From:
To:
After some more debugging and stracing, I finally got it to work:

Debug logging works if one starts radicale from the command line, not as
a service. Maybe this is due to --daemonize in the init script?

The directory for the converted collection was wrong. The (upper)
collection-root must go inside /var/lib/radicale/collections. This then
looks like this:


/var/lib/radicale/collections/collection-root/
/var/lib/radicale/collections/collection-root/user1
/var/lib/radicale/collections/collection-root/user1/some-hex-guid
/var/lib/radicale/collections/collection-root/collection-root/user1

Yes, there are two levels of 'collection-root' directories.


The whole tree /var/lib/radicale/collections must be owned by the
radicale  user. This caused the 500 internal server error because there
was one .Radicale.lock file owned by root. strace  with -f and -s 200 on
the radicale process gives the error message even if the logging is broken.


The new radicale is more strict on some required attributes, I had to
add some missing FN fields. See https://github.com/Kozea/Radicale/issues/830

I still think that the missing info in NEWS.Debian is a grave bug,
therefore I am not downgrading it.

Cheers,
Stefan