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
test.test_getargs2.TupleSubclass test failure #72273
Comments
The test.test_getargs2.TupleSubclass test is failing in master. I suspect its a fastcall fallout. |
I've bisected this via the git mirror, and converting it to the hg changeset gives changeset 103659:51b635e81958 as what introduced this failure. |
I added a fix in 7793d34609cb assuming that the intent is to allow subclasses of tuple to be passed directly as *args rather than creating a new tuple. The original changeset seems to suggest this is the intent. |
Serhiy, what do you think? |
Thank you for making buildbots green Steve. The intent of 51b635e81958 was avoiding needless copying. But this caused to leaking tuple subtype in case of single var-positional argument without other positional arguments. The intent of tests was checking that tuple subtype is not leaked to called function. There is a bug, but I need to find the place where tuple subtype should be converted to tuple without needless hitting performance. |
I'm marking this as a deferred blocker as i believe we want this resolved before we exit the betas. |
This bug is not so critical. This bug exists in 3.5 and 2.7. Tests was added in bpo-18531, but at that moment the bug already was fixed in 3.6 (maybe accidentally). |
The simplest way is just change PyTuple_Check to PyTuple_CheckExact in ceval.c. Maybe this is suboptimal for tuple subclasses (namedtuple?), but I think this is very rare case. |
+1 |
New changeset 5324906ae307 by Serhiy Storchaka in branch '3.6': New changeset 858afd17e3ee by Serhiy Storchaka in branch 'default': |
Misc/NEWS
so that it is managed by towncrier #552Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: