App crashing even before using it (resources limit)

Hi Streamlit community!

I have recently encountered an issue with my Prophet app:
https://share.streamlit.io/maximelutel/streamlit_prophet/main/streamlit_prophet/app/dashboard.py

The app is crashing (“This app has gone over its resources limits”) and when I reboot it, it crashes directly, even before I start using it.

This is weird because the app has been deployed for 2 months on Streamlit Cloud and I have not encountered this issue before (and the source code has not been changed for a month).

Here is the source code:

Any idea on what is going on?

Thanks a lot :slight_smile:


UPDATE:

It seems that there is an error while installing the dependencies. However, I can pip install the repo on my local device without encountering this issue, so I’m not sure how I can fix it.

(ie the following works locally:

pip install git+https://github.com/artefactory-global/streamlit_prophet.git@main

)

Here are the detailed logs when deploying on Streamlit Cloud:

[manager] Starting up for owner: 'maximelutel', repository: 'streamlit_prophet', branch: 'main', main module: 'streamlit_prophet/app/dashboard.py'
[manager] Cloning repository ...
[manager] Cloning into 'streamlit_prophet'...
[manager] Cloned repository!
[manager] Processing dependencies ...
Installing dependencies from lock file

Package operations: 68 installs, 7 updates, 0 removals

  • Updating importlib-metadata (4.8.1 -> 1.7.0)
  • Updating decorator (5.1.0 -> 5.0.9)
  • Updating debugpy (1.4.3 -> 1.4.1)
  • Updating ipykernel (6.4.1 -> 6.4.0)
  • Installing pymeeus (0.5.11)
  • Installing backports.entry-points-selectable (1.1.0)
  • Installing convertdate (2.3.2)
  • Installing cycler (0.10.0)
  • Installing cython (0.29.24)
  • Installing distlib (0.3.2)
  • Installing ephem (4.0.0.2)
  • Installing hijri-converter (2.2.1)
  • Installing iniconfig (1.1.1)
  • Installing filelock (3.0.12)
  • Installing kiwisolver (1.3.2)
  • Installing korean-lunar-calendar (0.2.1)
  • Installing lazy-object-proxy (1.6.0)
  • Updating pandas (1.3.3 -> 1.1.5)
  • Installing pbr (5.6.0)
  • Installing platformdirs (2.3.0)
  • Installing py (1.10.0)
  • Installing pluggy (1.0.0)
  • Installing pyyaml (5.4.1)
  • Installing typed-ast (1.4.3)
  • Installing wrapt (1.12.1)
