GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Add symbols of the stable ABI to python3dll.c by vstinner · Pull Request #23598 · python/cpython

Conversation

@vstinner

@vstinner vstinner commented Dec 1, 2020 •
edited by bedevere-bot
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

Add the following symbols to python3dll.c:

  • PyFrame_GetCode (bpo-40421)
  • PyFrame_GetLineNumber (bpo-40421)
  • PyModule_AddObjectRef (bpo-1635741)
  • PyObject_CallNoArgs (bpo-37194)
  • PyThreadState_GetFrame (bpo-39947)
  • PyThreadState_GetID (bpo-39947)
  • PyThreadState_GetInterpreter (bpo-39947)

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@vstinner
Add symbols of the stable ABI to python3dll.c
a96dadd
Add the following symbols to python3dll.c:

* PyFrame_GetCode (bpo-40421)
* PyFrame_GetLineNumber (bpo-40421)
* PyModule_AddObjectRef (bpo-1635741)
* PyObject_CallNoArgs (bpo-37194)
* PyThreadState_GetFrame (bpo-39947)
* PyThreadState_GetID (bpo-39947)
* PyThreadState_GetInterpreter (bpo-39947)
@vstinner
vstinner requested a review from a team as a code owner December 1, 2020 15:10
@the-knights-who-say-ni the-knights-who-say-ni added the CLA signed label Dec 1, 2020
@bedevere-bot bedevere-bot added the awaiting core review label Dec 1, 2020
@vstinner

vstinner commented Dec 1, 2020

Copy link
Copy Markdown
Member Author

cc @encukou @zooba

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@vstinner vstinner added skip issue skip news labels Dec 1, 2020
@markshannon

markshannon commented Dec 1, 2020

Copy link
Copy Markdown
Member

Can we please stop exposing PyThreadState in the API. It is unsafe.

There is no way to prevent race conditions when used from without the GIL held.
If the GIL is held for more than one independent interpreters, then deadlock becomes a real risk.
If the functions are only called from threads associated with one interpreter then PyThreadState_GetInterpreter is redundant.

The lifetime of a PyThreadState struct is poorly defined, since it isn't a reference counted object, so use-after-free is possible.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@vstinner

vstinner commented Dec 1, 2020 •
edited by bedevere-bot
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member Author

Can we please stop exposing PyThreadState in the API. It is unsafe.

I guess that you are talking about bpo-39947. Functions are added to the limited C API in Python 3.9. The purpose of this issue is to make the PyThreadState structure opaque, currently C extensions access directly PyThreadState members. I suggest you to discuss on bpo-39947 directly.

This issue is only about fixing the Windows implementation for the stable ABI.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@ZackerySpytz

ZackerySpytz commented Dec 1, 2020

Copy link
Copy Markdown
Contributor

I like this PR, but GH-23415 is already open for the addition of PyObject_CallNoArgs() to python3dll.c.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@alex

alex commented Dec 15, 2020

Copy link
Copy Markdown
Member

Are these already exposed in the headers with #define PY_LIMITED_API?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@vstinner

vstinner commented Dec 16, 2020

Copy link
Copy Markdown
Member Author

Are these already exposed in the headers with #define PY_LIMITED_API?

This PR doesn't move any function to the stable ABI. They are already part of the stable API.

This PR only fix the Windows implementation of the stable ABI.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

alex
alex approved these changes Dec 16, 2020
View reviewed changes

@alex alex left a comment

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We really need to find a way to make sure we're not constantly leaving windows abi3 in a broken state.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@bedevere-bot bedevere-bot added awaiting merge and removed awaiting core review labels Dec 16, 2020
@vstinner

vstinner commented Dec 16, 2020

Copy link
Copy Markdown
Member Author

@alex: "We really need to find a way to make sure we're not constantly leaving windows abi3 in a broken state."

Pablo is working on a Linux tool for that: Tools/scripts/stable_abi.py

It shouldn't be too hard to check that Doc/data/stable_abi.dat and PC/python3dll.c are kept in sync (in the "Tests / Check if generated files are up to date" CI job).

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@vstinner
vstinner merged commit fcc6935 into python:master Dec 16, 2020
@bedevere-bot bedevere-bot removed the awaiting merge label Dec 16, 2020
@vstinner
vstinner deleted the stable_abi branch December 16, 2020 14:08
@alex

alex commented Dec 16, 2020 via email

Copy link
Copy Markdown
Member
Wonderful!
…
On Wed, Dec 16, 2020 at 9:08 AM Victor Stinner ***@***.***> wrote: @alex <https://github.com/alex>: "We really need to find a way to make sure we're not constantly leaving windows abi3 in a broken state." Pablo is working on a Linux tool for that: Tools/scripts/stable_abi.py It shouldn't be too hard to check that Doc/data/stable_abi.dat and PC/python3dll.c are kept in sync (in the "Tests / Check if generated files are up to date" CI job). — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <#23598 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AAAAGBBZGBK24C6RYD5TVP3SVC5MZANCNFSM4UJE7ZSQ> .
-- All that is necessary for evil to succeed is for good people to do nothing.
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@vstinner vstinner mentioned this pull request Dec 16, 2020
bpo-42415: Add PyObject_CallNoArgs to PC\python3dll.c #23415
Closed
@vstinner

vstinner commented Dec 16, 2020

Copy link
Copy Markdown
Member Author

I manually backported the change to 3.9 which uses a different format for the Windows stable ABI: PR #23801.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@vstinner vstinner mentioned this pull request Dec 16, 2020
[3.9] bpo-42415: Add symbols of the stable ABI to python3dll.c (GH-23598) #23801
Merged
@bedevere-bot

bedevere-bot commented Dec 16, 2020

Copy link
Copy Markdown

⚠️⚠️⚠️ Buildbot failure ⚠️⚠️⚠️

Hi! The buildbot AMD64 Fedora Stable LTO 3.x has failed when building commit fcc6935.

