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