OSError: [Errno 24] inotify instance limit reached on cloud

Hello, I have an error

OSError: [Errno 24] inotify instance limit reached

I rebooted the app already several times

https://rcsmit-covidcases-covid-menu-streamlit-6cenk1.streamlitapp.com/

Here is a solution, but I can’t do it since I use the share.streamlit.io OSError: [Errno 24] inotify instance limit reached - #5 by tianyi_lIang

This is the log


[18:16:59] 🐍 Python dependencies were installed from /app/covidcases/requirements.txt using pip.

Check if streamlit is installed

Streamlit is already installed

[18:17:01] 📦 Processed dependencies!

Traceback (most recent call last):

  File "/home/appuser/venv/bin/streamlit", line 8, in <module>

    sys.exit(main())

  File "/home/appuser/venv/lib/python3.7/site-packages/click/core.py", line 1130, in __call__

    return self.main(*args, **kwargs)

  File "/home/appuser/venv/lib/python3.7/site-packages/click/core.py", line 1055, in main

    rv = self.invoke(ctx)

  File "/home/appuser/venv/lib/python3.7/site-packages/click/core.py", line 1657, in invoke

    return _process_result(sub_ctx.command.invoke(sub_ctx))

  File "/home/appuser/venv/lib/python3.7/site-packages/click/core.py", line 1404, in invoke

    return ctx.invoke(self.callback, **ctx.params)

  File "/home/appuser/venv/lib/python3.7/site-packages/click/core.py", line 760, in invoke

    return __callback(*args, **kwargs)

  File "/home/appuser/venv/lib/python3.7/site-packages/streamlit/cli.py", line 205, in main_run

    _main_run(target, args, flag_options=kwargs)

  File "/home/appuser/venv/lib/python3.7/site-packages/streamlit/cli.py", line 240, in _main_run

    bootstrap.run(file, command_line, args, flag_options)

  File "/home/appuser/venv/lib/python3.7/site-packages/streamlit/bootstrap.py", line 362, in run

    _install_pages_watcher(main_script_path)

  File "/home/appuser/venv/lib/python3.7/site-packages/streamlit/bootstrap.py", line 342, in _install_pages_watcher

    allow_nonexistent=True,

  File "/home/appuser/venv/lib/python3.7/site-packages/streamlit/watcher/path_watcher.py", line 159, in watch_dir

    allow_nonexistent=allow_nonexistent,

  File "/home/appuser/venv/lib/python3.7/site-packages/streamlit/watcher/path_watcher.py", line 133, in _watch_path

    allow_nonexistent=allow_nonexistent,

  File "/home/appuser/venv/lib/python3.7/site-packages/streamlit/watcher/event_based_path_watcher.py", line 96, in __init__

    allow_nonexistent=allow_nonexistent,

  File "/home/appuser/venv/lib/python3.7/site-packages/streamlit/watcher/event_based_path_watcher.py", line 171, in watch_path

    folder_handler, folder_path, recursive=True

  File "/home/appuser/venv/lib/python3.7/site-packages/watchdog/observers/api.py", line 302, in schedule

    emitter.start()

  File "/home/appuser/venv/lib/python3.7/site-packages/watchdog/utils/__init__.py", line 93, in start

    self.on_thread_start()

  File "/home/appuser/venv/lib/python3.7/site-packages/watchdog/observers/inotify.py", line 118, in on_thread_start

    self._inotify = InotifyBuffer(path, self.watch.is_recursive)

  File "/home/appuser/venv/lib/python3.7/site-packages/watchdog/observers/inotify_buffer.py", line 35, in __init__

    self._inotify = Inotify(path, recursive)

  File "/home/appuser/venv/lib/python3.7/site-packages/watchdog/observers/inotify_c.py", line 167, in __init__

    self._add_dir_watch(path, recursive, event_mask)

  File "/home/appuser/venv/lib/python3.7/site-packages/watchdog/observers/inotify_c.py", line 372, in _add_dir_watch

    self._add_watch(full_path, mask)

  File "/home/appuser/venv/lib/python3.7/site-packages/watchdog/observers/inotify_c.py", line 386, in _add_watch

    Inotify._raise_error()

  File "/home/appuser/venv/lib/python3.7/site-packages/watchdog/observers/inotify_c.py", line 398, in _raise_error

    raise OSError(errno.ENOSPC, "inotify watch limit reached")

OSError: [Errno 28] inotify watch limit reached

[18:18:46] ❗️ Streamlit server consistently failed status checks

[18:18:46] ❗️ Please fix the errors, push an update to the git repo, or reboot the app

Hi, are there any updates on this?

Facing the same issue when trying to deploy a Streamlit app with a custom component on Streamlit Cloud.

Tried following this thread. I would try to follow this response by setting a .streamlit/config.toml value, but apparently TOML doesn’t accept none, and alternatives like setting fileWatcherType = “none” in the [server] don’t work.

Hello!
In case you still need help, I simply installed inotify package through pip and added it to requirements.txt file. After that my app successfully deployed on streamlit cloud. I hope it would help you.

1 Like

I had the same issue when deploying an app to streamlit cloud. I resolved it by creating a .streamlit/config.toml file in my project directory and adding the following lines to that file:

[server]
fileWatcherType = "poll"

According to the docs, “poll” means it will use polling to check for changes to files rather than the watchdog module, which is the module throwing the error. You could also try using “none” in place of “poll” if you don’t care about monitoring for changes to files, but I have not tried that.

4 Likes

Wow this worked fast. Thanks

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.