What do you need to do:

  1. Don't panic.
  2. Check the buildbot page in the devguide if you don't know what the buildbots are or how they work.
  3. Go to the page of the buildbot that failed (https://buildbot.python.org/all/#builders/271/builds/935) and take a look at the build logs.
  4. Check if the failure is related to this commit (fcc6935) or if it is a false positive.
  5. If the failure is related to this commit, please, reflect that on the issue and make a new Pull Request with a fix.

You can take a look at the buildbot page here:

https://buildbot.python.org/all/#builders/271/builds/935

Failed tests:

  • test_asyncio

Summary of the results of the build (if available):

==

Click to see traceback logs
remote: Enumerating objects: 7, done.        
remote: Counting objects:  14% (1/7)        
remote: Counting objects:  28% (2/7)        
remote: Counting objects:  42% (3/7)        
remote: Counting objects:  57% (4/7)        
remote: Counting objects:  71% (5/7)        
remote: Counting objects:  85% (6/7)        
remote: Counting objects: 100% (7/7)        
remote: Counting objects: 100% (7/7), done.        
remote: Compressing objects:  25% (1/4)        
remote: Compressing objects:  50% (2/4)        
remote: Compressing objects:  75% (3/4)        
remote: Compressing objects: 100% (4/4)        
remote: Compressing objects: 100% (4/4), done.        
remote: Total 4 (delta 3), reused 0 (delta 0), pack-reused 0        
From https://github.com/python/cpython
 * branch                  master     -> FETCH_HEAD
Reset branch 'master'

In function ‘emit_pair’,
    inlined from ‘emit_delta’ at Objects/codeobject.c:423:14,
    inlined from ‘code_getlnotab’ at Objects/codeobject.c:462:18:
Objects/codeobject.c:414:15: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  414 |     *lnotab++ = b;
      |     ~~~~~~~~~~^~~
In function ‘emit_pair’,
    inlined from ‘emit_delta’ at Objects/codeobject.c:436:14,
    inlined from ‘code_getlnotab’ at Objects/codeobject.c:462:18:
Objects/codeobject.c:414:15: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  414 |     *lnotab++ = b;
      |     ~~~~~~~~~~^~~
In function ‘emit_pair’,
    inlined from ‘emit_delta’ at Objects/codeobject.c:429:14,
    inlined from ‘code_getlnotab’ at Objects/codeobject.c:462:18:
Objects/codeobject.c:414:15: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  414 |     *lnotab++ = b;
      |     ~~~~~~~~~~^~~
In function ‘assemble_emit_linetable_pair’,
    inlined from ‘assemble_line_range’ at Python/compile.c:5577:18:
Python/compile.c:5549:15: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 5549 |     *lnotab++ = ldelta;
      |     ~~~~~~~~~~^~~~~~~~
In function ‘assemble_emit_linetable_pair’,
    inlined from ‘assemble_line_range’ at Python/compile.c:5571:18:
Python/compile.c:5549:15: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 5549 |     *lnotab++ = ldelta;
      |     ~~~~~~~~~~^~~~~~~~
In function ‘assemble_emit_linetable_pair’,
    inlined from ‘assemble’ at Python/compile.c:5992:10:
Python/compile.c:5549:15: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 5549 |     *lnotab++ = ldelta;
      |     ~~~~~~~~~~^~~~~~~~
In function ‘assemble_emit_linetable_pair’,
    inlined from ‘assemble_line_range’ at Python/compile.c:5577:18:
Python/compile.c:5549:15: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 5549 |     *lnotab++ = ldelta;
      |               ^
In function ‘assemble_emit_linetable_pair’,
    inlined from ‘assemble_line_range’ at Python/compile.c:5571:18:
Python/compile.c:5549:15: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 5549 |     *lnotab++ = ldelta;
      |               ^
In function ‘assemble_emit_linetable_pair’,
    inlined from ‘assemble_line_range’ at Python/compile.c:5577:18:
Python/compile.c:5549:15: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 5549 |     *lnotab++ = ldelta;
      |               ^
In function ‘assemble_emit_linetable_pair’,
    inlined from ‘assemble_line_range’ at Python/compile.c:5571:18:
Python/compile.c:5549:15: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 5549 |     *lnotab++ = ldelta;
      |               ^
In function ‘emit_pair’,
    inlined from ‘emit_delta’ at Objects/codeobject.c:423:14,
    inlined from ‘code_getlnotab’ at Objects/codeobject.c:462:18:
Objects/codeobject.c:414:15: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  414 |     *lnotab++ = b;
      |               ^
In function ‘emit_pair’,
    inlined from ‘emit_delta’ at Objects/codeobject.c:436:14,
    inlined from ‘code_getlnotab’ at Objects/codeobject.c:462:18:
Objects/codeobject.c:414:15: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  414 |     *lnotab++ = b;
      |               ^
In function ‘emit_pair’,
    inlined from ‘emit_delta’ at Objects/codeobject.c:429:14,
    inlined from ‘code_getlnotab’ at Objects/codeobject.c:462:18:
Objects/codeobject.c:414:15: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  414 |     *lnotab++ = b;
      |               ^
In function ‘emit_pair’,
    inlined from ‘emit_delta’ at Objects/codeobject.c:423:14,
    inlined from ‘code_getlnotab’ at Objects/codeobject.c:462:18:
Objects/codeobject.c:414:15: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  414 |     *lnotab++ = b;
      |               ^
In function ‘emit_pair’,
    inlined from ‘emit_delta’ at Objects/codeobject.c:436:14,
    inlined from ‘code_getlnotab’ at Objects/codeobject.c:462:18:
Objects/codeobject.c:414:15: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  414 |     *lnotab++ = b;
      |               ^
In function ‘emit_pair’,
    inlined from ‘emit_delta’ at Objects/codeobject.c:429:14,
    inlined from ‘code_getlnotab’ at Objects/codeobject.c:462:18:
Objects/codeobject.c:414:15: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  414 |     *lnotab++ = b;
      |               ^
In function ‘assemble_emit_linetable_pair’,
    inlined from ‘assemble’ at Python/compile.c:5992:0:
Python/compile.c:5549:15: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 5549 |     *lnotab++ = ldelta;
      |               ^
In function ‘assemble_emit_linetable_pair’,
    inlined from ‘assemble’ at Python/compile.c:5992:0:
Python/compile.c:5549:15: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 5549 |     *lnotab++ = ldelta;
      |               ^

test_tk skipped -- Tk unavailable due to TclError: no display name and no $DISPLAY environment variab [...]
test_tix skipped -- Tk unavailable due to TclError: no display name and no $DISPLAY environment variab [...]
test_ioctl skipped -- Unable to open /dev/tty
test_ttk_guionly skipped -- Tk unavailable due to TclError: no display name and no $DISPLAY environment variab [...]
test_winconsoleio skipped -- test only relevant on win32
test_startfile skipped -- object <module 'os' from '/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/os.py'> has no attribute 'startfile'
test_flock (__main__.FNTLEINTRTest) ... ok
test_lockf (__main__.FNTLEINTRTest) ... ok
test_read (__main__.OSEINTRTest) ... ok
test_wait (__main__.OSEINTRTest) ... ok
test_wait3 (__main__.OSEINTRTest) ... ok
test_wait4 (__main__.OSEINTRTest) ... ok
test_waitpid (__main__.OSEINTRTest) ... ok
test_write (__main__.OSEINTRTest) ... ok
test_devpoll (__main__.SelectEINTRTest) ... skipped 'need select.devpoll'
test_epoll (__main__.SelectEINTRTest) ... ok
test_kqueue (__main__.SelectEINTRTest) ... skipped 'need select.kqueue'
test_poll (__main__.SelectEINTRTest) ... ok
test_select (__main__.SelectEINTRTest) ... ok
test_sigtimedwait (__main__.SignalEINTRTest) ... ok
test_sigwaitinfo (__main__.SignalEINTRTest) ... ok
test_accept (__main__.SocketEINTRTest) ... ok
test_open (__main__.SocketEINTRTest) ... ok
test_os_open (__main__.SocketEINTRTest) ... ok
test_recv (__main__.SocketEINTRTest) ... ok
test_recvmsg (__main__.SocketEINTRTest) ... ok
test_send (__main__.SocketEINTRTest) ... ok
test_sendall (__main__.SocketEINTRTest) ... ok
test_sendmsg (__main__.SocketEINTRTest) ... ok
test_sleep (__main__.TimeEINTRTest) ... ok

----------------------------------------------------------------------
Ran 24 tests in 6.436s

OK (skipped=2)
test_winreg skipped -- No module named 'winreg'
test_msilib skipped -- No module named '_msi'
test_kqueue skipped -- test works only on BSD
test_zipfile64 skipped -- test requires loads of disk-space bytes and a long time to run
test_ossaudiodev skipped -- [Errno 2] No such file or directory: '/dev/dsp'
test_badargs (__main__.GeneralTest) ... ok
test_bound_methods (__main__.GeneralTest) ... ok
test_clear (__main__.GeneralTest) ... ok
test_exit (__main__.GeneralTest) ... ok
test_order (__main__.GeneralTest) ... ok
test_raise (__main__.GeneralTest) ... ok
test_raise_unnormalized (__main__.GeneralTest) ... ok
test_stress (__main__.GeneralTest) ... ok
test_unregister (__main__.GeneralTest) ... ok

----------------------------------------------------------------------
Ran 9 tests in 0.002s

OK
test_devpoll skipped -- test works only on Solaris OS family
test_winsound skipped -- No module named 'winsound'
Timeout (0:15:00)!
Thread 0x00007f5522df4740 (most recent call first):
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/selectors.py", line 469 in select
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/asyncio/base_events.py", line 1845 in _run_once
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/asyncio/base_events.py", line 595 in run_forever
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/asyncio/base_events.py", line 628 in run_until_complete
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/test/test_asyncio/test_subprocess.py", line 190 in test_terminate
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/unittest/case.py", line 549 in _callTestMethod
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/unittest/case.py", line 592 in run
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/unittest/case.py", line 652 in __call__
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/unittest/suite.py", line 122 in run
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/unittest/suite.py", line 84 in __call__
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/unittest/suite.py", line 122 in run
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/unittest/suite.py", line 84 in __call__
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/unittest/suite.py", line 122 in run
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/unittest/suite.py", line 84 in __call__
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/unittest/suite.py", line 122 in run
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/unittest/suite.py", line 84 in __call__
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/unittest/suite.py", line 122 in run
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/unittest/suite.py", line 84 in __call__
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/unittest/runner.py", line 176 in run
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/test/support/__init__.py", line 959 in _run_suite
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/test/support/__init__.py", line 1082 in run_unittest
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/test/libregrtest/runtest.py", line 211 in _test_module
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/test/libregrtest/runtest.py", line 236 in _runtest_inner2
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/test/libregrtest/runtest.py", line 272 in _runtest_inner
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/test/libregrtest/runtest.py", line 142 in _runtest
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/test/libregrtest/runtest.py", line 195 in runtest
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/test/libregrtest/runtest_mp.py", line 81 in run_tests_worker
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/test/libregrtest/main.py", line 659 in _main
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/test/libregrtest/main.py", line 639 in main
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/test/libregrtest/main.py", line 717 in main
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/test/regrtest.py", line 43 in _main
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/test/regrtest.py", line 47 in <module>
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/runpy.py", line 87 in _run_code
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/runpy.py", line 197 in _run_module_as_main
Timeout (0:15:00)!
Thread 0x00007f3fdafde740 (most recent call first):
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/selectors.py", line 469 in select
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/asyncio/base_events.py", line 1845 in _run_once
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/asyncio/base_events.py", line 595 in run_forever
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/asyncio/base_events.py", line 628 in run_until_complete
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/test/test_asyncio/test_subprocess.py", line 177 in test_kill
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/unittest/case.py", line 549 in _callTestMethod
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/unittest/case.py", line 592 in run
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/unittest/case.py", line 652 in __call__
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/unittest/suite.py", line 122 in run
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/unittest/suite.py", line 84 in __call__
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/unittest/suite.py", line 122 in run
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/unittest/suite.py", line 84 in __call__
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/unittest/suite.py", line 122 in run
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/unittest/suite.py", line 84 in __call__
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/unittest/suite.py", line 122 in run
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/unittest/suite.py", line 84 in __call__
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/unittest/suite.py", line 122 in run
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/unittest/suite.py", line 84 in __call__
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/unittest/runner.py", line 176 in run
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/test/support/__init__.py", line 959 in _run_suite
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/test/support/__init__.py", line 1082 in run_unittest
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/test/libregrtest/runtest.py", line 211 in _test_module
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/test/libregrtest/runtest.py", line 236 in _runtest_inner2
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/test/libregrtest/runtest.py", line 272 in _runtest_inner
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/test/libregrtest/runtest.py", line 155 in _runtest
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/test/libregrtest/runtest.py", line 195 in runtest
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/test/libregrtest/main.py", line 319 in rerun_failed_tests
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/test/libregrtest/main.py", line 696 in _main
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/test/libregrtest/main.py", line 639 in main
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/test/libregrtest/main.py", line 717 in main
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/test/__main__.py", line 2 in <module>
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/runpy.py", line 87 in _run_code
  File "/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/Lib/runpy.py", line 197 in _run_module_as_main
make: *** [Makefile:1212: buildbottest] Error 1

Cannot open file '/home/buildbot/buildarea/3.x.cstratak-fedora-stable-x86_64.lto/build/test-results.xml' for upload
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

vstinner added a commit that referenced this pull request Dec 16, 2020
@vstinner
Add symbols of the stable ABI to python3dll.c (GH-23598) (GH-23801)
1662868
Add the following symbols to python3dll.c:

* PyFrame_GetCode (bpo-40421)
* PyFrame_GetLineNumber (bpo-40421)
* PyObject_CallNoArgs (bpo-37194)
* PyThreadState_GetFrame (bpo-39947)
* PyThreadState_GetID (bpo-39947)
* PyThreadState_GetInterpreter (bpo-39947)

(cherry picked from commit fcc6935)
adorilson pushed a commit to adorilson/cpython that referenced this pull request Mar 13, 2021
@vstinner @adorilson
Add symbols of the stable ABI to python3dll.c (pythonGH-23598)
0bc4ea2
Add the following symbols to python3dll.c:

* PyFrame_GetCode (bpo-40421)
* PyFrame_GetLineNumber (bpo-40421)
* PyModule_AddObjectRef (bpo-1635741)
* PyObject_CallNoArgs (bpo-37194)
* PyThreadState_GetFrame (bpo-39947)
* PyThreadState_GetID (bpo-39947)
* PyThreadState_GetInterpreter (bpo-39947)
@vstinner vstinner mentioned this pull request Sep 15, 2022
[C API] Prepare the C API to make PyThreadState opaque: add getter functions #84128
Closed
@kylotan kylotan mannequin mentioned this pull request Sep 19, 2022
Py_Finalize() doesn't clear all Python objects at exit #44470
Closed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@alex alex alex approved these changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

skip issue skip news

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

6 participants

@vstinner @markshannon @ZackerySpytz @alex @bedevere-bot @the-knights-who-say-ni
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.