Retrying HTTP request in 0.5 seconds.
Retrying HTTP request in 0.5 seconds.
Retrying HTTP request in 0.5 seconds.
Retrying HTTP request in 0.5 seconds.
Retrying HTTP request in 1.0 seconds.
Retrying HTTP request in 0.5 seconds.

  EnvCommandError

  Command ['/home/appuser/venv/bin/pip', 'install', '--no-deps', '-U', '/home/appuser/.cache/pypoetry/artifacts/20/e6/0f/feac64ed8cd0e30be8e53f5127de980b8319f906615c21c8b7b5400296/pandas-1.1.5-cp37-cp37m-manylinux1_x86_64.whl'] errored with the following return code 2, and output: 
  Processing /home/appuser/.cache/pypoetry/artifacts/20/e6/0f/feac64ed8cd0e30be8e53f5127de980b8319f906615c21c8b7b5400296/pandas-1.1.5-cp37-cp37m-manylinux1_x86_64.whl
  ERROR: Exception:
  Traceback (most recent call last):
    File "/home/appuser/venv/lib/python3.7/site-packages/pip/_internal/cli/base_command.py", line 180, in _main
      status = self.run(options, args)
    File "/home/appuser/venv/lib/python3.7/site-packages/pip/_internal/cli/req_command.py", line 204, in wrapper
      return func(self, options, args)
    File "/home/appuser/venv/lib/python3.7/site-packages/pip/_internal/commands/install.py", line 319, in run
      reqs, check_supported_wheels=not options.target_dir
    File "/home/appuser/venv/lib/python3.7/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 104, in resolve
      req, requested_extras=()
    File "/home/appuser/venv/lib/python3.7/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 423, in make_requirement_from_install_req
      version=None,
    File "/home/appuser/venv/lib/python3.7/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 205, in _make_candidate_from_link
      version=version,
    File "/home/appuser/venv/lib/python3.7/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 312, in __init__
      version=version,
    File "/home/appuser/venv/lib/python3.7/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 151, in __init__
      self.dist = self._prepare()
    File "/home/appuser/venv/lib/python3.7/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 234, in _prepare
      dist = self._prepare_distribution()
    File "/home/appuser/venv/lib/python3.7/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 318, in _prepare_distribution
      self._ireq, parallel_builds=True
    File "/home/appuser/venv/lib/python3.7/site-packages/pip/_internal/operations/prepare.py", line 508, in prepare_linked_requirement
      return self._prepare_linked_requirement(req, parallel_builds)
    File "/home/appuser/venv/lib/python3.7/site-packages/pip/_internal/operations/prepare.py", line 571, in _prepare_linked_requirement
      req, self.req_tracker, self.finder, self.build_isolation,
    File "/home/appuser/venv/lib/python3.7/site-packages/pip/_internal/operations/prepare.py", line 61, in _get_prepared_distribution
      return abstract_dist.get_pkg_resources_distribution()
    File "/home/appuser/venv/lib/python3.7/site-packages/pip/_internal/distributions/wheel.py", line 27, in get_pkg_resources_distribution
      with ZipFile(self.req.local_file_path, allowZip64=True) as z:
    File "/usr/local/lib/python3.7/zipfile.py", line 1258, in __init__
      self._RealGetContents()
    File "/usr/local/lib/python3.7/zipfile.py", line 1325, in _RealGetContents
      raise BadZipFile("File is not a zip file")
  zipfile.BadZipFile: File is not a zip file
  WARNING: You are using pip version 21.1.1; however, version 21.3.1 is available.
  You should consider upgrading via the '/home/appuser/venv/bin/python -m pip install --upgrade pip' command.
  

  at ~/.poetry/lib/poetry/utils/env.py:1101 in _run
      1097│                 output = subprocess.check_output(
      1098│                     cmd, stderr=subprocess.STDOUT, **kwargs
      1099│                 )
      1100│         except CalledProcessError as e:
    → 1101│             raise EnvCommandError(e, input=input_)
      1102│ 
      1103│         return decode(output)
      1104│ 
      1105│     def execute(self, bin, *args, **kwargs):

[manager] installer returned a non-zero exit code
[manager] Error during processing dependencies! Please fix the error and push an update, or try restarting the app.

It appears for that app that you are using Streamlit 0.80; I would suggest first to upgrade to Streamlit 1.2, as somewhere between the version you are using and latest, we’ve made some memory improvements. In one case, there was an actual memory leak that was fixed.

So try upgrading Streamlit first and see if that resolves it, and if not, then we can try something else.

Best,
Randy

Hi Randy, thanks a lot for your answer! I have upgraded the streamlit version.
Unfortunately, it is still not working.
Is there something else I could try?

Now I get a different error:

[manager] Python dependencies were installed from /app/streamlit_prophet/pyproject.toml using poetry.
[manager] Processed dependencies!
[manager] Error checking Streamlit healthz: Get "http://localhost:8501/healthz": dial tcp 127.0.0.1:8501: connect: connection refused
[manager] Streamlit server consistently failed status checks
[manager] Please fix the errors, push an update to the git repo, or reboot the app.

I have a similar issue. My app (here is the repo) crashes before starting. It works fine locally and doesn’t use complex libraries.

Here is what I get:

WARNING: You are using pip version 21.1.1; however, version 21.3.1 is available.
You should consider upgrading via the '/home/appuser/venv/bin/python -m pip install --upgrade pip' command.
[manager] Python dependencies were installed from /app/gpt3-exp/requirements.txt using pip.
[manager] Processed dependencies!
[manager] The service has encountered an error while checking the health of the Streamlit app: Get "http://localhost:8501/healthz": dial tcp 127.0.0.1:8501: connect: connection refused

I have fixed this issue by updating the port of the server in the config.toml.

[server]

port = 8501

Alright, thanks for the information! The problem has been fixed on my side as well after some time

1 Like