-
-
Notifications
You must be signed in to change notification settings - Fork 5.4k
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
backtrace test issue #33877
Comments
Is this only on the windows buildbots? |
For the record, Jameson reports on slack that he's only observed this on the windows AWS buildbots so far. |
vtjnash
added a commit
that referenced
this issue
Dec 4, 2019
The unwinder and debuggers thought that our assembly code here was not quite correct. Rather than attempt to fix that, let the compiler generate it so we don't need to maintain it anymore. This was previously also not particularly optimal for an interpreter to need a couple extra function calls (by indirect pointer too) to setup the call frame, so now we avoid that. This simplifies the design by adding a new flag bit to the existing pgcstack frames. In the future, we may end up generalizing this support to handle stack allocation of arbitrary objects, but for now we implement just enough support for our current needs. It's unclear why dbghelp StackWalk glitches here a couple times (it is reporting the stack pointer instead of the instruction pointer as the return address), but this design is robust against that now (even though I've manually verified that that particular glitch still happens with this patch). fix #33877
vtjnash
added a commit
that referenced
this issue
Dec 4, 2019
The unwinder and debuggers thought that our assembly code here was not quite correct. Rather than attempt to fix that, let the compiler generate it so we don't need to maintain it anymore. This was previously also not particularly optimal for an interpreter to need a couple extra function calls (by indirect pointer too) to setup the call frame, so now we avoid that. This simplifies the design by adding a new flag bit to the existing pgcstack frames. In the future, we may end up generalizing this support to handle stack allocation of arbitrary objects, but for now we implement just enough support for our current needs. It's unclear why dbghelp StackWalk glitches here a couple times (it is reporting the stack pointer instead of the instruction pointer as the return address), but this design is robust against that now (even though I've manually verified that that particular glitch still happens with this patch). fix #33877
vtjnash
added a commit
that referenced
this issue
Dec 4, 2019
The unwinder and debuggers thought that our assembly code here was not quite correct. Rather than attempt to fix that, let the compiler generate it so we don't need to maintain it anymore. This was previously also not particularly optimal for an interpreter to need a couple extra function calls (by indirect pointer too) to setup the call frame, so now we avoid that. This simplifies the design by adding a new flag bit to the existing pgcstack frames. In the future, we may end up generalizing this support to handle stack allocation of arbitrary objects, but for now we implement just enough support for our current needs. It's unclear why dbghelp StackWalk glitches here a couple times (it is reporting the stack pointer instead of the instruction pointer as the return address), but this design is robust against that now (even though I've manually verified that that particular glitch still happens with this patch). fix #33877
vtjnash
added a commit
that referenced
this issue
Dec 4, 2019
The unwinder and debuggers thought that our assembly code here was not quite correct. Rather than attempt to fix that, let the compiler generate it so we don't need to maintain it anymore. This was previously also not particularly optimal for an interpreter to need a couple extra function calls (by indirect pointer too) to setup the call frame, so now we avoid that. This simplifies the design by adding a new flag bit to the existing pgcstack frames. In the future, we may end up generalizing this support to handle stack allocation of arbitrary objects, but for now we implement just enough support for our current needs. It's unclear why dbghelp StackWalk glitches here a couple times (it is reporting the stack pointer instead of the instruction pointer as the return address), but this design is robust against that now (even though I've manually verified that that particular glitch still happens with this patch). fix #33877
vtjnash
added a commit
that referenced
this issue
Dec 11, 2019
The unwinder and debuggers thought that our assembly code here was not quite correct. Rather than attempt to fix that, let the compiler generate it so we don't need to maintain it anymore. This was previously also not particularly optimal for an interpreter to need a couple extra function calls (by indirect pointer too) to setup the call frame, so now we avoid that. This simplifies the design by adding a new flag bit to the existing pgcstack frames. In the future, we may end up generalizing this support to handle stack allocation of arbitrary objects, but for now we implement just enough support for our current needs. It's unclear why dbghelp StackWalk glitches here a couple times (it is reporting the stack pointer instead of the instruction pointer as the return address), but this design is robust against that now (even though I've manually verified that that particular glitch still happens with this patch). fix #33877
JeffBezanson
pushed a commit
that referenced
this issue
Dec 12, 2019
The unwinder and debuggers thought that our assembly code here was not quite correct. Rather than attempt to fix that, let the compiler generate it so we don't need to maintain it anymore. This was previously also not particularly optimal for an interpreter to need a couple extra function calls (by indirect pointer too) to setup the call frame, so now we avoid that. This simplifies the design by adding a new flag bit to the existing pgcstack frames. In the future, we may end up generalizing this support to handle stack allocation of arbitrary objects, but for now we implement just enough support for our current needs. It's unclear why dbghelp StackWalk glitches here a couple times (it is reporting the stack pointer instead of the instruction pointer as the return address), but this design is robust against that now (even though I've manually verified that that particular glitch still happens with this patch). fix #33877
Eventually I loaded that PR up in a debugger on the CI worker and stepped through the code until I observed the source of the failure. |
KristofferC
pushed a commit
that referenced
this issue
Apr 11, 2020
The unwinder and debuggers thought that our assembly code here was not quite correct. Rather than attempt to fix that, let the compiler generate it so we don't need to maintain it anymore. This was previously also not particularly optimal for an interpreter to need a couple extra function calls (by indirect pointer too) to setup the call frame, so now we avoid that. This simplifies the design by adding a new flag bit to the existing pgcstack frames. In the future, we may end up generalizing this support to handle stack allocation of arbitrary objects, but for now we implement just enough support for our current needs. It's unclear why dbghelp StackWalk glitches here a couple times (it is reporting the stack pointer instead of the instruction pointer as the return address), but this design is robust against that now (even though I've manually verified that that particular glitch still happens with this patch). fix #33877
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Been seeing a lot of this start happening recently: https://build.julialang.org/#/builders/65/builds/5828
The text was updated successfully, but these errors were encountered: