Skip to content

Pdb crashes after jump with Fatal Python error: _PyMem_DebugRawFree: bad trailing pad byte #91742

Closed
@komoto48g

Description

@komoto48g

Crash report

Access violation occurs when using pdb in the following procedure:

  1. step in a function
  2. step next a few lines inside print function
  3. before exiting print function, jump to the beginning of the code
  4. continue
Code Example [test_pdb.py] (click to expand)
__author__ = "pi"
__version__ = "3.14"

def about():
    """About"""
    print(f"Module: {__file__!r}",
          f"Author: {__author__!r}",
          f"Version: {__version__!r}",
          sep='\n')

breakpoint()
about()

Error messages

$ python -Wd -Xdev -Xtracemalloc test_pdb.py

> test_pdb.py(12)<module>()
-> about()
(Pdb) s
--Call--
> test_pdb.py(4)about()
-> def about():
(Pdb) n
> test_pdb.py(6)about()
-> print(f"Module: {__file__!r}",
(Pdb) n
> test_pdb.py(7)about()
-> f"Author: {__author__!r}",
(Pdb) j 4
> test_pdb.py(4)about()
-> def about():
(Pdb) c
Module: 'test_pdb.py'
Author: 'pi'
Version: '3.14'
Debug memory block at address p=0000021D17AD8CF0: API 'o'
    432 bytes originally requested
    The 7 pad bytes at p-7 are FORBIDDENBYTE, as expected.
    The 8 pad bytes at tail=0000021D17AD8EA0 are not all FORBIDDENBYTE (0xfd):
        at tail+0: 0x90 *** OUCH
        at tail+1: 0x46 *** OUCH
        at tail+2: 0x05 *** OUCH
        at tail+3: 0x17 *** OUCH
        at tail+4: 0x1d *** OUCH
        at tail+5: 0x02 *** OUCH
        at tail+6: 0x00 *** OUCH
        at tail+7: 0x00 *** OUCH
    Data at p: 00 00 00 00 00 00 00 00 ... f0 b4 b5 16 1d 02 00 00

Memory block allocated at (most recent call first):
  File "test_pdb.py", line 12

Fatal Python error: _PyMem_DebugRawFree: bad trailing pad byte
Python runtime state: finalizing (tstate=0000021D169BEA10)

Current thread 0x000033f0 (most recent call first):
<no Python frame>

Your environment

  • CPython versions tested on: 3.10.4
  • Operating system and architecture: Windows10 64bit

Metadata

Metadata

Assignees

Labels

3.10only security fixestype-crashA hard crash of the interpreter, possibly with a core dump

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions