-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Fix runtests for RemoteException capturing a UndefVarError case. #20210
Conversation
Great, applying this patch on top of e9380c0 does fix the worst part of the issue, and parallel tests fail consistently as they would if you run the tests in serial. But the UndefVarError and the deserialization backtrace is useless for identifying what actually caused the failure... |
Looks like that's a really old issue actually - if a test throws something like a |
I think this would probably happen at deserialize time on node 1 itself. And it would end up hiding the original error. |
Right, I think that's what's been happening here. This patch fixes the incorrect exit status and tests showing green when they shouldn't be, but it doesn't fix the actual test failure error getting hidden by a bunch of confusing deserialization backtraces. Will be hard to debug if intermittent problems do this, but it's also not a recent regression (vs the exit status mistake which was). |
I think that is a more involved fix. Offhand I have no idea how to tackle it. Should track it in a separate issue. FWIW:
|
Should probably treat deserialization of |
Could you point out where that stacktrace is being printed. It should probably be "updated" to the new version (similar to the last being printed). |
As a workaround for the testsystem, we can print any exceptions captured in a testset to STDERR on the workers (and not on 1) so that relevant information is not lost. |
I assume the question was in the context of the example above. Captured as a RemoteException here - Line 1388 in 7119419
And thrown here - Line 1093 in 7119419
Don't quite follow what you mean by "updated to the new version" |
The stacktraces on 0.6 are a bit changed (you can see it in the very end of the code you quoted a few posts up):
However, the stacktrace above that one uses the "old" way of printing backtraces:
so there is apparently something about the new stacktraces that are not properly hooked in for remote exceptions. |
Closes #20027
Deserialization errors due to a remote UndefVarError were not being recorded.