For me it happened on arm architecture, didn't want to even test Linux x64 on production server just in case.
Same problem here, on ARM architecture, using the image traccar/traccar:latest
Which ARM?
Raspberry Pi 3 Model B Plus
OS Debian GNU/Linux 11 (bullseye)
What CPU architecture and OS arch?
pi@raspberrypi:~ $ lscpu
Architecture: aarch64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 1
Vendor ID: ARM
Model: 4
Model name: Cortex-A53
Stepping: r0p4
CPU max MHz: 1400.0000
CPU min MHz: 600.0000
BogoMIPS: 38.40
L1d cache: 128 KiB
L1i cache: 128 KiB
L2 cache: 512 KiB
Vulnerability Itlb multihit: Not affected
Vulnerability L1tf: Not affected
Vulnerability Mds: Not affected
Vulnerability Meltdown: Not affected
Vulnerability Mmio stale data: Not affected
Vulnerability Retbleed: Not affected
Vulnerability Spec store bypass: Not affected
Vulnerability Spectre v1: Mitigation; __user pointer sanitization
Vulnerability Spectre v2: Not affected
Vulnerability Srbds: Not affected
Vulnerability Tsx async abort: Not affected
Flags: fp asimd evtstrm crc32 cpuid
pi@raspberrypi:~ $ uname -m
aarch64
pi@raspberrypi:~ $
Weird. There must be something special about Pi's aarch64.
Try running this in the Traccar docker:
/opt/traccar/jre/bin/java -version
Let us know the output.
Also have you tried Ubuntu or Debian images? Those might work better.
image-> traccar/traccar:debian FAIL
pi@raspberrypi:~/docker $ docker exec -it traccar bash
I have no name!@traccar:/opt/traccar$ /opt/traccar/jre/bin/java -version
openjdk version "21.0.7" 2025-04-15 LTS
OpenJDK Runtime Environment Temurin-21.0.7+6 (build 21.0.7+6-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.7+6 (build 21.0.7+6-LTS, mixed mode)
image-> traccar/traccar:ubuntu FAIL
pi@raspberrypi:~/docker $ docker exec -it traccar bash
ubuntu@traccar:/opt/traccar$ /opt/traccar/jre/bin/java -version
openjdk version "21.0.7" 2025-04-15 LTS
OpenJDK Runtime Environment Temurin-21.0.7+6 (build 21.0.7+6-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.7+6 (build 21.0.7+6-LTS, mixed mode)
image->traccar/traccar:6.7-ubuntu OK
pi@raspberrypi:~/docker $ docker exec -it traccar bash
ubuntu@traccar:/opt/traccar$ java -version
openjdk version "17.0.15" 2025-04-15
OpenJDK Runtime Environment (build 17.0.15+6-Ubuntu-0ubuntu124.04)
OpenJDK 64-Bit Server VM (build 17.0.15+6-Ubuntu-0ubuntu124.04, mixed mode, sharing)
Great, so sounds like Ubuntu version works.
with 6.7.x yes, but not with 6.8.x
The error is the same in all cases:
/opt/traccar $ /opt/traccar/jre/bin/java -Xms1g -Xmx1g -Djava.net.preferIPv4Stack=true -jar tracker-server.jar conf/traccar.xml
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
at org.traccar.Main.<clinit>(Main.java:42)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
... 1 more
What is cheapest Raspberry Pi I can get that has this issue? Want to test on it.
Following the recommendation of another user in this thread, I have confirmed that manually updating jdk to version 21.0.8 works as expected.
root@17976852bf99:/opt/traccar# apt-get update && apt-get install -y temurin-21-jdk
...
root@17976852bf99:/opt/traccar# java -version
openjdk version "21.0.8" 2025-07-15 LTS
OpenJDK Runtime Environment Temurin-21.0.8+9 (build 21.0.8+9-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.8+9 (build 21.0.8+9-LTS, mixed mode, sharing)
root@17976852bf99:/opt/traccar# /opt/traccar/jre/bin/java -version
openjdk version "21.0.7" 2025-04-15 LTS
OpenJDK Runtime Environment Temurin-21.0.7+6 (build 21.0.7+6-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.7+6 (build 21.0.7+6-LTS, mixed mode)
root@17976852bf99:/opt/traccar# java -Xms256m -Xmx256m -Djava.net.preferIPv4Stack=true -jar tracker-server.jar conf/traccar.xml
Database is up to date, no changesets to execute
UPDATE SUMMARY
Run: 0
Previously run: 27
Filtered out: 0
-------------------------------
Total change sets: 27
root@17976852bf99:/opt/traccar# /opt/traccar/jre/bin/java -Xms256m -Xmx256m -Djava.net.preferIPv4Stack=true -jar tracker-server.jar conf/traccar.xml
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
at org.traccar.Main.<clinit>(Main.java:42)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
... 1 more
root@17976852bf99:/opt/traccar#
What is cheapest Raspberry Pi I can get that has this issue? Want to test on it. - Sorry, I couldn't say, mine is a version from a few years ago.
Well it is up to @Anton now to upgrade his Traccar Server bundle to Java 21.0.8 for the bugs fix.