NullPointerException when starting Synchrony
Asked by Joseph C_ Sible:

When I set up Confluence, Synchrony kept failing to start. I turned up logging settings until it logged the error, which was this:

```
2017-12-08 13:28:50,156 WARN [synchrony-interop-executor:thread-2] [plugins.synchrony.bootstrap.DefaultSynchronyProcessManager] lambda$startProcess$2 Failed to setup Synchrony, turn on debug for stack trace: null
?-- url: /confluence/rest/synchrony-interop/restart | referer: https://REDACTED/confluence/admin/confluence-collaborative-editor-plugin/configure.action | traceId: REDACTED | userName: REDACTED
2017-12-08 13:28:50,157 DEBUG [synchrony-interop-executor:thread-2] [plugins.synchrony.bootstrap.DefaultSynchronyProcessManager] lambda$startProcess$2 
?-- url: /confluence/rest/synchrony-interop/restart | referer: https://REDACTED/confluence/admin/confluence-collaborative-editor-plugin/configure.action | traceId: REDACTED | userName: REDACTED
java.lang.NullPointerException
??? at java.util.Hashtable.put(Hashtable.java:460)
??? at java.util.Properties.setProperty(Properties.java:166)
??? at com.atlassian.confluence.plugins.synchrony.bootstrap.DefaultSynchronyProcessManager.setupEnvironment(DefaultSynchronyProcessManager.java:340)
??? at com.atlassian.confluence.plugins.synchrony.bootstrap.DefaultSynchronyProcessManager.trySetup(DefaultSynchronyProcessManager.java:582)
??? at com.atlassian.confluence.plugins.synchrony.bootstrap.DefaultSynchronyProcessManager.lambda$startProcess$2(DefaultSynchronyProcessManager.java:494)
??? at java.util.concurrent.FutureTask.run(FutureTask.java:266)
??? at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
??? at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
??? at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
??? at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
??? at java.lang.Thread.run(Thread.java:748)
```

Looking at the source code, I think I see the problem. We're using PostgreSQL with non-password-based authentication, so we're not defining hibernate.connection.password in confluence.cfg.xml, so Confluence tries to set the password property to null, which crashes since properties are stored in a Hashtable, which isn't allowed to contain nulls.

Once I figured this out, I was able to work around it (by defining a dummy value for hibernate.connection.password), but since the rest of Confluence (and every other Atlassian product that I've set up so far) all work fine without defining a database password, this seems like a bug.


Answers:
author: AnnWorley
body: Our [setup doc for PostgreSQL](https://confluence.atlassian.com/doc/database-setup-for-postgresql-173244522.html) requires a user name and password so I can't really call the behavior a bug, even if you can make it work for other Atlassian products.

I definitely see the value of supporting other authentication methods, so I created this suggestion ticket: [Provide support for PostgreSQL authentication other than password based](https://jira.atlassian.com/browse/CONFSERVER-54432)

The ticket is public so you may comment and vote on it to communicate directly with the development team. That will also add you to notifications so you will see updates.


author: Hans-Joachim von der Lieth
body: We have the same problem but with the use of Oracle Wallet. Confluence works just fine but Synchrony does not start.

I tried to follow your Suggestion and set hibernate.connection.password to the following

\<property name="hibernate.connection.password"\>\</property\>

but this resulted in a looked Oracle user.

Do I need to set other properties or hibernate.connection.password differently?

comments: author: Armin Dittrich
body: [Please vote for "Support for Oracle Wallet"...](https://jira.atlassian.com/browse/CONFSERVER-57732) ?


author: Monique vdB
body: [@Armin Dittrich](/t5/user/viewprofilepage/user-id/1142378) hi Armin -- this is an old post; please avoid resurrecting old posts to try and get votes for this issue. Thanks.


Tags: database

password

synchrony