aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator
AgeCommit message (Collapse)Author
2016-07-14erts: Fix msacc for dirty scheduler and heap_limitLukas Larsson
2016-07-14hipe: Remove performance profiling codeLukas Larsson
This type of statistics is now available through the microstate accounting API.
2016-07-13erts: Make sure to de-allocate the old seq tracerLukas Larsson
2016-07-11Merge branch 'lukas/erts/tracing/bif_return_to_trace_fix/OTP-13734' into maintLukas Larsson
* lukas/erts/tracing/bif_return_to_trace_fix/OTP-13734: erts: After a call to a tracer nif, reset htop erts: Check if return_to trace is enabled for bif
2016-07-11erts: After a call to a tracer nif, reset htopLukas Larsson
This is needed in order for the heap to never contain any pointers to invalid memory. This is good for performance and debugging reasons.
2016-07-11Merge branch 'lukas/erts/spawn_driver_relative_cd/ERL-175/OTP-13733' into maintLukas Larsson
* lukas/erts/spawn_driver_relative_cd/ERL-175/OTP-13733: erts: Add port_SUITE:cd invalid dir testcase erts: Fix spawn driver with relative cd option erts: Fix HARD_DEBUG printouts in erl_child_setup erts: Improve error printouts in erl_child_setup Conflicts: erts/emulator/test/port_SUITE.erl
2016-07-08erts: Check if return_to trace is enabled for bifLukas Larsson
We have to do an extra check if the return_to trace is enabled here as it may have been cleared by the bif after the flags where created by the call_trace.
2016-07-07Merge branch 'sverker/child-setup-debugging' into maintSverker Eriksson
2016-07-07Merge branch 'sverker/spawn-driver-env-test' into maintSverker Eriksson
2016-07-05Merge branch 'hipe-trap-gc/PR-1116/OTP-13724' into maintSverker Eriksson
* hipe-trap-gc/PR-1116: hipe: Fix bug in trap frame allocation wrappers hipe: Add assertion for gc in bif without wrapper
2016-07-05erts: Add port_SUITE:cd invalid dir testcaseLukas Larsson
2016-07-01erts: Fix spawn driver with relative cd optionLukas Larsson
2016-07-01erts: Fix HARD_DEBUG printouts in erl_child_setupLukas Larsson
2016-07-01erts: Improve error printouts in erl_child_setupLukas Larsson
Add prints to stderr with a small description of the error so that errors will be easier to debug. Also if a protocol error is detected, erl_child_setup will abort instead of exit.
2016-06-30hipe: Fix bug in trap frame allocation wrappersMagnus Lång
The trap frame allocation wrappers occasionally call the garbage collector, even though built-in functions are not supposed to. On non-{x86,amd64} platforms, HiPE was optimising the BIF wrapper interface on the basis that BIFs do not GC. So, when hipe_reserve_beam_trap_frame called the garbage collector, the state in the PCB was stale and corruption happened. Now, these particular BIFs are reclassified as GC BIFs. Unfortunately, in order to do that we needed to introduce a gc_bif_interface_3 macro in every hipe_$ARCH_bifs.m4 file.
2016-06-30hipe: Add assertion for gc in bif without wrapperMagnus Lång
An easy source of tricky bugs is to start calling the garbage collector from a built-in function without adding that bif to hipe_bif_list.m4. With this change we, in the debug build, keep track of whether the canonical stack and heap pointers are stored in the PCB or in registers/stack, allowing us to catch this class of mistakes with an assertion.
2016-06-29Fix group_leader/2Rickard Green
2016-06-28erts: Save abort reason for erl_child_setupSverker Eriksson
Nice to have for core dump inspection when stderr -> /dev/null.
2016-06-21erts: Add test port_SUITE:pipe_limit_envSverker Eriksson
for 9f779819f6bda734c595.
2016-06-20erts: Optimize spawn driver for large(r) environmentsSverker Eriksson
that need to be enqueued.
2016-06-20erts: Fix spawn driver when env size is above pipe capacitySverker Eriksson
Symptom: open_port() succeeds, port program never starts but instead seem to terminate with exit_status 150 (EINVAL+128). When: If the command payload buffer (including the entire environment) for the port program is between 1 to 4 bytes above the pipe capacity, which is 65536 bytes on newer Linux, but can be as low as 4096 on older 32-bit Linux. Since: OTP-19.0-rc1.
2016-06-17Merge branch 'raimo/uds-support/OTP-13643'Raimo Niskanen
* raimo/uds-support/OTP-13643: Update test cases after daily builds Return eafnosupport when not supported Add AF_LOCAL test cases Handle 'undefined' in fdopen
2016-06-16Merge branch 'rickard/mach-clock-fix/OTP-13686'Rickard Green
* rickard/mach-clock-fix/OTP-13686: Fix mach clock usage on Sierra
2016-06-16Return eafnosupport when not supportedRaimo Niskanen
2016-06-16Merge branch 'lukas/erts/nif_allow_port_command_in_non_sched_thread/OTP-13442'Lukas Larsson
* lukas/erts/nif_allow_port_command_in_non_sched_thread/OTP-13442: erts: Allow enif_port_command in non-sched thread
2016-06-15Merge branch 'jj1bdx-19.0-rc2-hipemmap/PR-1094'Sverker Eriksson
2016-06-15Fix mach clock usage on SierraRickard Green
2016-06-15erts: Change local sysname for ETS compressedSverker Eriksson
Yes this is an ugly workaround. One approach for a better solution could be to introduce an internal secret atom tagged as an atom with a unique index, but impossible to find by string hash lookup/insert.
2016-06-15Merge branch 'sverker/revert-ets-load-factor'Sverker Eriksson
2016-06-14Merge branch 'egil/erts/fix-runnable_proc-race/OTP-13675'Björn-Egil Dahlberg
* egil/erts/fix-runnable_proc-race/OTP-13675: erts: Fix profile runnable processes race
2016-06-14Merge branch 'lukas/erts/testfixes-19'Lukas Larsson
* lukas/erts/testfixes-19: erts: Increase bif and nif call_time trace test erts: Fix distribution_SUITE:bulk_send_bigbig on windows erts: Ensure bs_add_overflow test has enough memory kernel: Better explain controlling_process' tcp behaviour kernel: Fix t_recv_delim on bsd os_mon: Make sure to start/stop os_mon in tests correctly ssl: Fix use_interface dist_SSL test erl_interface: Fix signed int overflow tc bug erts: fix atom_roundtrip_r15b tc erts: Require more memory for debug tests
2016-06-14erts: Increase bif and nif call_time trace testLukas Larsson
This makes the time that the tests execute longer, which means that on systems with low resolution on timers (e.g. windows) the test is less likely to fail.
2016-06-14erts: Fix distribution_SUITE:bulk_send_bigbig on windowsLukas Larsson
The granualarity of the windows time sometimes makes timer:tc return 0 as the time taken for the test. Change this to use the most common time instead.
2016-06-14erts: Ensure bs_add_overflow test has enough memoryLukas Larsson
2016-06-14erts: fix atom_roundtrip_r15b tcLukas Larsson
if node fails to start, just skip testcase
2016-06-13erts: Fix profile runnable processes raceBjörn-Egil Dahlberg
2016-06-13erts: Allow enif_port_command in non-sched threadLukas Larsson
It has to be possible to send trace messages to a port from non-schedulers threads (specifically from the sys_msg_dispatcher).
2016-06-10erts: Fix undefined shift to msb in erl_processBjörn-Egil Dahlberg
2016-06-10erts: Fix undefined shift to msb in monotonic timeBjörn-Egil Dahlberg
2016-06-10erts: Fix undefined shift to msb in erl_thr_progressBjörn-Egil Dahlberg
2016-06-10Merge branch 'kvakvs/erts/monitor_port/OTP-11384'Lukas Larsson
* kvakvs/erts/monitor_port/OTP-11384: erts: Add port monitors
2016-06-10erts: Add port monitorsDmytro Lytovchenko
* erlang:monitor/2 with port argument is added, erlang:demonitor, using port task API and avoiding locking; * port_info and process_info support for monitored ports (with named port monitors support); * Exit signals contain type 'process' or 'port'; * Propagation of port exit signals; * Self-cleaning when origin process dies with monitor on; * 8 test cases + testcase for port driver crashing; * Documentation for all of the above (monitor, demonitor, port_info and process_info) updated
2016-06-10Disregard MAP_NORESERVE for FreeBSDKenji Rikitake
A fix for running 19.0-rc2 on FreeBSD with HiPE enabled. * erl_mmap.h: disregard MAP_NORESERVE for FreeBSD MAP_NORESERVE is undefined in FreeBSD 10.x and later. This is to enable 64bit HiPE experimentally on FreeBSD. Note that on FreeBSD MAP_NORESERVE was "never implemented" even before 11.x (and the flag does not exist in /usr/src/sys/vm/mmap.c of 10.3-STABLE r301478 either), and HiPE was working on OTP 18.3.3, so mandating MAP_NORESERVE on FreeBSD might not be needed. See the following message on how MAP_NORESERVE was treated on FreeBSD: <http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20150202/122958.html> * erl_mmap.c: disable MAP_NORESERVE for FreeBSD * See also <https://github.com/erlang/otp/pull/925/commits/b02ce940c8738785ad018c9f758ca0d05d256bbb>
2016-06-09Merge branch 'egil/fix-simple-crashdump-with-maps/OTP-13657'Björn-Egil Dahlberg
* egil/fix-simple-crashdump-with-maps/OTP-13657: erts: Don't crash on maps on crash dumps
2016-06-09Merge branch 'egil/lttng-change-domain'Björn-Egil Dahlberg
* egil/lttng-change-domain: runtime_tools: Change LTTng dyntrace domain erts: Change LTTng otp domain
2016-06-09Merge branch 'raimo/uds-support/OTP-13643'Raimo Niskanen
* raimo/uds-support/OTP-13643: Document the local (unix) address family Remove internal state BOUND from inet_drv
2016-06-08erts: Don't crash on maps on crash dumpsBjörn-Egil Dahlberg
- Large Maps could cause a stack overrun during crash dump generation. - This is a simple workaround until a solution has been implemented. - The error has no impact on a running system.
2016-06-08Merge branch 'rickard/misc-ds'Rickard Green
* rickard/misc-ds: Replace enif_is_on_dirty_scheduler() with enif_thread_type() No GC on dirty IO schedulers
2016-06-08Revert "erts: Change ETS hash load factor"Sverker Eriksson
This reverts commit 7c133fb1094ad1cabbb5cfc157483a43c816c6a9.
2016-06-08Revert "erts: Remove unnecessary access of 'is_resizing'"Sverker Eriksson
This reverts commit f4bdac18cb9dd45185e911308a5ebd95ff10d7fd.