CARVIEW |
Select Language
HTTP/2 200
date: Wed, 23 Jul 2025 14:43:02 GMT
content-type: text/html; charset=utf-8
cache-control: no-cache
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
referrer-policy: no-referrer-when-downgrade
server-timing: pull_request_layout-fragment;desc="pull_request_layout fragment";dur=398.665953,conversation_content-fragment;desc="conversation_content fragment";dur=830.1327,conversation_sidebar-fragment;desc="conversation_sidebar fragment";dur=432.774768,nginx;desc="NGINX";dur=1.321404,glb;desc="GLB";dur=131.978384
strict-transport-security: max-age=31536000; includeSubdomains; preload
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
x-content-type-options: nosniff
x-frame-options: deny
x-voltron-version: fd8fbbc
x-xss-protection: 0
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=hYL22XFfpy2OOqKADceiakZou6vcGuJCUVupe%2BkAa9vNiXIUjU73hfKU5uLctzIn94jd2qmZ1EXG271F1GbCKERT%2FBRhys8U2%2BRyxfePgV%2B6WbNnvqJ8e90mHAMNc7zSq6KgHR3VJIH3nxx0qKoMFZPT8oCQT9zV%2FQF0OPSxl2DiJE4MHy64TK3tG0E1eFqf4xGcCokJECV%2F%2FJOzF8SdF2El0olgsmgt%2FlMo7BCJQLVYBYmuIm7lC3EMGU0%2BbGfC4u3smIIBamz6SYDN1sL7Mw%3D%3D--WSTviSAiiLhwewK%2B--sXl%2FsbzqRMxwp1D6nkZxmw%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.86160599.1753281781; Path=/; Domain=github.com; Expires=Thu, 23 Jul 2026 14:43:01 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Thu, 23 Jul 2026 14:43:01 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: 99A6:941DF:D604D7:FD3AF3:6880F4F5
[SOT] Fix `LOAD_METHOD` stack layout when bound instance override the `__getattr__` by SigureMo · Pull Request #58956 · PaddlePaddle/Paddle · GitHub
[SOT] Fix
[SOT] Fix
2742195759
deleted the
sot/fix-simulation-load-method-override-getattr
branch
November 14, 2023 06:15
Skip to content
Navigation Menu
{{ message }}
-
Notifications
You must be signed in to change notification settings - Fork 5.8k
[SOT] Fix LOAD_METHOD
stack layout when bound instance override the __getattr__
#58956
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
Merged
2742195759
merged 2 commits into
PaddlePaddle:develop
from
cattidea:sot/fix-simulation-load-method-override-getattr
Nov 14, 2023
Merged
[SOT] Fix LOAD_METHOD
stack layout when bound instance override the __getattr__
#58956
2742195759
merged 2 commits into
PaddlePaddle:develop
from
cattidea:sot/fix-simulation-load-method-override-getattr
Nov 14, 2023
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
你的PR提交成功,感谢你对开源项目的贡献! |
2742195759
approved these changes
Nov 14, 2023
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.
LGTM
danleifeng
pushed a commit
to danleifeng/Paddle
that referenced
this pull request
Nov 14, 2023
… `__getattr__` (PaddlePaddle#58956) * [SOT] Fix LOAD_METHOD stack layout when bound instance override the `__getattr__` * add unittest
SecretXV
pushed a commit
to SecretXV/Paddle
that referenced
this pull request
Nov 28, 2023
… `__getattr__` (PaddlePaddle#58956) * [SOT] Fix LOAD_METHOD stack layout when bound instance override the `__getattr__` * add unittest
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 can’t perform that action at this time.
PR types
Bug fixes
PR changes
Others
Description
修复在
LOAD_METHOD
模拟执行时与 Python 行为不一致的问题当
LOAD_METHOD
的实例对象类上重载了__getattr__
时,method 并不会按照func | self | arg1 | arg2 | ... | argN
(左侧为栈底)的「method」布局,而是按照NULL | method | arg1 | arg2 | ... | argN
的「function」布局,因此模拟执行与真实执行会有一点 diff,在生成代码将栈上 Variable 恢复的时候可能出问题Python 3.8 的处理代码见:
https://github.com/python/cpython/blob/c1c6bedfd3ee66ad208e0cd9cdd732374c95b83d/Objects/object.c#L1149-L1153
Layer
本身重载了__getattr__
,因此用户继承的自定义类上的方法都会有这个问题,比如这里的
self.forward_features(x)
的 LOAD_METHOD 会因为Layer
重载了__getattr__
而变成NULL | self.forward_features
而不是MyLayer.forward_features | self
,此时发生 Fallback 而生成的代码就有可能出问题(最新的 fallback 会生成代码),因为模拟执行并不知道有一个 NULL,因此恢复时候将该 NULL STORE_FAST 到一个 local var,之后 LOAD 时候就会报错因此按照类似 Python 的处理方式,当用户重载了
__getattr__
时,同样认为它是「function」layoutPCard-66972