Bug 2137265 - Embedded debuggers crash in ipython 8.4.0
Summary: Embedded debuggers crash in ipython 8.4.0
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: ipython
Version: 37
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Lumír Balhar
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-10-24 09:13 UTC by František Zatloukal
Modified: 2022-11-10 22:29 UTC (History)
9 users (show)

Fixed In Version: ipython-8.5.0-1.fc37
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-11-10 22:29:45 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description František Zatloukal 2022-10-24 09:13:28 UTC
Description of problem:
Having embedded ipython debugger crashes with ipython 8.4.0, while the same code works fine with 8.5.0.

Version-Release number of selected component (if applicable):
python3-ipython-8.4.0-5.fc37.noarch

How reproducible:
Always

Steps to Reproduce:

from IPython import embed
from traitlets.config import get_config
IPY_DEBUG = True

c = get_config()
c.InteractiveShellEmbed.colors = "Linux"
c.InteractiveShell.pdb = True
embed(config=c)

Actual results:

Traceback (most recent call last):
  File "/home/fanys/devel/oraculum/run_cli.py", line 26, in <module>
    exit = cli.main()
           ^^^^^^^^^^
  File "/home/fanys/devel/oraculum/oraculum/cli.py", line 116, in main
    globals()[args.command]()
  File "/home/fanys/devel/oraculum/oraculum/cli.py", line 105, in debug
    embed(config=c)
  File "/usr/lib/python3.11/site-packages/IPython/terminal/embed.py", line 397, in embed
    shell = InteractiveShellEmbed.instance(_init_location_id='%s:%s' % (
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/traitlets/config/configurable.py", line 551, in instance
    inst = cls(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/IPython/terminal/embed.py", line 172, in __init__
    sys.excepthook = ultratb.FormattedTB(color_scheme=self.colors,
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/IPython/core/ultratb.py", line 994, in __init__
    VerboseTB.__init__(self, color_scheme=color_scheme, call_pdb=call_pdb,
  File "/usr/lib/python3.11/site-packages/IPython/core/ultratb.py", line 638, in __init__
    TBTools.__init__(
  File "/usr/lib/python3.11/site-packages/IPython/core/ultratb.py", line 242, in __init__
    self.pdb = debugger_cls()
               ^^^^^^^^^^^^^^
TypeError: 'NoneType' object is not callable


Expected results:

Working interactive debugger.

Additional info:

8.5.0 (both from fedora rawhide and pip) is verified to be working fine.

Comment 1 Miro Hrončok 2022-10-24 09:49:58 UTC
If we don't want to upgrade, this looks like the fix https://github.com/ipython/ipython/commit/2e08c72d61d2b03e6edd9a13a8976bf1d4fa482c

Comment 2 Lumír Balhar 2022-10-31 14:54:14 UTC
I don't see anything special in the changelog so I'm going to update ipython to 8.5 in F37.

Comment 3 Fedora Update System 2022-11-01 08:59:54 UTC
FEDORA-2022-0ed83283d2 has been submitted as an update to Fedora 37. https://bodhi.fedoraproject.org/updates/FEDORA-2022-0ed83283d2

Comment 4 Fedora Update System 2022-11-01 14:48:01 UTC
FEDORA-2022-0ed83283d2 has been pushed to the Fedora 37 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2022-0ed83283d2`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-0ed83283d2

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 5 Fedora Update System 2022-11-10 22:29:45 UTC
FEDORA-2022-0ed83283d2 has been pushed to the Fedora 37 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.