Seeing:
in your logs means the runtime tried to write a response back to a client connection that was already closed.
This is a network/connection issue, not a session logic bug inside Mendix.
Specifically:
EofException shows the connection ended unexpectedlyBroken pipe means the server tried to write data to a closed socketThis pattern matches clients disconnecting while the server was still writing response data.
Your native app keeps user sessions valid for 7 days — that part is correct.
But when a connection is dropped unexpectedly, the app may interpret the partial/failing response as:
“Session is invalid“
So it falls back to the login screen.
This behavior is typical when:
These errors do not necessarily mean the session has expired or was revoked — just that the HTTP request couldn’t complete normally.
Different devices (and OS versions) handle network interruptions differently:
So an iPhone 16 on weak network + proxy with short idle timeouts is more likely to cause this. This is a real-world networking behavior, not Mendix runtime instability.
This is not a Mendix app bug — it is a networking issue.
Check your proxy / load balancer settings:
Too-short timeouts lead to broken pipes as the server is writing JSON back.
Users in unstable areas may drop connections mid-response.
Native apps often aggressively close sockets when backgrounded → server sees a broken pipe.
Enable request logging or a conditional trace for:
ConnectionBus_Requests mx.httpconnector
This helps you pinpoint the call that is interrupted.
It is a good operational practice recommended by Mendix for similar broken pipe investigations.
Even though the session is valid for 7 days, if a specific request fails (and the app interprets that as failure), it may redirect to login — this is client behavior, not session expiration.