Skip to content

frame.f_lineno can be None #94485

Closed
Closed
@fabioz

Description

@fabioz

Bug report

As far as I know frame.f_lineno should never be None, yet, in the case below it is:

import sys
def tracefunc(frame, event, arg):
    if frame.f_lineno is None:
        raise AssertionError('frame.f_lineno is None!', frame)
    return tracefunc
sys.settrace(tracefunc)

# Apparently anything we import would give a frame.f_lineno = None during tracing.
import threading

Your environment

  • CPython versions tested on: 3.11.0b3 (main, Jun 1 2022, 13:29:14) [MSC v.1932 64 bit (AMD64)]
  • Operating system and architecture: Windows

Metadata

Metadata

Labels

3.11only security fixes3.12only security fixestype-bugAn unexpected behavior, bug, or error

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions