aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator
AgeCommit message (Collapse)Author
2014-06-06Merge branch 'rickard/binary_to_term_error/OTP-11931' into maintRickard Green
* rickard/binary_to_term_error/OTP-11931: Replace erlang:binary_to_term() Erlang wrappers Conflicts: erts/preloaded/ebin/erts_internal.beam
2014-06-06Merge branch 'rickard/yielding-binary-list-conversions/OTP-11888' into maintRickard Green
* rickard/yielding-binary-list-conversions/OTP-11888: Add test-case comparing old and new implementations Make binary BIFs converting from lists yield on large input Make binary BIFs converting to lists yield on large input
2014-06-06Merge branch 'rickard/disable-gc-fix/OTP-11887' into maintRickard Green
* rickard/disable-gc-fix/OTP-11887: Do not GC other processes in non-smp runtime Fix conversion of empty string in erts_convert_native_to_filename() Add support for failing in BIF that has trapped HiPE wrappers for BIFs disabling GC
2014-06-05Replace erlang:binary_to_term() Erlang wrappersRickard Green
Replace the 'erlang:binary_to_term/1' and 'erlang:binary_to_term/2' Erlang wrappers taking care of failure after yield with management of this in the hidden yield BIF.
2014-06-05Merge branch 'etsukata/system_info_tolerant_timeofday/OTP-11970' into maintLukas Larsson
* etsukata/system_info_tolerant_timeofday/OTP-11970: Add erlang:system_info(tolerant_timeofday)
2014-06-05Merge branch 'lukas/erts/fix_trace_on_registered_procs/OTP-11968' into maintLukas Larsson
* lukas/erts/fix_trace_on_registered_procs/OTP-11968: erts: tracing on send now works for registered processes
2014-06-05erts: tracing on send now works for registered processesLukas Larsson
This bug was introduced in R16B. Testcases have been adapted to verify the correct behaviour.
2014-06-04Merge branch 'mikpe/openfile-dont-use-undefined-statbuf' into maintMarcus Arendt
* mikpe/openfile-dont-use-undefined-statbuf: Fix efile_openfile() to handle stat() failure
2014-06-04Merge branch 'fenek/fix/vstudio_macro' into maintMarcus Arendt
* fenek/fix/vstudio_macro: Add Visual Studio macros to erl_driver.h and ei.h
2014-06-03Merge branch 'lukas/erts/git_vsn_script_fix/OTP-11961' into maintLukas Larsson
* lukas/erts/git_vsn_script_fix/OTP-11961: erts: Fix git version script
2014-06-03erts: Fix git version scriptLukas Larsson
2014-05-22Add test-case comparing old and new implementationsRickard Green
2014-05-22Make binary BIFs converting from lists yield on large inputRickard Green
- erlang:list_to_binary/1 - erlang:iolist_to_binary/1 - erlang:list_to_bitstring/1 - binary:list_to_bin/1
2014-05-22Do not GC other processes in non-smp runtimeRickard Green
2014-05-22Make binary BIFs converting to lists yield on large inputRickard Green
- erlang:binary_to_list/1 - erlang:binary_to_list/3 - erlang:bitstring_to_list/1
2014-05-22Fix conversion of empty string in erts_convert_native_to_filename()Rickard Green
2014-05-14Fix efile_openfile() to handle stat() failureMikael Pettersson
If the initial stat() fails then efile_openfile() will still proceed to open() the file. If that succeeds and the caller passed a non-NULL pSize, then it will copy bogus data from the statbuf into *pSize. This has been observed to cause file:read_file/1 to return truncated file data with no error indication. The use case involved a large file system mounted via NFS, with some directories containing large number of files, and NFS mount options that allow the NFS client to return EIO if the NFS server does not respond quickly enough. Depending on the caching state of the client and server machines, a few stat() calls (fewer than 1 per 10 million) would take long enough to trigger EIO errors, but subsequent open() calls would succeed, and read_file/1 would return truncated data. This sequence of events has been observed via "strace" on beam.smp. Signed-off-by: Mikael Pettersson <[email protected]>
2014-05-13Add support for failing in BIF that has trappedRickard Green
2014-05-13HiPE wrappers for BIFs disabling GCSverker Eriksson
2014-05-12Merge branch 'egil/fix-erts_debug-size/OTP-11923' into maintBjörn-Egil Dahlberg
* egil/fix-erts_debug-size/OTP-11923: erts: Update preloaded erts_internal.beam erts: Add spec for erts_internal:map_to_tuple_keys/1 erts: Add testcase for erts_debug:size/1 Map terms kernel: Fix erts_debug:size/1 to handle Map sizes erts: Add erts_internal:map_to_tuple_keys/1
2014-05-08Add Visual Studio macros to erl_driver.h and ei.hPiotr Nosek
2014-05-06Merge branch 'sverk/ets-delete-unfix-race/OTP-11892' into maintSverker Eriksson
* sverk/ets-delete-unfix-race/OTP-11892: Fix race between ETS table deletion and unfixation erts: Add etp commands for alloc_util block and carrier inspection
2014-05-05Merge branch 'lukas/erts/suspend_assert/OTP-11906' into maintLukas Larsson
* lukas/erts/suspend_assert/OTP-11906: erts: Fix faulty process suspend assert
2014-05-05erts: Fix faulty process suspend assertLukas Larsson
2014-05-05Merge branch 'lukas/erts/etp-lc-macros/OTP-11904' into maintLukas Larsson
* lukas/erts/etp-lc-macros/OTP-11904: erts: Add etp-lc-dump and etp-ppc-stacktrace macro
2014-04-30erts: Add testcase for erts_debug:size/1 Map termsBjörn-Egil Dahlberg
2014-04-30erts: Add erts_internal:map_to_tuple_keys/1Björn-Egil Dahlberg
* Used for introspection. * Will return the internal key tuple if applicable * Not documented - not for public use
2014-04-29Fix race between ETS table deletion and unfixationSverker Eriksson
Symptom: VM crash running mnesia_SUITE Scenario: Process A terminates while still having fixed table T and process B "at the same time" deletes table T with ets:delete/1 or by terminating. Problem: A table scheduled for deallocation do only have a valid 'common' part. The unfix-table-at-process-exit code tried to read the hash-specific part of such a table. Solution: Must back off if DB_DELETE flag is set. Since: R16B
2014-04-29Merge branch 'sverk/test-cuddle' into maintSverker Eriksson
* sverk/test-cuddle: Fix timeout for match_spec_SUITE:otp_9422
2014-04-29Fix timeout for match_spec_SUITE:otp_9422Sverker Eriksson
Must receive 'abort' even after loop_runner has finished.
2014-04-28Add erlang:system_info(tolerant_timeofday)Eiichi Tsukata
Add erlang:system_info(tolerant_timeofday), an API to check whether compensation for sudden changes of system time is enabled or not.
2014-04-08erts: Fix system_monitor(large_heap) for non-smp VMSverker Eriksson
No message for large_heap monitoring was ever sent on non-smp VM. Bug introduced in R16B.
2014-04-02Merge branch 'egil/test-cuddling'Björn-Egil Dahlberg
* egil/test-cuddling: tools: Refactor testcase emulator: Increase timetrap timeout for binary_SUITE emulator: Increase timetrap timeout for match_spec_SUITE
2014-04-01erts: Make binary_SUITE:deep less stressfulSverker Eriksson
as it times out on some machines. Not much point in redoing with lower input reductions when the terms are so big we will trap several times anyway.
2014-04-01emulator: Increase timetrap timeout for binary_SUITEBjörn-Egil Dahlberg
2014-04-01emulator: Increase timetrap timeout for match_spec_SUITEBjörn-Egil Dahlberg
2014-03-31Merge branch 'sverk/suspend-running-race'Sverker Eriksson
* sverk/suspend-running-race: erts: Fix bug of scheduling a suspended process
2014-03-31Merge branch 'sverk/test-cuddle'Sverker Eriksson
* sverk/test-cuddle: erts: Fix bug in test case port_SUITE:otp_5119 erts: Reduce runtime of test port_SUITE:close_deaf_port
2014-03-31Merge branch 'vinoski/dirty-nif-purge'Rickard Green
* vinoski/dirty-nif-purge: prevent NIF purge during dirty NIF execution fix dirty NIF invalid memory read
2014-03-28Merge branch 'nox/remove-superfluous-echo'Björn-Egil Dahlberg
* nox/remove-superfluous-echo: Remove a superfluous echo in the emulator Makefile
2014-03-28prevent NIF purge during dirty NIF executionSteve Vinoski
Reference-count the NIF before and after invoking a NIF on dirty schedulers to prevent having the NIF purged during the call.
2014-03-28fix dirty NIF invalid memory readSteve Vinoski
Dirty NIF support used an Export structure to facilitate calls to dirty NIFs and finalizers, but Export isn't large enough to hold all necessary data. This was causing an invalid memory read in beam_emu.c past the end of the Export object. Add a local extended Export struct to erl_nif.c that can hold all the necessary data.
2014-03-28Merge branch 'sverk/change-map-subtag'Sverker Eriksson
* sverk/change-map-subtag: erts: Adjust is_external_header() for new map tag Change the subtag used for maps from 0xB to 0xF
2014-03-28erts: Add etp-lc-dump and etp-ppc-stacktrace macroLukas Larsson
2014-03-28Merge branch 'lukas/ose/master-17.0/OTP-11334'Lukas Larsson
* lukas/ose/master-17.0/OTP-11334: erts: Move debug printout to eliminate gcc warning
2014-03-28erts: Move debug printout to eliminate gcc warningLukas Larsson
2014-03-27erts: Fix bug in test case port_SUITE:otp_5119Sverker Eriksson
2014-03-27erts: Fix bug of scheduling a suspended processSverker Eriksson
This is a race that can cause RUNNING (instead of RUNNING_SYS) set on a SUSPENDED process. The effect of this race happening is probably quite benign. The bug was discovered by process_SUITE:processes_gc_trap on debug VM crashing on last assert in schedule(): /* Never run a suspended process */ ASSERT(!(ERTS_PSFLG_SUSPENDED & erts_smp_atomic32_read_nob(&p->state)));
2014-03-27erts: Adjust is_external_header() for new map tagSverker Eriksson
to not mistake a map for an external term (pid, port or ref).
2014-03-27Merge branch 'lukas/ose/master-17.0/OTP-11334'Lukas Larsson
* lukas/ose/master-17.0/OTP-11334: ose: Fix erts assert failed printouts ose: fix for packet_bytes in fd/spawn driver. ose: Prepare slave for running on OSE ose: Fix bug when hunting for signal proxy ose: Implement tcp inet driver for OSE ose: Add ifdefs for HAVE_UDP ose: Yielding has to be done differently for background processes. ose: Print faults in aio sys driver calls ose: Prinout errno when to_erl read fails ose: erlang display goes to ramlog printf ose: Initiate stdin/stdout/stderr ose: Break lmconf into one per load module ose: Reset busy port when pdq empty ose: Restore the owner of the signal