Crash app that i dont understand

Hello,

I’m writing to your support team because I have an issue that I don’t understand.

We have developed a Streamlit app that can compute and show some statistics about a Letterboxd account.

For this, the user uploads a .zip file containing a few CSV files. We load a dataset stored on a Google Sheet, and then we compute some graphs and statistics.

For the past 8 months, Streamlit Community Cloud has worked perfectly for our use. But for the past 2 months, the app has crashed several times during the day. I think it may be due to the resource limit (1 GB) of the Community Cloud, but I’m not sure that’s the only reason.

Sometimes the app crashes without any user activity, sometimes after 10 users (we try to log memory info when the app crash, I can share it, if you want), and we’ve also got some strange messages in the console logs. Like following :

2026-05-28 11:59:12.298 Session with id 83a190c3-b2e0-481f-8036-4de8717376f5 is already connected! Connecting to a new session.

[11:59:55] :red_exclamation_mark: The service has encountered an error while checking the health of the Streamlit app: Get “http://localhost:8501/healthz”: read tcp 127.0.0.1:60264->127.0.0.1:8501: read: connection reset by peer

or :

2026-06-01 08:33:32.403 The fragment with id 0a9a35f5c1b02aacb87c206e02636ed7 does not exist anymore - it might have been removed during a preceding full-app rerun.

2026-06-01 08:33:42.038 The fragment with id 0a9a35f5c1b02aacb87c206e02636ed7 does not exist anymore - it might have been removed during a preceding full-app rerun.

2026-06-01 08:35:26.907 The fragment with id 0a9a35f5c1b02aacb87c206e02636ed7 does not exist anymore - it might have been removed during a preceding full-app rerun.

2026-06-01 08:35:27.763 The fragment with id 0a9a35f5c1b02aacb87c206e02636ed7 does not exist anymore - it might have been removed during a preceding full-app rerun.

2026-06-01 08:35:27.947 The fragment with id 0a9a35f5c1b02aacb87c206e02636ed7 does not exist anymore - it might have been removed during a preceding full-app rerun.

2026-06-01 08:35:28.089 The fragment with id 0a9a35f5c1b02aacb87c206e02636ed7 does not exist anymore - it might have been removed during a preceding full-app rerun.

2026-06-01 08:35:28.225 The fragment with id 0a9a35f5c1b02aacb87c206e02636ed7 does not exist anymore - it might have been removed during a preceding full-app rerun.

I know our dataset is becoming heavier and heavier(~203 000 rows). We tried to cache it (with the @st.cache_data), but we’ve had some problems with Google Sheets.

I also tried to fill out the form to request an increase of our resource limit, but I haven’t received any answer.

With the following link, it says that you may be able to help us by providing some monitoring data about our app. Maybe it could help us figure out the issue.

Our app is public and for non-profit use.

Github repo : https://github.com/ExodusG/letterboxd-profil-analyser

Streamlit URL : https://letterboxd-analysis.streamlit.app/

Thanks for the help,

Exodus

Hey Exodus, thanks so much for reaching out and for sharing all these details—welcome to the Streamlit community! :rocket: Sorry to hear your app is running into trouble after months of smooth sailing. Let’s break down what’s happening and how you can start troubleshooting.

Your app is almost certainly hitting Streamlit Community Cloud’s resource limits, especially with a growing dataset (~203,000 rows) and multiple users. The current limits are about 2.7GB RAM max (with throttling starting at 690MB), 2 CPU cores, and 50GB storage. When these are exceeded, you’ll see errors like “Oh no. Error running app” or health check failures (e.g., connection reset by peer), and sometimes odd session or fragment messages. These are classic symptoms of memory or resource exhaustion, especially if the app crashes even without user activity or after several users interact with it. Caching with @st.cache_data is recommended for large datasets, but if you’re running into issues with Google Sheets, you may need to optimize how/when you load and cache data, or consider moving the data to a more scalable backend. For non-profit/educational use, you can request a resource boost, but responses may take time and are not guaranteed. For more on resource limits and optimization, see the official docs and FAQ.

To help the community help you, please share a minimum reproducible example or your memory logs if possible. Also, check out the resource optimization guide for tips like using st.cache_resource for shared objects, limiting cache size with ttl/max_entries, and profiling memory usage. If you haven’t already, try reducing the dataset size or optimizing queries to see if that stabilizes the app. Community members—feel free to jump in with your own experiences or suggestions!

Sources: