-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Error reading client message #594
Comments
We can match the Poseidon Logs and CodeOcean's Puma Access Logs. The error looks the same in the last three occurrences. Poseidon Logs
Puma Access Logs
@MrSerth do you have an idea about the underlying issue? |
Thanks for making me aware of a potential CodeOcean issue here. The fact that both logs align with each other and that you see an exception in CodeOcean suggests that one request is causing an exception that, leading to an abrupt and abnormal termination of the connection. This would match the error generated by Poseidon, I assume. Unfortunately, however, the log details by CodeOcean are insufficient. The middleware shown is part of our application and all other frames are not (and therefore hidden). In the respective file is no method called I've extended the logging for exceptions and disabled the backtrace silencer (which normally hides the stack trace of library files) by setting the environment variable |
We observed another occurrence 🥳, allowing us to continue here. Stack Trace
The error caused an abnormal worker exit, based on the unhandled exception. As you can see, our middleware wasn't causing the issue, but rather the Sentry integration (as I assumed 🤓). Hence, I created issue getsentry/sentry-ruby#2386 (and getsentry/sentry-ruby#2378 previously). Furthermore, I've added some custom logging before the Sentry-caused issue to identify the actual root cause. Now, we need to wait again. |
Still waiting for the next occurrence, I need to fix the issue in CodeOcean. This is no Poseidon-related bug. |
I observed another occurrence of this issue. Details
This time, there was a clear relationship to the tubesock gem and a failed connection to the learner. Therefore, I created a custom fork of tubesock and fixed the underlying issue there: openHPI/tubesock#3. This should avoid an abnormal termination of the thread, and therefore the connection to Poseidon. For now, it fixed the issue and no thread was abnormally terminated in the last 1.5 days (previously, we had at least one occurrence every hour or so based on the current usage). With the fix in place, I am closing this issue (and the Sentry issue). For the remaining duration of the course, I'll continue to observe it. In the long term, we still want to replace tubesock with ActionCable, which is more stable. |
Sentry Issue: POSEIDON-5C
By now the error is always
websocket: close 1006 (abnormal closure): unexpected EOF
. As defined in the RFC6455 this is a low-level WebSocket error, i.e. indicating that the connection was closed without a WebSocket closing message.This issue is currently just affecting 0.006% of all WebSocket connections (in the last 30 days).
The text was updated successfully, but these errors were encountered: