8000 [BUG] compilation with linetrace fails with 3.12 + 3.0.0b3 · Issue #5450 · cython/cython · GitHub
[go: up one dir, main page]

Skip to content
[BUG] compilation with linetrace fails with 3.12 + 3.0.0b3 #5450
@minrk

Description

@minrk

Describe the bug

When compiling with linetrace=True, compilation fails with:

error: ‘_PyCFrame’ has no member named ‘use_tracing’
full output
/root/.pyxbld/temp.linux-aarch64-cpython-312/io/ctest.c: In function ‘__pyx_f_5ctest_twice’:
/root/.pyxbld/temp.linux-aarch64-cpython-312/io/ctest.c:1537:32: error: ‘_PyCFrame’ has no member named ‘use_tracing’
 1537 |      (unlikely((tstate)->cframe->use_tracing) &&\
      |                                ^~
/root/.pyxbld/temp.linux-aarch64-cpython-312/io/ctest.c:1330:43: note: in definition of macro ‘unlikely’
 1330 |   #define unlikely(x) __builtin_expect(!!(x), 0)
      |                                           ^
/root/.pyxbld/temp.linux-aarch64-cpython-312/io/ctest.c:1576:15: note: in expansion of macro ‘__Pyx_IsTracing’
 1576 |           if (__Pyx_IsTracing(tstate, 1, 1)) {\
      |               ^~~~~~~~~~~~~~~
/root/.pyxbld/temp.linux-aarch64-cpython-312/io/ctest.c:2250:3: note: in expansion of macro ‘__Pyx_TraceCall’
 2250 |   __Pyx_TraceCall("twice", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));
      |   ^~~~~~~~~~~~~~~

Code to reproduce the behaviour:

#cython: linetrace=True

cpdef int twice(int x):
    return 2 * x

Expected behaviour

No error

OS

Linux (arm64, docker image python:3.12.0b1)

Python version

3.12.0b1

Cython version

3.0.0b3

Additional context

Minimal test case tested via pyximport in arm64 python:3.12.0b1 docker image (sha256:64a039039087f8a7fde61b973dc3137ab9494979948b98435421a125f386a967), originally found on pyzmq

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0