gotcha / ipdb

Integration of IPython pdb
BSD 3-Clause "New" or "Revised" License
1.85k stars 146 forks source link

Django 3 - RuntimeError: There is no current event loop in thread 'Thread-1'. #183

Closed juancresc closed 4 years ago

juancresc commented 4 years ago
---> 17             document.user = self.request.user
     18             document.save()

Internal Server Error: /dashboard/
Traceback (most recent call last):
  File "/Users/juan/Documents/manu/dev/trends/venv/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/Users/juan/Documents/manu/dev/trends/venv/lib/python3.7/site-packages/django/core/handlers/base.py", line 113, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/Users/juan/Documents/manu/dev/trends/venv/lib/python3.7/site-packages/django/core/handlers/base.py", line 113, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/Users/juan/Documents/manu/dev/trends/venv/lib/python3.7/site-packages/django/views/generic/base.py", line 71, in view
    return self.dispatch(request, *args, **kwargs)
  File "/Users/juan/Documents/manu/dev/trends/venv/lib/python3.7/site-packages/django/views/generic/base.py", line 97, in dispatch
    return handler(request, *args, **kwargs)
  File "/Users/juan/Documents/manu/dev/trends/dashboard/views.py", line 17, in post
    document.user = self.request.user
  File "/Users/juan/Documents/manu/dev/trends/dashboard/views.py", line 17, in post
    document.user = self.request.user
  File "/usr/local/Cellar/python/3.7.5/Frameworks/Python.framework/Versions/3.7/lib/python3.7/bdb.py", line 88, in trace_dispatch
    return self.dispatch_line(frame)
  File "/usr/local/Cellar/python/3.7.5/Frameworks/Python.framework/Versions/3.7/lib/python3.7/bdb.py", line 112, in dispatch_line
    self.user_line(frame)
  File "/usr/local/Cellar/python/3.7.5/Frameworks/Python.framework/Versions/3.7/lib/python3.7/pdb.py", line 259, in user_line
    self.interaction(frame, None)
  File "/Users/juan/Documents/manu/dev/trends/venv/lib/python3.7/site-packages/IPython/core/debugger.py", line 294, in interaction
    OldPdb.interaction(self, frame, traceback)
  File "/usr/local/Cellar/python/3.7.5/Frameworks/Python.framework/Versions/3.7/lib/python3.7/pdb.py", line 350, in interaction
    self._cmdloop()
  File "/usr/local/Cellar/python/3.7.5/Frameworks/Python.framework/Versions/3.7/lib/python3.7/pdb.py", line 319, in _cmdloop
    self.cmdloop()
  File "/Users/juan/Documents/manu/dev/trends/venv/lib/python3.7/site-packages/IPython/terminal/debugger.py", line 97, in cmdloop
    line = self.pt_app.prompt() # reset_current_buffer=True)
  File "/Users/juan/Documents/manu/dev/trends/venv/lib/python3.7/site-packages/prompt_toolkit/shortcuts/prompt.py", line 986, in prompt
    return self.app.run()
  File "/Users/juan/Documents/manu/dev/trends/venv/lib/python3.7/site-packages/prompt_toolkit/application/application.py", line 788, in run
    return get_event_loop().run_until_complete(self.run_async(pre_run=pre_run))
  File "/usr/local/Cellar/python/3.7.5/Frameworks/Python.framework/Versions/3.7/lib/python3.7/asyncio/events.py", line 644, in get_event_loop
    % threading.current_thread().name)
RuntimeError: There is no current event loop in thread 'Thread-1'.

I'm using ipdb==0.12.3 Django==3.0.1

gotcha commented 4 years ago

This looks like a bad interaction with prompt_toolkit which is an IPython dependency. You might want to check with IPython team.

LewisGaul commented 4 years ago

In case it helps, I just hit an issue that looks like this in IPython (without any use of Django), and fixed it by upgrading prompt-toolkit from 3.0.2 to 3.0.5.

mutaku commented 4 years ago

In case it helps, I just hit an issue that looks like this in IPython (without any use of Django), and fixed it by upgrading prompt-toolkit from 3.0.2 to 3.0.5.

I was having this issue in IPython, as well. Would bomb my scrollback with this error. Updating prompt-toolkit solved the issue.