aboutsummaryrefslogtreecommitdiffstats
path: root/erts
AgeCommit message (Collapse)Author
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-11erts: Fix deadlock in ets:update_counter/4Sverker Eriksson
in 'set' with 'write_concurrency' when inserting default object causes table to grow and the bucket to split is protected by same lock as the key.
2016-07-11erts: Optimize db_finalize_dbterm_hashSverker Eriksson
Always free term after WUNLOCK_HASH
2016-07-08erts: Fix GC overrun bug in 'bsl' op with small Op1Sverker Eriksson
Symptom: VM abort "Overrun stack and heap" Problem: The temporary bignum created in buffer tmp_big[] will be part of the GC initiated by TestHeapPreserve, but its size is not included which can cause the GC to overflow if very unlucky. Solution: Do not include tmp_big in the GC.
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-06check_process_code: Sweep HiPE stack for literalsMagnus Lång
Because check_process_code neglected checking the HiPE stack for references to the literal area, such references would survive the purge and subsequent deletion of a module and its literal area. These dangling references would then cause incorrect behaviour or even hard crashes of the VM. By simply adding a scan of the HiPE stack to check_process_code and erts_garbage_collect_literals, this problem is fixed. In order to support full stack walks without deleting the graylimit trap, a new stack walking interface function, nstack_walk_init_sdesc_ignore_trap() was introduced.
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-05run_erl: Fix failing run_erl invokation on OpenBSDSverker Eriksson
Symptom: run_erl does exit(0) and child program (erl) does not seem to start. Running run_erl again however brings the previous child program to life. Problem: A race causing run_erl to read 0 from master pty and exit because the child has not yet opened its corresponding slave pty. Solution: Use the non standard openpty() function instead that does not expose this race as the slave fd is opened in the parent. Question: Is there a race free way to do this with posix_openpt on OpenBSD?
2016-07-05run_erl: Beautify #ifdef jungleSverker Eriksson
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-30Check libsctp for sctp funcs in configure.injonasf
Call AC_CHECK_LIB before calling AC_CHECK_FUNCS to check for functions in libsctp. Otherwise AC_CHECK_FUNCS will not link with libsctp to see if function exists.
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-29Update release notesErlang/OTP
2016-06-29Update version numbersErlang/OTP
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-27erts: Improve system_info(dist_ctrl)Sverker Eriksson
to not block multi threading. Do the same as erlang:nodes/1, just grab dist table read lock.
2016-06-22erts: Fix etp-carrier-blocks for non smpSverker Eriksson
2016-06-21erts: Add test port_SUITE:pipe_limit_envSverker Eriksson
for 9f779819f6bda734c595.
2016-06-21Use perl discovered by configureAlexey Lebedeff
2016-06-21Prepare releaseErlang/OTP
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-20Update preloaded modulesHenrik Nord
2016-06-17Merge branch 'zandra/update-dist-doc'Zandra Hird
* zandra/update-dist-doc: Remove unused Cookie from ControlMessage in the dist protocol doc
2016-06-17Merge branch 'rickard/ds-job-type-doc'Rickard Green
* rickard/ds-job-type-doc: Minor reorganization of dirty NIF documentation
2016-06-17Minor reorganization of dirty NIF documentationRickard Green
2016-06-17Remove unused Cookie from ControlMessage in the dist protocol docZandra Hird
The Cookie was removed a long time ago, but the documentation was not updated accordingly.
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-16Add documentation about dirty job typeRickard Green
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-15Don't make assumptions about build tools pathsAlexey Lebedeff
One more followup to https://github.com/erlang/otp/pull/1056 and https://github.com/erlang/otp/pull/1023 This time it's about `/usr/bin/env` and `/bin/cp`: - `/usr/bin/env` in `diameterc` was used to find the bootstrapped `escript` executable. Changed it to exlpicit call to `escript` in Makefile. - `/usr/bin/env` and `/bin/cp` were referenced in documentation build/install process. Now full paths to this tools are injected using autoconf magic.
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-14erts: Make etp-*-info take any value as inputLukas Larsson
2016-06-14erts: Add etp commands to re-compile erlangLukas Larsson
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.