App stuck on blank loading screen — websocket connects but never streams data (no errors in logs)

  1. App link: https://oceanx-data-platform.streamlit.app
  2. GitHub repo: Private repository — happy to share specific files/code on request, but can’t post a public link.
  3. Full error message: There is no error message. Server logs show the script completing successfully with no exceptions or tracebacks. The app simply never renders in the browser — it gets stuck on a blank “Loading data…” screen indefinitely.
  4. Streamlit version: 1.58.0
    Python version: 3.12.13

My app regularly gets stuck on a blank loading screen and never renders, even though server-side logs show the script completing successfully with no errors.

What I’ve found so far:

  • Server logs show the Python script runs to completion (charts render, no exceptions, no tracebacks)
  • Browser console shows no JS errors, only unrelated browser warnings
  • All network requests return 200
  • The logstream websocket connects (status 101) but sits open for minutes transferring 0 bytes — it never streams any data to the browser

The only fix I’ve found is manually clicking Reboot in the app dashboard, after which it works fine for a while. I have a client actively using this app, so having to manually reboot it whenever it gets stuck isn’t sustainable.

Has anyone seen this websocket-stalls-after-connecting issue before, or know what would cause the logstream connection to open but never transmit data?

Hey there, thanks for sharing such a detailed report and welcome to the Streamlit community! :partying_face: This “app stuck on loading screen with no errors” issue is a known symptom on Streamlit Community Cloud, especially when the backend logs show the script completes but the frontend never renders. This can be caused by resource limits, platform-level orchestration bugs, or issues with dependencies or Python version compatibility. The fact that a manual reboot temporarily fixes it suggests a backend container or resource issue, not a code bug.

Recommended steps: (1) Check your app’s resource usage—if you’re near or over the Community Cloud limits (2.7GB RAM, 2 cores, 50GB storage), the app may silently hang or stall websockets without showing errors. (2) Make sure you’re pinning your Streamlit version in requirements.txt to avoid unexpected upgrades. (3) If you’re using large models or datasets, move them to a database or use st.cache_data/st.cache_resource to reduce memory load. (4) If the problem persists, try deleting and redeploying the app, as sometimes backend containers get stuck in a bad state. This issue has been reported by others and is sometimes resolved by Streamlit’s backend team, so keep an eye on the deployment troubleshooting docs and resource limits. Community members, feel free to jump in with your insights!

Sources:

Please can we get on a call. There hasnt been a change in data process or anything in the last year of creating this, this was only done for POC. Ive gone through each of these recommendations and still cant understand why this issue continues.

Does this problem get solve if you got for the paid version if so how do this as doesnt seem obvious