signal-cli icon indicating copy to clipboard operation
signal-cli copied to clipboard

java.lang.NoClassDefFoundError: org/signal/libsignal/net/CdsiLookupResponse$Entry on Linux

Open dukhaSlayer opened this issue 10 months ago • 2 comments

Getting this exception (line numbers are off by my additional logging):

java.lang.NoClassDefFoundError: org/signal/libsignal/net/CdsiLookupResponse$Entry
	at org.whispersystems.signalservice.api.SignalServiceAccountManager.getRegisteredUsersWithCdsi(SignalServiceAccountManager.java:283)
	at org.asamk.signal.manager.helper.RecipientHelper.getRegisteredUsersV2(RecipientHelper.java:239)
	at org.asamk.signal.manager.helper.RecipientHelper.getRegisteredUsers(RecipientHelper.java:187)
	at org.asamk.signal.manager.helper.RecipientHelper.getRegisteredUsers(RecipientHelper.java:179)
	at org.asamk.signal.manager.internal.ManagerImpl.getUserStatus(ManagerImpl.java:278)

While trying to fetch users's identify on Linux. On Mac Silicon works just fine.

Looked at CdsiLookupResponse$Entry and it seems to be called from native code (it has @CalledFromNative). But have no idea so far why it's failing.

dukhaSlayer avatar Feb 28 '25 16:02 dukhaSlayer

Looks like a mismatch between the java and jni (native .so file) part of libsignal-client. Both need to match the one required for your signal-cli version. https://github.com/AsamK/signal-cli/blob/master/CHANGELOG.md

AsamK avatar Feb 28 '25 20:02 AsamK

Hm... interesting. I don't use custom libsignal-client, always use com.github.turasa:signal-service-java. Also, version mismatch most probably would behave similarly on Mac and Linux. OK, will do more testing.

dukhaSlayer avatar Mar 01 '25 11:03 dukhaSlayer