Both wallace and kolabd daemonize themselves and during that process, close the file descriptors 0, 1 and 2 (stdin, stdout and stderr). These FDs then are reused for other purposes, e.g. the IMAP connection. Unfortunately, the libcalendaring library used by pykolab tends to print debug / log / error information to FD 2, expecting that to be stderr. This data is then sent down the IMAP connection, of course violating the protocol. This triggers a SIGPIPE.
In systems that use systemd, we could simply keep FD 0, 1 and 2 open as systemd re-routes them to the system journal (log). But as we can't expect to have systemd in place everywhere, the portable solution would be to re-open FD 0, 1 and 2 on /dev/null so any kind of unexpected output from libraries is simply ignored.