Empty instance of SonarQube enterprise raises NullPointer exception every 30sec

Must-share information (formatted with Markdown):

SonarQube is running properly but every 30secs there is a null pointer exception in the logs, even on empty installation with no projects.

2025.06.16 09:44:28 WARN  web[][o.s.s.m.MainCollector] Error while executing monitoring task in RecentTasksDurationTask:                                                                                                                        β”‚
β”‚ java.lang.NullPointerException: at index 0                                                                                                                                                                                                      β”‚
β”‚     at com.google.common.collect.ObjectArrays.checkElementNotNull(ObjectArrays.java:232)                                                                                                                                                        β”‚
β”‚     at com.google.common.collect.ObjectArrays.checkElementsNotNull(ObjectArrays.java:222)                                                                                                                                                       β”‚
β”‚     at com.google.common.collect.ObjectArrays.checkElementsNotNull(ObjectArrays.java:216)                                                                                                                                                       β”‚
β”‚     at com.google.common.collect.ImmutableList.sortedCopyOf(ImmutableList.java:345)                                                                                                                                                             β”‚
β”‚     at com.google.common.collect.Ordering.immutableSortedCopy(Ordering.java:899)                                                                                                                                                                β”‚
β”‚     at org.sonar.db.DatabaseUtils.toUniqueAndSortedList(DatabaseUtils.java:204)                                                                                                                                                                 β”‚
β”‚     at org.sonar.db.DatabaseUtils.toUniqueAndSortedPartitions(DatabaseUtils.java:190)                                                                                                                                                           β”‚
β”‚     at org.sonar.db.DatabaseUtils.executeLargeInputs(DatabaseUtils.java:139)                                                                                                                                                                    β”‚
β”‚     at org.sonar.db.DatabaseUtils.executeLargeInputs(DatabaseUtils.java:125)                                                                                                                                                                    β”‚
β”‚     at org.sonar.db.DatabaseUtils.executeLargeInputs(DatabaseUtils.java:114)                                                                                                                                                                    β”‚
β”‚     at org.sonar.db.entity.EntityDao.selectByUuids(EntityDao.java:42)                                                                                                                                                                           β”‚
β”‚     at org.sonar.server.monitoring.ce.RecentTasksDurationTask.run(RecentTasksDurationTask.java:60)                                                                                                                                              β”‚
β”‚     at org.sonar.server.monitoring.MainCollector.lambda$start$0(MainCollector.java:54)                                                                                                                                                          β”‚
β”‚     at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)                                                                                                                                                            β”‚
β”‚     at java.base/java.util.concurrent.FutureTask.runAndReset(Unknown Source)                                                                                                                                                                    β”‚
β”‚     at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)                                                                                                                                       β”‚
β”‚     at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)                                                                                                                                                              β”‚
β”‚     at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)                                                                                                                                                             β”‚
β”‚     at java.base/java.lang.Thread.run(Unknown Source)         

The error does not seem to impact functionality (at least not spotted) but creates noise in the monitoring tools.

Hi,

Welcome to the community and thanks for this report!

Can we have the full stacktrace, as well as the last few lines before the error?

 
Thx,
Ann

Hi,
that was the full stacktrace, there is nothing more in the log. If I can somehow turn on more logs, I am happy to do so.

