Code of conduct
Self-training on how to write a bug report
Is there an existing issue for this?
Current Behavior
Every message I try to send results in a 400 HTTP response code, with the message "Invalid ciphertext". I am using the F-Droid variant of the app from the official Session F-Droid repository, and I have not modified the app in any way—completely vanilla.
What I've tried:
- Long-pressing a message and tapping "Resend": same error message reappears
- Changing networks (2 different wifi networks, 1 mobile data): no change
- Force-quitting and restarting Session: no change
- Emptying the app cache: no change
I would try to generate a new path, but the app doesn't seem to expose that functionality. I'm getting responses from different IPs in the error messages, so this seems like it's client related instead of node/server related.
Expected Behavior
Messages send.
Steps To Reproduce
- Attempt to send message
- Observe that it does not send and instead returns an error
Android Version
15
Session Version
1.33.5 (4525 - 57e3ea)
Anything else?
Screenshot:
Relevant logs (I cut out the 30,000 log lines ahead of when this issue started occurring today):
2026-09-17 17:10:44.558 GMT+02:00 D Poller: MainPoller: Delay next poll for 9998ms
2026-09-17 17:10:44.604 GMT+02:00 D BatchApiExecutor: Sending 1 batched requests, with first=SnodeApiRequest(GetInfoApi, snode=https://51.178.47.243:22021)
2026-09-17 17:10:44.604 GMT+02:00 D OnionSessionApiExecutor: Sending Onion request to Snode destination. Method: batch -- Destination: https://51.178.47.243:22021
2026-09-17 17:10:44.651 GMT+02:00 D OnionSessionApiExecutor: Networking Error, got a non 200 response code: 400, body: Invalid ciphertext
2026-09-17 17:10:44.652 GMT+02:00 W Onion Request: Path test failed for [https://141.144.243.51:22101, https://45.56.90.64:22021, https://198.71.58.236:22021]
org.thoughtcrime.securesms.api.error.ErrorWithFailureDecision: Fail: Onion error with status code 400. Message: Invalid ciphertext. Destination: Snode: https://51.178.47.243
at org.thoughtcrime.securesms.api.AutoRetryApiExecutor.send(r8-map-id-e5902e8549df701aeea63ce0067fd87a6016717dec98d83d2f0c6cdf3faa83a5:81)
at com.bumptech.glide.integration.ktx.FlowTarget$1.invokeSuspend(r8-map-id-e5902e8549df701aeea63ce0067fd87a6016717dec98d83d2f0c6cdf3faa83a5:941)
at com.bumptech.glide.integration.ktx.FlowTarget$1.invoke(r8-map-id-e5902e8549df701aeea63ce0067fd87a6016717dec98d83d2f0c6cdf3faa83a5:228)
at kotlin.math.MathKt.startUndspatched(Unknown Source:19)
at kotlinx.coroutines.JobKt.setupTimeout(Unknown Source:29)
at kotlinx.coroutines.JobKt.withTimeoutOrNull(Unknown Source:75)
at org.session.libsession.network.onion.PathManager.testPath(r8-map-id-e5902e8549df701aeea63ce0067fd87a6016717dec98d83d2f0c6cdf3faa83a5:76)
at org.session.libsession.network.onion.PathManager.access$rotatePaths(r8-map-id-e5902e8549df701aeea63ce0067fd87a6016717dec98d83d2f0c6cdf3faa83a5:464)
at org.session.libsession.network.onion.PathManager$1.invokeSuspend(r8-map-id-e5902e8549df701aeea63ce0067fd87a6016717dec98d83d2f0c6cdf3faa83a5:39)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(r8-map-id-e5902e8549df701aeea63ce0067fd87a6016717dec98d83d2f0c6cdf3faa83a5:8)
at kotlinx.coroutines.DispatchedTask.run(r8-map-id-e5902e8549df701aeea63ce0067fd87a6016717dec98d83d2f0c6cdf3faa83a5:114)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(r8-map-id-e5902e8549df701aeea63ce0067fd87a6016717dec98d83d2f0c6cdf3faa83a5:118)
Caused by: org.session.libsession.network.model.OnionError$PathError: Onion error with status code 400. Message: Invalid ciphertext. Destination: Snode: https://51.178.47.243
at org.thoughtcrime.securesms.api.onion.OnionSessionApiExecutor.mapHttpError$app(r8-map-id-e5902e8549df701aeea63ce0067fd87a6016717dec98d83d2f0c6cdf3faa83a5:345)
at org.thoughtcrime.securesms.api.onion.OnionSessionApiExecutor.send(r8-map-id-e5902e8549df701aeea63ce0067fd87a6016717dec98d83d2f0c6cdf3faa83a5:606)
at org.thoughtcrime.securesms.api.onion.OnionSessionApiExecutor$send$1.invokeSuspend(r8-map-id-e5902e8549df701aeea63ce0067fd87a6016717dec98d83d2f0c6cdf3faa83a5:13)
... 3 more
2026-09-17 17:10:44.756 GMT+02:00 D BatchApiExecutor: Sending 1 batched requests, with first=SnodeApiRequest(GetInfoApi, snode=https://51.178.47.243:22021)
2026-09-17 17:10:44.757 GMT+02:00 D OnionSessionApiExecutor: Sending Onion request to Snode destination. Method: batch -- Destination: https://51.178.47.243:22021
2026-09-17 17:10:44.919 GMT+02:00 D OnionSessionApiExecutor: Networking Error, got a non 200 response code: 400, body: Invalid ciphertext
2026-09-17 17:10:44.921 GMT+02:00 W Onion Request: Path test failed for [https://194.107.126.33:22021, https://104.244.78.225:22021, https://194.32.79.192:22021]
org.thoughtcrime.securesms.api.error.ErrorWithFailureDecision: Fail: Onion error with status code 400. Message: Invalid ciphertext. Destination: Snode: https://51.178.47.243
at org.thoughtcrime.securesms.api.AutoRetryApiExecutor.send(r8-map-id-e5902e8549df701aeea63ce0067fd87a6016717dec98d83d2f0c6cdf3faa83a5:81)
at com.bumptech.glide.integration.ktx.FlowTarget$1.invokeSuspend(r8-map-id-e5902e8549df701aeea63ce0067fd87a6016717dec98d83d2f0c6cdf3faa83a5:941)
at com.bumptech.glide.integration.ktx.FlowTarget$1.invoke(r8-map-id-e5902e8549df701aeea63ce0067fd87a6016717dec98d83d2f0c6cdf3faa83a5:228)
at kotlin.math.MathKt.startUndspatched(Unknown Source:19)
at kotlinx.coroutines.JobKt.setupTimeout(Unknown Source:29)
at kotlinx.coroutines.JobKt.withTimeoutOrNull(Unknown Source:75)
at org.session.libsession.network.onion.PathManager.testPath(r8-map-id-e5902e8549df701aeea63ce0067fd87a6016717dec98d83d2f0c6cdf3faa83a5:76)
at org.session.libsession.network.onion.PathManager.access$rotatePaths(r8-map-id-e5902e8549df701aeea63ce0067fd87a6016717dec98d83d2f0c6cdf3faa83a5:464)
at org.session.libsession.network.onion.PathManager$rotatePaths$1.invokeSuspend(r8-map-id-e5902e8549df701aeea63ce0067fd87a6016717dec98d83d2f0c6cdf3faa83a5:12)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(r8-map-id-e5902e8549df701aeea63ce0067fd87a6016717dec98d83d2f0c6cdf3faa83a5:8)
at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(r8-map-id-e5902e8549df701aeea63ce0067fd87a6016717dec98d83d2f0c6cdf3faa83a5:7)
at kotlinx.coroutines.AbstractCoroutine.resumeWith(r8-map-id-e5902e8549df701aeea63ce0067fd87a6016717dec98d83d2f0c6cdf3faa83a5:23)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(r8-map-id-e5902e8549df701aeea63ce0067fd87a6016717dec98d83d2f0c6cdf3faa83a5:33)
at kotlinx.coroutines.DispatchedTask.run(r8-map-id-e5902e8549df701aeea63ce0067fd87a6016717dec98d83d2f0c6cdf3faa83a5:114)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(r8-map-id-e5902e8549df701aeea63ce0067fd87a6016717dec98d83d2f0c6cdf3faa83a5:118)
Caused by: org.session.libsession.network.model.OnionError$PathError: Onion error with status code 400. Message: Invalid ciphertext. Destination: Snode: https://51.178.47.243
at org.thoughtcrime.securesms.api.onion.OnionSessionApiExecutor.mapHttpError$app(r8-map-id-e5902e8549df701aeea63ce0067fd87a6016717dec98d83d2f0c6cdf3faa83a5:345)
at org.thoughtcrime.securesms.api.onion.OnionSessionApiExecutor.send(r8-map-id-e5902e8549df701aeea63ce0067fd87a6016717dec98d83d2f0c6cdf3faa83a5:606)
at org.thoughtcrime.securesms.api.onion.OnionSessionApiExecutor$send$1.invokeSuspend(r8-map-id-e5902e8549df701aeea63ce0067fd87a6016717dec98d83d2f0c6cdf3faa83a5:13)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(r8-map-id-e5902e8549df701aeea63ce0067fd87a6016717dec98d83d2f0c6cdf3faa83a5:8)
... 2 more
Code of conduct
Self-training on how to write a bug report
Is there an existing issue for this?
Current Behavior
Every message I try to send results in a 400 HTTP response code, with the message "Invalid ciphertext". I am using the F-Droid variant of the app from the official Session F-Droid repository, and I have not modified the app in any way—completely vanilla.
What I've tried:
I would try to generate a new path, but the app doesn't seem to expose that functionality. I'm getting responses from different IPs in the error messages, so this seems like it's client related instead of node/server related.
Expected Behavior
Messages send.
Steps To Reproduce
Android Version
15
Session Version
1.33.5 (4525 - 57e3ea)
Anything else?
Screenshot:
Relevant logs (I cut out the 30,000 log lines ahead of when this issue started occurring today):