question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

OSError: inotify instance limit reached

See original GitHub issue

When using cachier with some long-running functions, I get the following error:

OSError: inotify instance limit reached

A fuller stack trace is in the details below. I have tried my best to obscure out proprietary information, so please forgive me if it kind of messes up the syntax.

What would be the best next step here to debug? (No pressure on your side, @shaypal5, I have no problems debugging on my own, just wanted to know your thoughts.)

---------------------------------------------------------------------------
OSError                                   Traceback (most recent call last)
<ipython-input-2-aff6f4218d64> in <module>
----> 1 s = my_long_func("arg")

~/path/to/my/env/lib/python3.7/site-packages/cachier/core.py in func_wrapper(*args, **kwds) 169 return _calc_entry(core, key, func, args, kwds) 170 _print(‘No entry found. No current calc. Calling like a boss.’) –> 171 return _calc_entry(core, key, func, args, kwds) 172 173 def clear_cache():

~/path/to/my/env/lib/python3.7/site-packages/cachier/core.py in _calc_entry(core, key, func, args, kwds) 65 core.mark_entry_being_calculated(key) 66 # _get_executor().submit(core.mark_entry_being_calculated, key) —> 67 func_res = func(*args, **kwds) 68 core.set_entry(key, func_res) 69 # _get_executor().submit(core.set_entry, key, func_res)

~/path/to/my/src.py in my_long_func.py(kwarg, another_arg) 47 @cachier(stale_after=timedelta(weeks=1)) 48 def my_long_func.py(kwarg: str, another_arg: bool = False): —> 49 res_df = wrapped_func(kwarg=kwarg, another_arg=“string”) 50 if another_arg: 51 return res_df.query(“valid_data == True”)

~/path/to/my/env/lib/python3.7/site-packages/cachier/core.py in func_wrapper(*args, **kwds) 165 _print(‘No value but being calculated. Waiting.’) 166 try: –> 167 return core.wait_on_entry_calc(key) 168 except RecalculationNeeded: 169 return _calc_entry(core, key, func, args, kwds)

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 191 if observer.isAlive(): 192 # print(‘Timedout waiting. Starting again…’) –> 193 return self.wait_on_entry_calc(key) 194 # print(“Returned value: {}”.format(event_handler.value)) 195 return event_handler.value

~/path/to/my/env/lib/python3.7/site-packages/cachier/pickle_core.py in wait_on_entry_calc(self, key) 187 recursive=True 188 ) –> 189 observer.start() 190 observer.join(timeout=1.0) 191 if observer.isAlive():

~/path/to/my/env/lib/python3.7/site-packages/watchdog/observers/api.py in start(self) 253 def start(self): 254 for emitter in self._emitters: –> 255 emitter.start() 256 super(BaseObserver, self).start() 257

~/path/to/my/env/lib/python3.7/site-packages/watchdog/utils/init.py in start(self) 108 109 def start(self): –> 110 self.on_thread_start() 111 threading.Thread.start(self) 112

~/path/to/my/env/lib/python3.7/site-packages/watchdog/observers/inotify.py in on_thread_start(self) 119 def on_thread_start(self): 120 path = unicode_paths.encode(self.watch.path) –> 121 self._inotify = InotifyBuffer(path, self.watch.is_recursive) 122 123 def on_thread_stop(self):

~/path/to/my/env/lib/python3.7/site-packages/watchdog/observers/inotify_buffer.py in init(self, path, recursive) 33 BaseThread.init(self) 34 self._queue = DelayedQueue(self.delay) —> 35 self._inotify = Inotify(path, recursive) 36 self.start() 37

~/path/to/my/env/lib/python3.7/site-packages/watchdog/observers/inotify_c.py in init(self, path, recursive, event_mask) 186 inotify_fd = inotify_init() 187 if inotify_fd == -1: –> 188 Inotify._raise_error() 189 self._inotify_fd = inotify_fd 190 self._lock = threading.Lock()

~/path/to/my/env/lib/python3.7/site-packages/watchdog/observers/inotify_c.py in _raise_error() 413 raise OSError(“inotify watch limit reached”) 414 elif err == errno.EMFILE: –> 415 raise OSError(“inotify instance limit reached”) 416 else: 417 raise OSError(os.strerror(err))

</pre>
</details>

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:16

github_iconTop GitHub Comments

1reaction
shaypal5commented, Jun 30, 2020

Oh, I forgot about your PR to fix this, @ericmjl . Please ping me again freely to make me take a look, but I suggest you two try to take a jab at this.

0reactions
shaypal5commented, Oct 6, 2021

The fix on PR #52 was released in v1.5.2. I’m closing. Please re-open if this is not ammended.

Read more comments on GitHub >

github_iconTop Results From Across the Web

OSError: [Errno 24] inotify instance limit reached - Streamlit
Whenever I run any of my streamlit app I get this error OSError: [Errno 24] inotify instance limit reached Earlier everything was working ......
Read more >
Error "User limit of inotify watches reached". ExtReact build
For me, it shows 100000. When this limit is not enough to monitor all files inside a directory it throws this error. Increasing...
Read more >
Kernel inotify watch limit reached - Unix & Linux Stack Exchange
I'm currently facing a problem on a linux box where as root I have commands returning error because inotify watch limit has been...
Read more >
OSError: inotify instance limit reached · Issue #24 - GitHub
When using cachier with some long-running functions, I get the following error: OSError: inotify instance limit reached A fuller stack trace is in...
Read more >
inotify watch limit reached – Wait, what?
In my job, I deal with Django projects (the error is no way related to Django), there has been roughly a 4/10 chance...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found