2025.06.16 13:01:05 WARN  web[][o.s.s.m.MainCollector] Error while executing monitoring task in RecentTasksDurationTask:                                                                                                                        β”‚
β”‚ java.lang.NullPointerException: at index 0                                                                                                                                                                                                      β”‚
β”‚     at com.google.common.collect.ObjectArrays.checkElementNotNull(ObjectArrays.java:232)                                                                                                                                                        β”‚
β”‚     at com.google.common.collect.ObjectArrays.checkElementsNotNull(ObjectArrays.java:222)                                                                                                                                                       β”‚
β”‚     at com.google.common.collect.ObjectArrays.checkElementsNotNull(ObjectArrays.java:216)                                                                                                                                                       β”‚
β”‚     at com.google.common.collect.ImmutableList.sortedCopyOf(ImmutableList.java:345)                                                                                                                                                             β”‚
β”‚     at com.google.common.collect.Ordering.immutableSortedCopy(Ordering.java:899)                                                                                                                                                                β”‚
β”‚     at org.sonar.db.DatabaseUtils.toUniqueAndSortedList(DatabaseUtils.java:204)                                                                                                                                                                 β”‚
β”‚     at org.sonar.db.DatabaseUtils.toUniqueAndSortedPartitions(DatabaseUtils.java:190)                                                                                                                                                           β”‚
β”‚     at org.sonar.db.DatabaseUtils.executeLargeInputs(DatabaseUtils.java:139)                                                                                                                                                                    β”‚
β”‚     at org.sonar.db.DatabaseUtils.executeLargeInputs(DatabaseUtils.java:125)                                                                                                                                                                    β”‚
β”‚     at org.sonar.db.DatabaseUtils.executeLargeInputs(DatabaseUtils.java:114)                                                                                                                                                                    β”‚
β”‚     at org.sonar.db.entity.EntityDao.selectByUuids(EntityDao.java:42)                                                                                                                                                                           β”‚
β”‚     at org.sonar.server.monitoring.ce.RecentTasksDurationTask.run(RecentTasksDurationTask.java:60)                                                                                                                                              β”‚
β”‚     at org.sonar.server.monitoring.MainCollector.lambda$start$0(MainCollector.java:54)                                                                                                                                                          β”‚
β”‚     at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)                                                                                                                                                            β”‚
β”‚     at java.base/java.util.concurrent.FutureTask.runAndReset(Unknown Source)                                                                                                                                                                    β”‚
β”‚     at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)                                                                                                                                       β”‚
β”‚     at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)                                                                                                                                                              β”‚
β”‚     at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)                                                                                                                                                             β”‚
β”‚     at java.base/java.lang.Thread.run(Unknown Source)                                                                                                                                                                                           β”‚
β”‚ 2025.06.16 13:01:35 WARN  web[][o.s.s.m.MainCollector] Error while executing monitoring task in RecentTasksDurationTask:                                                                                                                        β”‚
β”‚ java.lang.NullPointerException: at index 0                                                                                                                                                                                                      β”‚
β”‚     at com.google.common.collect.ObjectArrays.checkElementNotNull(ObjectArrays.java:232)                                                                                                                                                        β”‚
β”‚     at com.google.common.collect.ObjectArrays.checkElementsNotNull(ObjectArrays.java:222)                                                                                                                                                       β”‚
β”‚     at com.google.common.collect.ObjectArrays.checkElementsNotNull(ObjectArrays.java:216)                                                                                                                                                       β”‚
β”‚     at com.google.common.collect.ImmutableList.sortedCopyOf(ImmutableList.java:345)                                                                                                                                                             β”‚
β”‚     at com.google.common.collect.Ordering.immutableSortedCopy(Ordering.java:899)                                                                                                                                                                β”‚
β”‚     at org.sonar.db.DatabaseUtils.toUniqueAndSortedList(DatabaseUtils.java:204)                                                                                                                                                                 β”‚
β”‚     at org.sonar.db.DatabaseUtils.toUniqueAndSortedPartitions(DatabaseUtils.java:190)                                                                                                                                                           β”‚
β”‚     at org.sonar.db.DatabaseUtils.executeLargeInputs(DatabaseUtils.java:139)                                                                                                                                                                    β”‚
β”‚     at org.sonar.db.DatabaseUtils.executeLargeInputs(DatabaseUtils.java:125)                                                                                                                                                                    β”‚
β”‚     at org.sonar.db.DatabaseUtils.executeLargeInputs(DatabaseUtils.java:114)                                                                                                                                                                    β”‚
β”‚     at org.sonar.db.entity.EntityDao.selectByUuids(EntityDao.java:42)                                                                                                                                                                           β”‚
β”‚     at org.sonar.server.monitoring.ce.RecentTasksDurationTask.run(RecentTasksDurationTask.java:60)                                                                                                                                              β”‚
β”‚     at org.sonar.server.monitoring.MainCollector.lambda$start$0(MainCollector.java:54)                                                                                                                                                          β”‚
β”‚     at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)                                                                                                                                                            β”‚
β”‚     at java.base/java.util.concurrent.FutureTask.runAndReset(Unknown Source)                                                                                                                                                                    β”‚
β”‚     at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)                                                                                                                                       β”‚
β”‚     at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)                                                                                                                                                              β”‚
β”‚     at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)                                                                                                                                                             β”‚
β”‚     at java.base/java.lang.Thread.run(Unknown Source)                          

Hi,

Thanks for the fuller log. I’ve flagged this for the team.

 
Ann

We also faced exactly same issue after upgrade. As i understand this is SONAR-25220. However, can’t find any workaround suggestions and it has [sqs-2025.4] fixed version.

1 Like

Regarding SONAR-25220, that one mentions Prometheus but in our case no Prometheus (prometheusExporter.enabled, prometheusMonitoring.podMonitor.enabled) is enabled. Just to include all details.

Hi @nardew and @Tadas_Butkevicius

Yes, it is a bug and we understand it pollutes the logs. It will be fixed in one of the next versions of SonarQube Server (currently targeting 2025.4). There is no known workaround.

Playing with the properties mentioned by @nardew will not help - as they affect the export of the metric in the Kubernetes environment but the bug happens when SonarQube tries to collect data for these metrics.