# Teku 25.9.0 upgrade incident
When upgrading to Teku 25.9.0, several users reported that they were no longer able to participate in duties.
## Log evidence
The logs showed duties were not being performed. On one node we were able to see an exception
```
...
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.xerial.snappy.Snappy
at tech.pegasys.teku.networking.eth2.gossip.encoding.SnappyBlockCompressor.compress(SnappyBlockCompressor.java:54) ~[teku-networking-eth2-25.9.0.jar:25.9.0]
at tech.pegasys.teku.networking.eth2.gossip.encoding.SszSnappyEncoding.encode(SszSnappyEncoding.java:38) ~[teku-networking-eth2-25.9.0.jar:25.9.0]
at tech.pegasys.teku.networking.eth2.gossip.subnets.AttestationSubnetSubscriptions.lambda$gossip$0(AttestationSubnetSubscriptions.java:90) ~[teku-networking-eth2-25.9.0.jar:25.9.0]
at java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1187) ~[?:?]
... 46 more
Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.UnsatisfiedLinkError: /tmp/snappy-1.1.10-2ffe9e25-4684-44ae-80eb-bbb84ab6689a-libsnappyjava.so: libc.musl-x86_64.so.1: cannot open shared object file: No such file or directory [in thread "GossipRouter-event-thread-0"]
...
```
## Root cause
This tracked back to a snappy change that was included in release `org.xerial.snappy:snappy-java:1.1.10.8`, https://github.com/xerial/snappy-java/pull/632
This change is determining libraries to load, and detecting musl based on the existence of a file: `/lib/ld-musl-x86_64.so.1`
After detection, it was observed that it would attempt to load a different file: `/lib/libc.musl-x86_64.so.1`.
This file is not present in a node that is based on ubuntu and has grafana installed, which is a reasonable representation of solo stakers potentially.
## Possible solutions
### work around the issue
Investigated keeping this point release. This would ultimately require that users faced with this problem install `musl-dev` and create a softlink manually. This seems like a sub-optimal fix.
### Re-release on the old snappy
Downgrading snappy seems like the 'right' fix.
Raised PR to downgrade: https://github.com/Consensys/teku/pull/9839
Raised Issue on snappy: https://github.com/xerial/snappy-java/issues/692
We will release 25.9.1 with the downgraded snappy to mitigate this issue.
## Advice
If you are looking to upgrade to Teku 25.9.0, check for the files:
```
ls -l /lib/libc.musl-x86_64.so.1 /usr/lib/ld-musl-x86_64.so.1
```
If you have both of these files, or neither, you will be fine to use the 25.9.0 release.
If you have only got `/usr/lib/ld-musl-x86_64.so.1`, then you should defer upgrading until Teku 25.9.1 is made available.