Generic Issues

Generic Issues#

This section contains advices and directions to deal with generic issues that may arise in everyday Carbonio use.

Advanced modules not starting

There are a few corner cases that prevent the advanced modules, provided by the Service Roles, to be running. The problem is that the Node featuring the Mailstore & Provisioning Role can not communicate with the Database (PostgreSQL). You can check if this is the case if you find in log file /opt/zextras/log/mailbox.log error messages like:

2024-07-29 10:13:58,575 ERROR [main] [] extensions -
Error getting connection from data source org.postgresql.ds.PGSimpleDataSource@4151251b org.jooq.exception.DataAccessException:
Error getting connection from data source org.postgresql.ds.PGSimpleDataSource@4151251b at com.zextras.modules.core.db.LazyDataSourceConnectionProvider.acquire(BaseDSLContextProvider.java:72) ~[?:?]

Caused by: org.postgresql.util.PSQLException: Connection to 127.78.0.25:20000 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.

Caused by: java.net.ConnectException: Connection refused

2024-07-29 10:14:00,642 FATAL [main] [] extensions - Unable to initialize zextras: org.jooq.exception.DataAccessException:
Error getting connection from data source org.postgresql.ds.PGSimpleDataSource@4151251b at org.jooq_3.14.8.POSTGRES.debug (null:-1)

Caused by: org.postgresql.util.PSQLException: Connection to 127.78.0.25:20000 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.

Caused by: java.net.ConnectException: Connection refused

In order to fix the problem, ensure that PostgreSQL is reachable and then restart the mailbox.

zextras$ zmmailboxdctl restart
SLF4J related errors

In case you find on Carbonio messages like the following:

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/zextras/lib/jars/carbonio-message-dispatcher-auth.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/zextras/lib/jars/log4j-slf4j-impl-2.20.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/zextras/mailbox/jars/log4j-slf4j-impl-2.20.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]

While these are only warnings, nonetheless they may become annoying. The first line is important and gives the reason for the warning messages: multiple version of the same class are present in the class path and therefore you need to remove manually the duplicates (or better rename the .jar files before to make sure you do not cause other problems): /opt/zextras/lib/jars/log4j-slf4j-impl-2.20.0.jar and /opt/zextras/mailbox/jars/log4j-slf4j-impl-2.20.0.jar.

Carbonio version mismatch

It can sometimes happen, especially after installing hotfixes, that there is a mismatch between the version of Carbonio shown in the Carbonio Admin Panel and in the output of the zmcontrol -v CLI command.

To understand which is the actual Carbonio version installed, you need to execute, as the zextras user, the command

zextras$ zmcontrol -v

In the output, you need to check the section starting with Server version.

1 Server versions:
2
3    version                                             24.9.1
4    commit                                              68e2e5facf5fbcfc7be0b860e3a28356079e179d
5    system_type                                         carbonio
6    product                                             Carbonio
7    zal_version                                         24.9.0
8    zal_commit                                          5021945fc3d4d5c91c70598328d8d71eaa1b958e

The actual Carbonio version is the one shown in the highlighted line.