Skip to content

gh-127651: Use __file__ in diagnostics if origin is missing - #127660

Merged
hauntsaninja merged 15 commits into
python:mainfrom
hauntsaninja:gh-127651
Dec 10, 2024
Merged

gh-127651: Use __file__ in diagnostics if origin is missing#127660
hauntsaninja merged 15 commits into
python:mainfrom
hauntsaninja:gh-127651

Conversation

@hauntsaninja

@hauntsaninjahauntsaninja commented Dec 6, 2024

Copy link
Copy Markdown
Contributor

Comment threadPython/ceval.c Outdated
Comment threadPython/ceval.c Outdated
Comment threadLib/test/test_import/__init__.py Outdated
@hauntsaninjahauntsaninja added the 🔨 test-with-buildbots Test PR w/ buildbots; report in status section label Dec 9, 2024
@bedevere-bot

Copy link
Copy Markdown

🤖 New build scheduled with the buildbot fleet by @hauntsaninja for commit 9a3dbbf 🤖

If you want to schedule another build, you need to add the 🔨 test-with-buildbots label again.

@bedevere-botbedevere-bot removed the 🔨 test-with-buildbots Test PR w/ buildbots; report in status section label Dec 9, 2024
@hauntsaninja

Copy link
Copy Markdown
ContributorAuthor

(testing with buildbots because last time I made a similar change we needed a fix for iOS)

@serhiy-storchakaserhiy-storchaka left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

There is yet one bug in this code. If errmsg is NULL, Py_DECREF(errmsg) (or even _PyErr_SetImportErrorWithNameFrom) can crash.

Comment threadLib/test/test_import/__init__.py Outdated
Comment threadLib/test/test_import/__init__.py Outdated
Comment threadLib/test/test_import/__init__.py
Comment threadPython/ceval.c Outdated
Comment threadLib/test/test_import/__init__.py Outdated
Comment threadPython/ceval.c Outdated
Comment threadPython/ceval.c Outdated
Comment threadLib/test/test_import/__init__.py Outdated
hauntsaninjaand others added 2 commits December 9, 2024 02:23
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>

@serhiy-storchakaserhiy-storchaka left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM.

The code is so complicated that I am not sure that all cases are covered. But in any case this is an improvement.

@hauntsaninja

Copy link
Copy Markdown
ContributorAuthor

Thank you for the review!

@hauntsaninja
hauntsaninja merged commit 3983527 into python:mainDec 10, 2024
@miss-islington-app

Copy link
Copy Markdown

Thanks @hauntsaninja for the PR 🌮🎉.. I'm working now to backport this PR to: 3.13.
🐍🍒⛏🤖

@miss-islington-app

Copy link
Copy Markdown

Sorry, @hauntsaninja, I could not cleanly backport this to 3.13 due to a conflict.
Please backport using cherry_picker on command line.

cherry_picker 3983527c3a6b389e373a233e514919555853ccb3 3.13

@hauntsaninja
hauntsaninja deleted the gh-127651 branch December 10, 2024 04:55
hauntsaninja added a commit to hauntsaninja/cpython that referenced this pull request Dec 10, 2024
@bedevere-app

Copy link
Copy Markdown

GH-127775 is a backport of this pull request to the 3.13 branch.

@bedevere-appbedevere-appBot removed the needs backport to 3.13 bugs and security fixes label Dec 10, 2024
hauntsaninja added a commit that referenced this pull request Dec 10, 2024
…127660) (#127775)
gh-127651: Use __file__ in diagnostics if origin is missing (#127660)
See the left hand side in https://github.com/python/cpython/pull/123929/files#diff-c22186367cbe20233e843261998dc027ae5f1f8c0d2e778abfa454ae74cc59deL2840-L2849
---------
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
(cherry picked from commit 3983527)
@bedevere-bot

Copy link
Copy Markdown

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

Hi! The buildbot ARM64 MacOS M1 Refleaks NoGIL 3.x has failed when building commit 3983527.

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/#/builders/1368/builds/2283) and take a look at the build logs.
  4. Check if the failure is related to this commit (3983527) 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/#/builders/1368/builds/2283

Failed tests:

  • test.test_concurrent_futures.test_thread_pool

Failed subtests:

  • test_free_reference - test.test_concurrent_futures.test_thread_pool.ThreadPoolExecutorTest.test_free_reference

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

==

Click to see traceback logs
Traceback (most recent call last):
File "/Users/ec2-user/buildbot/buildarea/3.x.itamaro-macos-arm64-aws.macos-with-brew.refleak.nogil/build/Lib/test/test_concurrent_futures/executor.py", line 132, in test_free_referenceself.assertIsNone(wr())
~~~~~~~~~~~~~~~~~^^^^^^AssertionError: <test.test_concurrent_futures.executor.MyObject object at 0x200061c0160> is not None
Traceback (most recent call last):
File "/Users/ec2-user/buildbot/buildarea/3.x.itamaro-macos-arm64-aws.macos-with-brew.refleak.nogil/build/Lib/test/test_concurrent_futures/executor.py", line 132, in test_free_referenceself.assertIsNone(wr())
~~~~~~~~~~~~~~~~~^^^^^^AssertionError: <test.test_concurrent_futures.executor.MyObject object at 0x200061c0090> is not None

hauntsaninja added a commit to hauntsaninja/cpython that referenced this pull request Dec 17, 2024
…module
I missed the extra `PyModule_Check` in python#127660 because I was looking at
3.12 as the base implementation for import from. This meant that I
missed the `PyModuleCheck` introduced in python#112661.
hauntsaninja added a commit that referenced this pull request Dec 20, 2024
…#128047)
I missed the extra `PyModule_Check` in #127660 because I was looking at
3.12 as the base implementation for import from. This meant that I
missed the `PyModuleCheck` introduced in #112661.
miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Dec 20, 2024
…module (pythonGH-128047)
I missed the extra `PyModule_Check` in pythonGH-127660 because I was looking at
3.12 as the base implementation for import from. This meant that I
missed the `PyModuleCheck` introduced in pythonGH-112661.
(cherry picked from commit 45e6dd6)
Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
hauntsaninja added a commit that referenced this pull request Dec 20, 2024
…-module (GH-128047) (#128114)
gh-128030: Avoid error from PyModule_GetFilenameObject for non-module (GH-128047)
I missed the extra `PyModule_Check` in GH-127660 because I was looking at
3.12 as the base implementation for import from. This meant that I
missed the `PyModuleCheck` introduced in GH-112661.
(cherry picked from commit 45e6dd6)
Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
srinivasreddy pushed a commit to srinivasreddy/cpython that referenced this pull request Dec 23, 2024
…module (python#128047)
I missed the extra `PyModule_Check` in python#127660 because I was looking at
3.12 as the base implementation for import from. This meant that I
missed the `PyModuleCheck` introduced in python#112661.
srinivasreddy pushed a commit to srinivasreddy/cpython that referenced this pull request Jan 8, 2025
srinivasreddy pushed a commit to srinivasreddy/cpython that referenced this pull request Jan 8, 2025
…module (python#128047)
I missed the extra `PyModule_Check` in python#127660 because I was looking at
3.12 as the base implementation for import from. This meant that I
missed the `PyModuleCheck` introduced in python#112661.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@hauntsaninja@bedevere-bot@ericsnowcurrently@serhiy-storchaka@picnixz