10.0.4 - NullPointerException when trying to back up or upgrade (MySQL DB)
I have TeamCity 10.0.4 (build 42538) running from the official jetbrains/teamcity-server Docker image with database being MySQL 8.0.0-dmr (official Docker image), all running in an Ubuntu VM in Azure. It has been running fine the past 3-4 months.
I've just come to upgrade the TC image, I've backed up the DB manually and pulled down the TC data directory just in case. When I kick off a backup inside TeamCity, I get a NullPointerException with no stacktrace.
So then I instead tried running the latest (2017.1.2 (build 46812)) Docker image hoping it could perform the DB upgrade etc., this kicks off fine then throws what looks to be the same error but with the stacktrace this time:
TeamCity server startup error
java.lang.NullPointerException
Error Details:
java.lang.NullPointerException
at jetbrains.buildServer.serverSide.maintenance.BackupProcessor$BackupDbAction.processTablesExport(BackupProcessor.java:1714)
at jetbrains.buildServer.serverSide.maintenance.BackupProcessor$BackupDbAction.processDatabaseExport(BackupProcessor.java:1700)
at jetbrains.buildServer.serverSide.maintenance.BackupProcessor$BackupDbAction.run(BackupProcessor.java:1670)
at jetbrains.buildServer.serverSide.maintenance.BackupProcessor$BackupDbAction.run(BackupProcessor.java:1583)
at jetbrains.buildServer.serverSide.db.TeamCityDatabaseManager.withDB(TeamCityDatabaseManager.java:871)
at jetbrains.buildServer.serverSide.maintenance.BackupProcessor.performBackup(BackupProcessor.java:240)
at jetbrains.buildServer.serverSide.maintenance.BackupProcessor.runProcess(BackupProcessor.java:206)
at jetbrains.buildServer.serverSide.maintenance.AbstractMaintenanceProcess$1.run(AbstractMaintenanceProcess.java:158)
at jetbrains.buildServer.util.NamedThreadFactory.executeWithNewThreadName(NamedThreadFactory.java:71)
at jetbrains.buildServer.serverSide.maintenance.AbstractMaintenanceProcess.run(AbstractMaintenanceProcess.java:155)
at jetbrains.buildServer.serverSide.maintenance.MaintenanceProcessManagerImpl$ProcessProxy.run(MaintenanceProcessManagerImpl.java:153)
at java.lang.Thread.run(Thread.java:748)
Current Startup State
Startup status
Current step: TeamCity server startup error
Next step: not defined yet
Data Directory
Directory path: /data/teamcity_server/datadir exists
Database properties file exists
Internal database file: not found
Database
Database type: MYSQL
Database connection URL: jdbc:mysql://mysql.docker.local:3306/teamcity
JDBC driver version: 5.1 (MySQL Connector Java)
Database system version: 8.0 (MySQL)
Versions
Software version: 812
Data directory version: 787
Database version: 787
Logs
Logs path: /opt/teamcity/logs
I have reverted back to using the original image (TC 10.0.4) which seems to startup and work as expected. But I cannot backup or upgrade the system now.
Any ideas? I have so far googled various keyterms, check SO and GitHub issues but nothing seems to turn up. Looks like this NPE isn't typical?
Please sign in to leave a comment.
Hi Charlie,
This issue is definitely rare, but serious nonetheless. We have created the issue https://youtrack.jetbrains.com/issue/TW-50580 to fix it as soon as possible, feel free to watch and vote it.
Hi Denis,
Thanks for confirming. I'll keep an eye on the issue.
At the moment, this issue is preventing us from upgrading TeamCity and we really want to take advantage of the latest features.
Charlie