Age | Commit message (Collapse) | Author | |
---|---|---|---|
2016-05-12 | erts: Remove compiler warning | Sverker Eriksson | |
'hx' may be used uninitialized | |||
2016-05-12 | erts: Add send/receive trace to match spec user guide | Sverker Eriksson | |
Introduce section/terminology "Match target". | |||
2016-05-12 | erts: Fix confusion among match spec examples | Sverker Eriksson | |
Tracing and ETS examples were not separated correctly under the corresponding headings. | |||
2016-05-12 | time_SUITE: Make consistency/1 work in any timezone | Björn Gustavsson | |
time_SUITE:consistency/1 would only work in CET, which was reasonable when the test suites were always run in Stockholm. Nowadays it is expected that you can run the test suite in any timezone. Therefore, only make sure that that difference between localtime/1 and universaltime/1 is "reasonable". | |||
2016-05-12 | Revert "Prepare release" | Erlang/OTP | |
This reverts commit bd64ad8e15d66e48b36dbe3584315dd5cfc8b59a. | |||
2016-05-11 | erts: Document enif_snprintf | Björn-Egil Dahlberg | |
2016-05-11 | erts: Add tests for enif_snprintf | Björn-Egil Dahlberg | |
2016-05-11 | Prepare release | Erlang/OTP | |
2016-05-11 | Merge branch 'lukas/trace-fix' | Rickard Green | |
* lukas/trace-fix: erts: Only allow remove from trace_status callback | |||
2016-05-11 | Merge branch 'rickard/ds-proc-exit/OTP-13123' | Rickard Green | |
* rickard/ds-proc-exit/OTP-13123: Add dirty_heap_access test case Add dirty_call_while_terminated test case Move dirty nif test cases into dirty_nif_SUITE Add better support for communication with a process executing dirty NIF Remove conditional dirty schedulers API | |||
2016-05-11 | erts: Only allow remove from trace_status callback | Lukas Larsson | |
Make it so that it is only possible to remove a tracer via returning remove from an erl_tracer. This limition is put in place in order to avoid a lot of lock checking and taking in various places, especially in regards to trace events happening on dirty schedulers. | |||
2016-05-11 | Add dirty_heap_access test case | Rickard Green | |
2016-05-11 | Add dirty_call_while_terminated test case | Rickard Green | |
2016-05-11 | Move dirty nif test cases into dirty_nif_SUITE | Rickard Green | |
2016-05-11 | Add better support for communication with a process executing dirty NIF | Rickard Green | |
- Termination of a process... - Modify trace flags of process... - Process info on process... - Register/unregister of name on process... - Set group leader on process... ... while it is executing a dirty NIF. | |||
2016-05-11 | erts: Add enif_snprintf | Björn-Egil Dahlberg | |
* Add the capability to format erlang terms to a char buffer in nifs. * Bump NIF version to 2.11 | |||
2016-05-11 | Merge branch 'lukas/erts/max_heap_size/OTP-13174' | Lukas Larsson | |
* lukas/erts/max_heap_size/OTP-13174: erts: Fix non-smp max_heap_size assert | |||
2016-05-11 | erts: Fix non-smp max_heap_size assert | Lukas Larsson | |
2016-05-11 | hipe_llvm: Allow LLVM-generated constants | Magnus Lång | |
Since 3.7, LLVM sometimes generates SSE constants in a special constant section with the requisite alignment (".rodata.cst16"). This broke hipe_llvm since it assumed that all constants that were linked from the text section were constants generated by hipe_llvm. As this is the first time alignments larger than 8 have been required, some small changes were required to hipe_consttab and hipe_bifs:alloc_data/2. Note that hipe_bifs:alloc_data/2 still assumes that erl_alloc will provide the requisite alignment. | |||
2016-05-11 | Merge branch 'lukas/erts/max_heap_size/OTP-13175' | Lukas Larsson | |
* lukas/erts/max_heap_size/OTP-13174: erts: Add max_heap_size remote gc testcase | |||
2016-05-11 | erts: Add max_heap_size remote gc testcase | Lukas Larsson | |
2016-05-11 | Merge branch 'lukas/erts/max_heap_size/OTP-13174' | Lukas Larsson | |
* lukas/erts/max_heap_size/OTP-13174: erts: Fix max heap size exit when in hipe mode Update preloaded modules erts: Fix pre-bif yield current_function erts: Implement max_heap_size process flag | |||
2016-05-10 | Remove conditional dirty schedulers API | Rickard Green | |
2016-05-10 | erts: Skip alloc_SUITE:erts_mmap if ERL_ZFLAGS | Sverker Eriksson | |
contains flags for super carrier +MMsc* | |||
2016-05-10 | erts: Fix doc typo in erts_alloc | Sverker Eriksson | |
2016-05-10 | erts: Fix max heap size exit when in hipe mode | Lukas Larsson | |
2016-05-10 | Update preloaded modules | Lukas Larsson | |
2016-05-10 | erts: Fix pre-bif yield current_function | Lukas Larsson | |
2016-05-10 | erts: Implement max_heap_size process flag | Lukas Larsson | |
The max_heap_size process flag can be used to limit the growth of a process heap by killing it before it becomes too large to handle. It is possible to set the maximum using the `erl +hmax` option, `system_flag(max_heap_size, ...)`, `spawn_opt(Fun, [{max_heap_size, ...}])` and `process_flag(max_heap_size, ...)`. It is possible to configure the behaviour of the process when the maximum heap size is reached. The process may be sent an untrappable exit signal with reason kill and/or send an error_logger message with details on the process state. A new trace event called gc_max_heap_size is also triggered for the garbage_collection trace flag when the heap grows larger than the configured size. If kill and error_logger are disabled, it is still possible to see that the maximum has been reached by doing garbage collection tracing on the process. The heap size is defined as the sum of the heap memory that the process is currently using. This includes all generational heaps, the stack, any messages that are considered to be part of the heap and any extra memory the garbage collector may need during collection. In the current implementation this means that when a process is set using on_heap message queue data mode, the messages that are in the internal message queue are counted towards this value. For off_heap, only matched messages count towards the size of the heap. For mixed, it depends on race conditions within the VM whether a message is part of the heap or not. Below is an example run of the new behaviour: Eshell V8.0 (abort with ^G) 1> f(P),P = spawn_opt(fun() -> receive ok -> ok end end, [{max_heap_size, 512}]). <0.60.0> 2> erlang:trace(P, true, [garbage_collection, procs]). 1 3> [P ! lists:duplicate(M,M) || M <- lists:seq(1,15)],ok. ok 4> =ERROR REPORT==== 26-Apr-2016::16:25:10 === Process: <0.60.0> Context: maximum heap size reached Max heap size: 512 Total heap size: 723 Kill: true Error Logger: true GC Info: [{old_heap_block_size,0}, {heap_block_size,609}, {mbuf_size,145}, {recent_size,0}, {stack_size,9}, {old_heap_size,0}, {heap_size,211}, {bin_vheap_size,0}, {bin_vheap_block_size,46422}, {bin_old_vheap_size,0}, {bin_old_vheap_block_size,46422}] flush(). Shell got {trace,<0.60.0>,gc_start, [{old_heap_block_size,0}, {heap_block_size,233}, {mbuf_size,145}, {recent_size,0}, {stack_size,9}, {old_heap_size,0}, {heap_size,211}, {bin_vheap_size,0}, {bin_vheap_block_size,46422}, {bin_old_vheap_size,0}, {bin_old_vheap_block_size,46422}]} Shell got {trace,<0.60.0>,gc_max_heap_size, [{old_heap_block_size,0}, {heap_block_size,609}, {mbuf_size,145}, {recent_size,0}, {stack_size,9}, {old_heap_size,0}, {heap_size,211}, {bin_vheap_size,0}, {bin_vheap_block_size,46422}, {bin_old_vheap_size,0}, {bin_old_vheap_block_size,46422}]} Shell got {trace,<0.60.0>,exit,killed} | |||
2016-05-09 | Merge branch 'binarin/fix-build-tool-paths/PR-1023/OTP-13562' | Lukas Larsson | |
* binarin/fix-build-tool-paths/PR-1023/OTP-13562: Fix program paths used in build process Conflicts: erts/configure.in | |||
2016-05-09 | Merge branch 'sverker/system_info-erts_mmap/OTP-13560' | Sverker Eriksson | |
2016-05-09 | Merge branch 'sverker/trace-send-receive-matchspec/OTP-13507' | Sverker Eriksson | |
2016-05-09 | erts: Remove some attributes from the abstract format doc | Hans Bolinder | |
Some wild attributes are no longer mentioned separately. | |||
2016-05-05 | erl_unicode.c: fix integer truncation problems | Mikael Pettersson | |
- use Sint for 'left' and Uint for 'pos' - cost_to_proc(): adjust types, remove unused return value - copy_utf8_bin(): return Uint - characters_to_utf8_trap(): remove harmful cast - unicode_characters_to_binary_2(): correct types in debug code - erts_convert_filename_to_encoding(): remove useless cast | |||
2016-05-05 | do not limit heap fragments to 4 giga-words | Mikael Pettersson | |
- struct erl_heap_fragment: use Uint for sizes - erl_nif.c: use size_t for sizes - erts_heap_frag_shrink(): remove now redundant cast | |||
2016-05-05 | erts_new_mso_binary(): do not truncate len | Mikael Pettersson | |
2016-05-04 | erts: Show exec_alloc as disabled when not used | Sverker Eriksson | |
2016-05-04 | erts: Refactor ERTS_ALC_INFO_A_* constants | Sverker Eriksson | |
as an enum and replace _MAX with _END | |||
2016-05-04 | erts: Add send and 'receive' to trace_info/2 | Sverker Eriksson | |
to obtain match specs | |||
2016-05-04 | erts: Fix bug in trace_pattern for 'on_load' | Sverker Eriksson | |
'on_load' is a call trace. | |||
2016-05-04 | erts: Fix missing type in doc for trace_pattern | Sverker Eriksson | |
2016-05-04 | erts: Fix PAM to be callable from non-scheduler thread | Sverker Eriksson | |
also simplified the interface to to run PAM from trace | |||
2016-05-04 | erts: Add docs for trace_pattern with 'send' and 'receive' | Sverker Eriksson | |
2016-05-04 | erts: Change receive matchspec to [NodeOrOther, Pid, Msg] | Sverker Eriksson | |
2016-05-04 | erts: Add Sender in 'receive' trace matchspec | Sverker Eriksson | |
All 'EXIT' and monitor messages are sent from 'system' Timeouts are "sent" from 'clock_service' | |||
2016-05-04 | erts: Add matchspec restrictions for 'receive' trace | Sverker Eriksson | |
and non-call-trace. This is the easy way out to avoid difficult locking scenarios when accessing tracing flags on another process. | |||
2016-05-04 | erts: Add matchspec to 'receive' trace | Sverker Eriksson | |
2016-05-04 | erts: Remove multi scheduler blocking in match specs | Sverker Eriksson | |
for enable_trace and disable_trace operations. Instead seize needed locks while updating trace flags. | |||
2016-05-04 | erts: Add match spec for send trace | Sverker Eriksson | |
2016-05-04 | erts: Rename constants in enum erts_break_op | Sverker Eriksson | |
with uppercase for constants and why not call them 'RESTART' and 'PAUSE' as the API. |