Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gh-101614: don't treat python3_d.dll as a Python dll #101615

Merged
merged 2 commits into from
Feb 8, 2023

Conversation

davidhewitt
Copy link
Contributor

@davidhewitt davidhewitt commented Feb 6, 2023

Tentative fix for #101614.

I've verified locally that this fixes the issue for me, I'm unsure what testing strategy may exist in-tree for this.

@zooba
Copy link
Member

zooba commented Feb 7, 2023

Seems fine, though I wish I understood this code better. That += 20 is... intriguing? Concerning? I'm not quite sure

We should add a NEWS entry for this. Something like Correctly handle extensions built against debug binaries that reference ``python3_d.dll``. in the Windows section.

@arhadthedev
Copy link
Member

Seems fine, though I wish I understood this code better. That += 20 is... intriguing? Concerning? I'm not quite sure

It's repeated in the end of the loop too:

}
import_data += 20;
}
}
return NULL;
}

Judging by variable names, I guess it's a length of an import symbol entry and we skip the first one of python3.dll for some reason.

@davidhewitt
Copy link
Contributor Author

20-byte import symbol structures sounds correct based on the comment just above.

empty values) of structures (20 bytes each), which contains (at

Will push news shortly.

@zooba zooba added needs backport to 3.10 only security fixes needs backport to 3.11 only security fixes OS-windows labels Feb 8, 2023
@zooba zooba merged commit 3a88de7 into python:main Feb 8, 2023
@miss-islington
Copy link
Contributor

Thanks @davidhewitt for the PR, and @zooba for merging it 🌮🎉.. I'm working now to backport this PR to: 3.10, 3.11.
🐍🍒⛏🤖

@bedevere-bot
Copy link

GH-101690 is a backport of this pull request to the 3.11 branch.

@bedevere-bot bedevere-bot removed the needs backport to 3.11 only security fixes label Feb 8, 2023
miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Feb 8, 2023
…ing extension modules for incompatibility (pythonGH-101615)

(cherry picked from commit 3a88de7)

Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
@bedevere-bot
Copy link

GH-101691 is a backport of this pull request to the 3.10 branch.

@bedevere-bot bedevere-bot removed the needs backport to 3.10 only security fixes label Feb 8, 2023
miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Feb 8, 2023
…ing extension modules for incompatibility (pythonGH-101615)

(cherry picked from commit 3a88de7)

Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
miss-islington added a commit that referenced this pull request Feb 8, 2023
…tension modules for incompatibility (GH-101615)

(cherry picked from commit 3a88de7)

Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
miss-islington added a commit that referenced this pull request Feb 8, 2023
…tension modules for incompatibility (GH-101615)

(cherry picked from commit 3a88de7)

Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
@davidhewitt davidhewitt deleted the gh-101614 branch February 8, 2023 18:12
carljm added a commit to carljm/cpython that referenced this pull request Feb 9, 2023
* main: (82 commits)
  pythongh-101670: typo fix in PyImport_ExtendInittab() (python#101723)
  pythonGH-99293: Document that `Py_TPFLAGS_VALID_VERSION_TAG` shouldn't be used. (#pythonGH-101736)
  no-issue: Add Dong-hee Na as the cjkcodecs codeowner (pythongh-101731)
  pythongh-101678: Merge math_1_to_whatever() and math_1() (python#101730)
  pythongh-101678: refactor the math module to use special functions from c11 (pythonGH-101679)
  pythongh-85984: Remove legacy Lib/pty.py code. (python#92365)
  pythongh-98831: Use opcode metadata for stack_effect() (python#101704)
  pythongh-101283: Version was just released, so should be changed in 3.11.3 (pythonGH-101719)
  pythongh-101283: Fix use of unbound variable (pythonGH-101712)
  pythongh-101283: Improved fallback logic for subprocess with shell=True on Windows (pythonGH-101286)
  pythongh-101277: Port more itertools static types to heap types (python#101304)
  pythongh-98831: Modernize CALL and family (python#101508)
  pythonGH-101696: invalidate type version tag in `_PyStaticType_Dealloc` (python#101697)
  pythongh-100221: Fix creating dirs in `make sharedinstall` (pythonGH-100329)
  pythongh-101670: typo fix in PyImport_AppendInittab() (pythonGH-101672)
  pythongh-101196: Make isdir/isfile/exists faster on Windows (pythonGH-101324)
  pythongh-101614: Don't treat python3_d.dll as a Python DLL when checking extension modules for incompatibility (pythonGH-101615)
  pythongh-100933: Improve `check_element` helper in `test_xml_etree` (python#100934)
  pythonGH-101578: Normalize the current exception (pythonGH-101607)
  pythongh-47937: Note that Popen attributes are read-only (python#93070)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants