Age | Commit message (Collapse) | Author |
|
fix integer truncation bugs in error logger path
|
|
* sverker/valgrind-uninit-run_queue-ptr:
erts: Fix run queue pointer in proxy process
|
|
* sverker/ets-cherries/OTP-15031:
erts: Use table ref for select continuation
erts: Refactor erl_db_hash next() into next_live()
erts: Change wrong alloc_fnf
|
|
* lukas/erts/seq_tracer_nif/OTP-15029:
Fix seq_trace erl_tracer bug
Fix makefile mkdir warning
|
|
* john/erts/fix-sbwt-links:
Fix seealso tags for +sbwt/+swt
|
|
Sending a large term to the error logger has two problems related
to the size and sign of the variables used to represent lengths:
- the API functions (erts_send_error_term_to_logger() et al) perform
an unchecked narrowing conversion from size_t to int when passing
dsbufp->str_len to the internal functions; this may both truncate
the length and make it negative
- do_send_term_to_logger() and do_send_to_logger() multiply the
int-typed length by 2 before widening it to Uint and adding a few
more values; the intermediate product may overflow causing loss
of high bits and a change of sign; if the intermediate product is
negative the final size will be an extremely large positive value
The end result is that the computed buffer size can be arbitrarily
wrong, either too small or too large.
While reviewing this code I also found and fixed a potential narrowing
bug in erts_set_hole_marker().
|
|
and not the name. For more sane named table semantics.
Applies to both select/1 continuation and trap context.
|
|
where argument 'list' is the first candidate (not list->next).
Also simplified db_first_hash().
|
|
There is no NULL check here !?
|
|
Optimize performance of float_to_list/2
|
|
|
|
proc->run_queue detected as uninitialized by valgrind
but seems harmless in practice as it's not used for proxy processes.
"Bug" introduced in OTP-17 by ca0425c6ff85262bc15367f5fd9cbc51cde52b20
and made worse (but still harmless) in master for OTP-21
at fbb10ebc4a37555c7ea7f99e14286d862993976a.
|
|
Deprecate erlang:get_stacktrace/1
|
|
|
|
Make stacktraces consistent when backtrace_depth is 0
|
|
into aclocal.m4 as LM_HARDWARE_ARCH
|
|
|
|
It is allowed to set the backtrace depth to 0, but when
an exception is catched the stacktrace will still contain
one element:
1> erlang:system_flag(backtrace_depth, 0).
8
2> catch error(badarg).
{'EXIT',{badarg,[{shell,apply_fun,3,
[{file,"shell.erl"},{line,908}]}]}}
However, when an exception is raised using `erlang:raise/3`, there
will be no elements in the stacktrace:
3> catch erlang:raise(error, badarg, [{fake,name,[arg],[]}]).
{'EXIT',{badarg,[]}}
Since the `error_handler` module uses `erlang:raise/3` to
raise an exception when an undefined function is called,
there will not be any stacktrace when calling an undefined
function:
4> catch undef_module:undef_name(some_argument).
{'EXIT',{undef,[]}}
Fix this inconsistency by changing `erlang:raise/3` so that
it always includes one element in the stacktrace:
3> catch erlang:raise(error, badarg, [{fake,name,[arg],[]}]).
{'EXIT',{badarg,[{fake,name,[arg],[]}]}}
4> catch undef_module:undef_name(some_argument).
{'EXIT',{undef,[{undef_module,undef_name,[some_argument],[]}]}}
|
|
christhekeele/remove-trace-terms-from-table-types-in-match-docs
Remove trace-specific terms from docs for table-oriented matchspecs
|
|
This removes the matchspec instructions `is_seq_trace` and `get_tcw/0`
from the documentation for table-oriented matchspecs.
This is likely correct as both are already documented under "Functions
Allowed Only for Tracing", despite appearing in the list of possible
options for table specs.
The following observations further back this change up:
```erl
erlang:match_spec_test([whatever], [{'_', [], [{is_seq_trace}]}], trace).
%=> {ok,true,[],[]}
erlang:match_spec_test({whatever}, [{'_', [], [{is_seq_trace}]}], table).
%=> {error,[{error,"Special form 'is_seq_trace' used in wrong %dialect."}]}
erlang:match_spec_test([whatever], [{'_', [], [{get_tcw}]}], trace).
%=> {ok,true,[],[]}
erlang:match_spec_test({whatever}, [{'_', [], [{get_tcw}]}], table).
%=> {error,[{error,"Function get_tcw/0 cannot be called in this context."}]}
```
|
|
|
|
|
|
* rickard/process_info/OTP-14966:
Fix deadlock in HiPE gc after receive
|
|
|
|
|
|
for erts, stdlib, kernel and runtime_tools.
|
|
Also removed unused ERTS_LC_STATIC_ALLOC.
|
|
Run debug VM or config with --enable-lock-checking.
Exercise VM and then run
erts_debug:lc_graph().
to create a file "lc_graph.<pid>" in current working directory.
|
|
with just lots of renaming, nothing else.
erts_lc_locked_locks_t -> lc_thread_t
create_locked_locks -> create_thread_data
l_lcks -> thr
l_lck -> ll
And dropped erts_ prefix on some file scope types.
|
|
* rickard/monotonic_time_1_fix/OTP-15008:
Teach erlang:monotonic_time/1 the perf_counter time unit
|
|
* rickard/process_info/OTP-14966:
New process_info() implementation using signals
|
|
* rickard/signals/OTP-14589:
Fix VM probes compilation
Conflicts:
erts/emulator/beam/erl_message.c
|
|
Improve float_to_list(F, [{decimals,D}])
|
|
* lukas/erts/init_restart_flush_messages/OTP-15013:
erts: Flush messages before doing init restart
|
|
* lukas/erts/fix_openbsd_eof_poll/OTP-14346:
erts: Break etp-processes/ports when all found
erts: Don't use EV_DISPATCH on openbsd
|
|
|
|
|
|
* lukas/erl_docgen/add_github_contrib_link/OTP-14979:
erl_docgen: Remove git dependency in github link script
stdlib: Fix timer monotonic time link
erl_docgen: Use name based anchors where possible
erl_docgen: Change ghlink icon to pencil
erl_docgen: Fix ghlinks to .xmlsrc
erl_docgen: Add hover links for ghlink
erl_docgen: Add ghlink step for all non-generated doc xml files
Fix erlang:abs/2 type docs
Tickets missed in 9033a41375f3a31a18eb0cba3ea
OTP-14651: temp_alloc disabling
OTP-14652: msacc bugs
|
|
|
|
* rickard/signals/OTP-14589:
Fix seq trace
Fix bad assert
|
|
|
|
|
|
All functions, datatype and h3 headings have gotten a hover
attribute that shows a link directly to the edit page on
github for easy editing of documentation.
The github link links to the maint branch. An early attempt
was done to use the SHA of the current branch, but that did
not work well as github can only take pull requests from
branches.
|
|
If messages are not flushed they would cause problems when
the system is booting. For instance module load requests
would be issued before the prim loader has been launched.
|
|
In order to get line numbers into the ghlink we have to add a post
processing step for all xml files.
|
|
|
|
|
|
|
|
63e1c58d27ab (PR #1725) started to compile external funs
as literals.
This commit updates the dumping of literal areas to dump
external fun literals to the crash dump.
|
|
|