-
Notifications
You must be signed in to change notification settings - Fork 41
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
Don't use erlang:get_stacktrace/0 in OTP >= 21 #315
Comments
Hi @mikpe ! As you can see in other issues (e.g., #312), Concuerror does not yet support 23.0. It's up to @aronisstav when / if that support will come. After the change in Core Erlang (taking out However, before finding out what happened with Core Erlang, I have opened a PR (#311) for investigating how support for 23.0 can be added. There, we had decided to take out all support for versions prior to 19.0. Again, it's up to @aronisstav to decide whether he wants to upgrade that to dropping support for versions prior to 21.0 or not. But, at least judging from e.g. the macro that PropEr uses, using that macro in exception handling clauses is not very invasive to the code base. A bigger problem, at least as I see it, is that Concuerror uses explicit calls to Finally, a smaller issue is that certain code bases (e.g. |
Hi @mikpe! Thank you for opening this issue! While I did try to make Concuerror "preserve" stacktraces for "user" code despite instrumentation, I did not test this feature thoroughly, so I would greatly appreciate contributions there. Regarding version support, I don't mind much raising the minimum version to 21.0, and referring users to older versions for older OTP support, as I don't mind patching "external code" in tests. In the interest of discussion I will open a separate issue about dropping support for versions prior to 21.0, in case anyone has something to say. |
As of OTP-23 erlang:get_stacktrace/0 doesn't work in any meaningful way, so we need to replace its uses in source and tests with the OTP-21 syntax for binding the stack trace in exception handling clauses.
The question is whether we can do this unconditionally, thus raising the oldest supported OTP to OTP-21, or if you want some conditional compilation macrology to handle OTP < 21 as well as OTP >= 21? (We have standard macros for this scenario, but avoiding them is nicer.)
The text was updated successfully, but these errors were encountered: