8000 pypy REPL crashes when sys.excepthook is broken · Issue #3394 · pypy/pypy · GitHub
[go: up one dir, main page]

Skip to content
pypy REPL crashes when sys.excepthook is broken #3394
@gitlab-importer

Description

@gitlab-importer

In Heptapod by @Julian on Feb 6, 2021, 20:07

Compare at a REPL with cpython the (broken):

⊙  python3.8                                                                julian@Home ● Python 3.8.7 (default, Feb  3 2021, 06:31:03)
[Clang 12.0.0 (clang-1200.0.32.29)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys; sys.excepthook = object(); asdf
Error in sys.excepthook:
TypeError: 'object' object is not callable

Original exception was:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'asdf' is not defined
>>>

where in PyPy3:

⊙  pypy3                                                                     julian@Home
Python 3.7.9 (7e6e2bb30ac5fbdbd443619cae28c51d5c162a02, Dec 30 2020, 17:59:49)
[PyPy 7.3.3-beta0 with GCC Apple LLVM 12.0.0 (clang-1200.0.32.28)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
And now for something completely different: ``<antocuni> I'm glad that we
program in Python and we don't deal with those issues every day. Apart the fact
that we have to deal with them anyway, it seems''
>>>> import sys; sys.excepthook = object(); asdf
Error calling sys.excepthook:
Traceback (most recent call last):
  File "<builtin>/app_main.py", line 166, in display_exception
TypeError: 'object' object is not callable

Original exception was:
Traceback (most recent call last):
  File "/usr/local/Cellar/pypy3/7.3.3/libexec/lib-python/3/code.py", line 90, in runcode
    exec(code, self.locals)
  File "<stdin>", line 1, in <module>
NameError: name 'asdf' is not defined

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/Cellar/pypy3/7.3.3/libexec/lib_pypy/_pypy_interact.py", line 45, in interactive_console
    run_interactive(mainmodule)
  File "/usr/local/Cellar/pypy3/7.3.3/libexec/lib_pypy/pyrepl/simple_interact.py", line 80, in run_multiline_interactive_console
    more = console.push(_strip_final_indent(statement))
  File "/usr/local/Cellar/pypy3/7.3.3/libexec/lib-python/3/code.py", line 258, in push
    more = self.runsource(source, self.filename)
  File "/usr/local/Cellar/pypy3/7.3.3/libexec/lib-python/3/code.py", line 74, in runsource
    self.runcode(code)
  File "/usr/local/Cellar/pypy3/7.3.3/libexec/lib-python/3/code.py", line 94, in runcode
    self.showtraceback()
  File "/usr/local/Cellar/pypy3/7.3.3/libexec/lib-python/3/code.py", line 148, in showtraceback
    sys.excepthook(ei[0], ei[1], last_tb)
TypeError: 'object' object is not callable


and after which the REPL exits.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0