aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2016-05-11Add dirty_call_while_terminated test caseRickard Green
2016-05-11Move dirty nif test cases into dirty_nif_SUITERickard Green
2016-05-11Add better support for communication with a process executing dirty NIFRickard 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-11erts: Add enif_snprintfBjörn-Egil Dahlberg
* Add the capability to format erlang terms to a char buffer in nifs. * Bump NIF version to 2.11
2016-05-11Merge 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-11erts: Fix non-smp max_heap_size assertLukas Larsson
2016-05-11hipe_llvm: Allow LLVM-generated constantsMagnus 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-11hipe: Extract some records into elf_format.hrlMagnus Lång
This allows for much more robust interpretation of relocations, symbols and sections in hipe_llvm_main, without the clunkiness of an abstract interface between two internal modules that belong to the same subsystem anyway.
2016-05-11wx: Fix driver command queueDan Gudmundsson
The command queue could still loose a cmd because the command was reused while still in (recursive) use, thus when deleting it after command was done a newly added command could be mistakenly deleted and not called. Root cause was that wxeFifo::Strip "deleted" to many cmds. Solve by differing deleted and executed, i.e. op= -1 cmd have been executed and op = -2 cmd have been executed and deleted.
2016-05-11Merge 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-11erts: Add max_heap_size remote gc testcaseLukas Larsson
2016-05-11Merge branch 'raimo/polish-gen_statem/OTP-13065'Raimo Niskanen
* raimo/polish-gen_statem/OTP-13065: Reword 'dispatch' into 'branch depending'
2016-05-11Reword 'dispatch' into 'branch depending'Raimo Niskanen
2016-05-11Merge 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-10runtime_tools: Fix bug in trace_ip_drvSverker Eriksson
causing extra calls to driver_select(,, _|ERL_DRV_USE, 0) reporting "... (re)selected before stop_select was called" Solution: Set data->fd to INVALID to avoid double call to close_client() in close_inlink_port().
2016-05-10xref: Fix unmatched return warningsBjörn-Egil Dahlberg
2016-05-10tags: Fix unmatched return warningsBjörn-Egil Dahlberg
2016-05-10lcnt: Fix unmatched return warningsBjörn-Egil Dahlberg
2016-05-10fprof: Fix unmatched return warningsBjörn-Egil Dahlberg
The return value of trace_clock is never used, return 'ok' instead.
2016-05-10fprof: Fix unmatched return warningsBjörn-Egil Dahlberg
2016-05-10eprof: Fix unmatched return warningsBjörn-Egil Dahlberg
2016-05-10cover: Fix unmatched return warningsBjörn-Egil Dahlberg
2016-05-10ssl: Correct test suiteIngela Anderton Andin
2016-05-10Remove conditional dirty schedulers APIRickard Green
2016-05-10erts: Skip alloc_SUITE:erts_mmap if ERL_ZFLAGSSverker Eriksson
contains flags for super carrier +MMsc*
2016-05-10erts: Fix doc typo in erts_allocSverker Eriksson
2016-05-10erts: Fix max heap size exit when in hipe modeLukas Larsson
2016-05-10Merge branch 'anders/diameter/19.0-rc1/OTP-12913'Anders Svensson
* anders/diameter/19.0-rc1/OTP-12913: vsn -> 1.12 Update appup for 19.0-rc1 Update documentation for CEA/DWA/DPA Result-Code counters
2016-05-10ssh: New test for utf8 in ssh_sftp_SUITEHans Nilsson
2016-05-10hipe: Restructure elf_format moduleMagnus Lång
2016-05-10Merge branch 'ingela/ssl/tls-1.2-available-hashsigns'Ingela Anderton Andin
* ingela/ssl/tls-1.2-available-hashsigns: ssl: ordsets:intersection/2 did not give the expected result
2016-05-10ssl: ordsets:intersection/2 did not give the expected resultIngela Anderton Andin
Turns out we can not count on the "hashsigns" sent by the client and the supported "hashigns" sets to have required properties of ordsets.
2016-05-10os_mon: Fix unmatched return warningsBjörn-Egil Dahlberg
2016-05-10ct_logs: Eliminate dialyzer warningsBjörn Gustavsson
common_test uses its own IO server that is group leader for the test case processes. By default, the IO server escapes characters with significance to HTML (e.g. '<'). In order to output HTML tags directly, the IO server must be told not to escape the output. The way to tell the IO server is to wrap the format string like this: ["$ct_html",Format] That works with common_test's own IO server, but in general not with other IO servers. Dialyzer will rightly complain that the call breaks the contract for io:format/3. To avoid the Dialyzer warning, we must obscure the wrapping of the format string. While we are at it, also refactor print_style/4 to make the code somewhat cleaner and shorter.
2016-05-10Merge branch 'lukas/stdlib/docs'Lukas Larsson
* lukas/stdlib/docs: stdlib: Fix missing anchor in epp docs
2016-05-10stdlib: Fix missing anchor in epp docsLukas Larsson
2016-05-10Update preloaded modulesLukas Larsson
2016-05-10erts: Fix pre-bif yield current_functionLukas Larsson
2016-05-10erts: Implement max_heap_size process flagLukas 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-09Merge 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-09Merge branch 'ingela/inets/revert-inets_regexp/OTP-13561'Ingela Anderton Andin
* ingela/inets/revert-inets_regexp/OTP-13561: Revert "inets: Put back inets_regexp module in OTP 18"
2016-05-09Revert "inets: Put back inets_regexp module in OTP 18"Ingela Anderton Andin
This reverts commit 7fbcbf4d1f2c81d44a5c6a4889c98f32cd4505ae.
2016-05-09hipe: Cleanup elf_format moduleMagnus Lång
2016-05-09Merge branch 'sverker/system_info-erts_mmap/OTP-13560'Sverker Eriksson
2016-05-09inets: Fix faulty merge commitSverker Eriksson
d5f8d55b37c9c63418b4fe8ad5a5aa197a9a4385
2016-05-09Merge branch 'anders/diameter/info/OTP-13508'Anders Svensson
* anders/diameter/info/OTP-13508: Add diameter:peer_find/1 Add diameter:peer_info/1
2016-05-09Merge branch 'anders/diameter/overload/OTP-13330'Anders Svensson
* anders/diameter/overload/OTP-13330: Suppress dialyzer warning Remove dead case clause Let throttling callback send a throttle message Acknowledge answers to notification pids when throttling Throttle properly with TLS Don't ask throttling callback to receive more unless needed Let a throttling callback answer a received message Let a throttling callback discard a received message Let throttling callback return a notification pid Make throttling callbacks on message reception Add diameter_tcp option throttle_cb
2016-05-09Merge branch 'anders/diameter/test/OTP-13438'Anders Svensson
* anders/diameter/test/OTP-13438: Don't assume list comprehension evaluation order
2016-05-09vsn -> 1.12Anders Svensson
2016-05-09Update appup for 19.0-rc1Anders Svensson