Skip to content

[BUG] Unable to send messages due to "Invalid ciphertext" response from node #2216

Description

@ceodoe

Code of conduct

Self-training on how to write a bug report

Is there an existing issue for this?

  • I have searched the existing issues

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

  1. Attempt to send message
  2. Observe that it does not send and instead returns an error

Android Version

15

Session Version

1.33.5 (4525 - 57e3ea)

Anything else?

Screenshot:

Image

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions