aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator
AgeCommit message (Collapse)Author
2014-05-06Merge branch 'maint'Sverker Eriksson
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 'maint'Lukas Larsson
* maint: erts: Fix faulty process suspend assert
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/win32_spawn_exec_quoting/OTP-11905'Lukas Larsson
* lukas/erts/win32_spawn_exec_quoting/OTP-11905: win32: Fix quoting of paths
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-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-10win32: Fix quoting of pathsLukas Larsson
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
2014-03-26Change the subtag used for maps from 0xB to 0xFKostis Sagonas
The subtag chosen for maps breaks crucial assumptions in other parts of the system, in particular the native code generation scheme used in the HiPE compiler. Therefore it is better to use 'the other' unused subtag. The main change here is the use of 0xF subtag for maps instead of 0xB. The rest of the differences are changes to and additions of comments. One more comment from my part. I noticed that the file contains the following two lines: The comment of the second line is most certainly a copy and paste error and should be appropriately fixed by the OTP developers. More importantly, it would be great if that subtag (0x7) turned out to be unused and could be used for maps instead of the 0xF one. This might turn out very handy in the future. I can elaborate on this, if needed.
2014-03-26erts: Reduce runtime of test port_SUITE:close_deaf_portSverker Eriksson
as it fails with timeout sometimes.
2014-03-26ose: Fix erts assert failed printoutsLukas Larsson
2014-03-26ose: fix for packet_bytes in fd/spawn driver.Jonas Karlsson
2014-03-26ose: Fix bug when hunting for signal proxyLukas Larsson
Sometimes the wrong signal, i.e. a read reply, would be received from this non-selective receive.
2014-03-26ose: Implement tcp inet driver for OSELukas Larsson
The inet driver for OSE has to handle signals instead of selects and thus the wrappers for ready_input/output are a little bit different. However the majority of the inet code remains the same.
2014-03-26ose: Add ifdefs for HAVE_UDPLukas Larsson
2014-03-26ose: Print faults in aio sys driver callsLukas Larsson
2014-03-26ose: erlang display goes to ramlog printfLukas Larsson
2014-03-26ose: Initiate stdin/stdout/stderrLukas Larsson
Needed to get std io to work in some OSE systems where stdio is not opened when the program starts.
2014-03-26ose: Break lmconf into one per load moduleLukas Larsson
2014-03-25Merge branch 'sverk/maps_remove_bug'Sverker Eriksson
* sverk/maps_remove_bug: erts: Fix heap overflow in maps:remove/2 when key is not found
2014-03-25Merge branch 'sverk/win-warning-io'Sverker Eriksson
* sverk/win-warning-io: erts: Fix compile warning in io.c for windows
2014-03-25erts: Fix compile warning in io.c for windowsSverker Eriksson
2014-03-25Merge branch 'paulgray/dtrace_snprintf_fix/OTP-11816'Lukas Larsson
* paulgray/dtrace_snprintf_fix/OTP-11816: Fix DTrace/SystemTap-related formatting
2014-03-25Fix DTrace/SystemTap-related formattingScott Lystig Fritchie
Thanks to Michał Ptaszek for bringing this embarrassing formatting error to my attention. Many DTrace/SystemTap trace strings are incorrectly truncated at 4/8 bytes, depending on the CPU word size. This patch expands the work from commit d032e097 by zheng siyao. Michał's report to the erlang-bugs list can be found at: http://erlang.org/pipermail/erlang-bugs/2014-March/004250.html Conflicts: erts/emulator/beam/beam_emu.c erts/emulator/beam/copy.c erts/emulator/beam/dist.c erts/emulator/beam/erl_async.c erts/emulator/beam/erl_bif_port.c erts/emulator/beam/erl_port_task.c erts/emulator/beam/erl_process.c erts/emulator/beam/io.c
2014-03-25Merge branch 'paulgray/dtrace_snprintf_fix/OTP-11816'Lukas Larsson
* paulgray/dtrace_snprintf_fix/OTP-11816: Pass full strings to DTrace probes
2014-03-25Merge branch 'bjorn/erts/zlib-fix'Björn Gustavsson
* bjorn/erts/zlib-fix: zlib: Fix adler32_combine/4 and crc32_combine/4
2014-03-24Merge branch 'sverk/win-long-filenames/OTP-11813'Sverker Eriksson
* sverk/win-long-filenames/OTP-11813: erts: Cleanup debug tracing in win_efile.c erts: Fix file:list_dir for windows paths 258 or 259 chars long erts: Increase MAXPATHLEN to 4096 for windows erts: Fix bug in efile_readlink for long win paths kernel: Fix failed tests in prim_file_SUITE for windows erts: Fix compiler warning in win_efile.c erts: Skip tests of paths longer than 255 characters as atoms erts: Skip tests of file:set_cwd for too long path on Windows erts: Make file:make_symlink/2 return {error,eperm} on Windows erts: Revert file:set_cwd impl for windows erts: Ignore reduntant slashes in windows paths fix file_SUITE:cur_dir_0 for long windows paths erts: Fix file_SUITE:make_del_dir for long paths erts: Fix long windows paths for compressed files erts: Use GetFullPathNameW to construct abs paths from relative ones erts: Fix file driver to handle long paths on windows Conflicts: erts/emulator/drivers/win32/win_efile.c
2014-03-24erts: Cleanup debug tracing in win_efile.cSverker Eriksson