-
-
Notifications
You must be signed in to change notification settings - Fork 373
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
Spurious Failures in successful require
#1332
Labels
BLOCKER
Preventing the next release of rakudo, or just needing attention before the release
Comments
Worth mentioning: this test file on occasion flops during stresstests |
AlexDaniel
added
the
BLOCKER
Preventing the next release of rakudo, or just needing attention before the release
label
Apr 25, 2018
Adding the blocker label (for 2018.05 release) because it constantly flops in release-related operations. (example) |
niner
added a commit
that referenced
this issue
Apr 25, 2018
We compiled a require unconditionally to the actual module loading code plus an indirect lookup of the loaded module. If the loaded comp unit does not actually contain a module with that name the lookup would fail. However we don't sink require's return value so the Failure would escape. Fix by only compiling the indirect lookup when someone's actually interested in the result. Seems to fix GH #1332
Hopefully fixed in commit 666eb3a though the stated diagnosis was only really true for the first Failure. But with that fixed I fail to reproduce the others, too. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Need to run
t/fudgeandrun S11-modules/require.t
a few times to trigger this. The warnings reference two successfulrequire
s, so there should not be any Failures.This can be worked around with
(require ...) orelse Nil
or(require ...) andthen Nil
. I also stuck a .^name print statement intoorelse
there and it always prints the module's name, not a Failure.Same symptoms in RT#131996. Closing it in favour of this Issue, since this one is easier to repro.
The text was updated successfully, but these errors were encountered: