| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
This prevents trapping from showing up in tracing, fixing certain
tests that assume the old and erroneous trace behavior for BIFs.
Note that this does not fix bogus arguments showing up on
exceptions as many of these functions still pass the remainder of
of the list to themselves when trapping.
|
| |
|
|
|
|
|
| |
All it does is wrap a native function for scheduling, and it no
longer has anything to do with exports.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit replaces our current BIF-specific tracing functionality
with the general function/export tracing used for everything else,
fixing a few longstanding issues:
* BIFs that trapped to themselves, for example lists:reverse/2,
would generate a call trace message for each trap but only a
single return trace message.
* BIFs that trapped elsewhere, like erlang:delete_module/1, would
lose their return trace messages altogether.
* Return/exception trace messages on tail calls would point at the
function "above" the caller.
* Call count tracing simply didn't work.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some call instructions kept the export entry outside of Arg(0) for
better argument packing, so the $DISPATCHX() macro faked a new
instruction pointer starting at "one behind" the given argument.
Some of these saved the argument on the C stack and passed that
onwards to this macro, which could provoke undefined behavior if
we were to jump out of the block, for example if we needed to
save_calls.
This commit fixes the issue by letting the macro take an argument
directly, and removing the jump on save_calls. I've also taken the
opportunity to move all dispatch-related macros to macros.tab as
it's a pinch cleaner to gather everything there.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since exit BIFs were known not to return nor touch the stack, we
allowed them to be called regardless of how the stack looked. This
was a pretty small improvement which turned out to be a annoying
hindrance to the new BIF tracing, as we'd overwrite the return
address if we turned the specialized BIF call to an ordinary call.
This commit removes that optimization. Modules compiled before OTP
23 will still work, but exit BIFs that are traced will produce
incorrect stack traces.
|
|\
| |
| | |
Supervisor tree for SSH client side
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Prepare for renaming of the supervisor and introducing supervised channel processes
|
| |
| |
| |
| | |
that is, unify all the ways client and server starts
|
| | |
|
| | |
|
|\ \ |
|
| |\ \
| | | |
| | | |
| | | |
| | | | |
* ingela/ssl/cuddle-tests:
ssl: LibreSSL-2.* s_server renegotion appears to be broken
|
| |/ / |
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* maint:
erlc: Tolerate that erlc is installed in a dir with space in its name
|
| |\ \
| | | |
| | | |
| | | |
| | | | |
* bjorn/erlc-server/OTP-15738:
erlc: Tolerate that erlc is installed in a dir with space in its name
|
| | | |
| | | |
| | | |
| | | |
| | | | |
3e9cba0f0b4f broke erlc when OTP was installed in a directory with
space in its name.
|
|\ \ \ \
| |/ / / |
|
| |\ \ \ |
|
| | | | | |
|
|\ \ \ \ \
| |/ / / / |
|
| |\ \ \ \
| | |/ / /
| |/| | |
| | | | |
| | | | | |
garazdawi/lukas/runtime_tools/stop_clear_events/OTP-16044
Fix dbg:stop_clear to remove trace events as well
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Also make sure that the dbg_SUITE cleans up after itself so that
it does not interfere with the lttng suite coming next.
|
|\ \ \ \ \
| |/ / / / |
|
| |\ \ \ \
| | | | | |
| | | | | | |
inet: Remove non-existing send_dvi; document send_pend
|
| | | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Do not crash/warn in group_history during disk_log shutdown
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Because the disk_log is started after the `user` process, there
is a chance for race conditions on shutdown, where disk_log will
terminate before `group`, which will fail to log.
Furthermore, if disk_log terminates BEFORE the shell starts,
then the whole shell will fail to start, which will trigger
another shell recursively, until the system finally shuts down.
This can be reproduced with this command:
$ erl -kernel shell_history true -s init restart
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Fix syntax error in megaco test file
|
| | | | | | | | |
|
|\ \ \ \ \ \ \ \
| | |_|/ / / / /
| |/| | | | | | |
|
| |\ \ \ \ \ \ \
| | |_|_|_|/ / /
| |/| | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
maint
* sverker/erts/persistent_term-kill-updater-bug/OTP-16041:
erts: Fix persistent_term bug when process killed during update
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Bug found by valgrind and testcase killed_while_trapping_erase
Bump refc on updating process when suspending it,
otherwise we may try to resume a (killed and) deallocated process.
|
|\ \ \ \ \ \ \ \
| |/ / / / / / / |
|
| |\ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
Add units to all crash dump doc memory slogans
|
| |/ / / / / / / |
|
|\ \ \ \ \ \ \ \
| |/ / / / / / / |
|
| |\ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
* lukas/hipe/disable-without-glibc/OTP-16037:
erts: Do not check for ic in configure if not present
hipe: Disable if non-glibc libc is detected
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Since ic was removed from the repo we only want to check for the
java for ic if it is in the repo.
|