Age | Commit message (Collapse) | Author |
|
* rickard/binary_to_term_error/OTP-11931:
Replace erlang:binary_to_term() Erlang wrappers
Conflicts:
erts/preloaded/ebin/erts_internal.beam
|
|
* 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
|
|
* 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
|
|
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.
|
|
* etsukata/system_info_tolerant_timeofday/OTP-11970:
Add erlang:system_info(tolerant_timeofday)
|
|
* lukas/erts/fix_trace_on_registered_procs/OTP-11968:
erts: tracing on send now works for registered processes
|
|
This bug was introduced in R16B. Testcases have been adapted to
verify the correct behaviour.
|
|
* mikpe/openfile-dont-use-undefined-statbuf:
Fix efile_openfile() to handle stat() failure
|
|
* fenek/fix/vstudio_macro:
Add Visual Studio macros to erl_driver.h and ei.h
|
|
* lukas/erts/git_vsn_script_fix/OTP-11961:
erts: Fix git version script
|
|
|
|
|
|
- erlang:list_to_binary/1
- erlang:iolist_to_binary/1
- erlang:list_to_bitstring/1
- binary:list_to_bin/1
|
|
|
|
- erlang:binary_to_list/1
- erlang:binary_to_list/3
- erlang:bitstring_to_list/1
|
|
|
|
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]>
|
|
|
|
|
|
* 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
|
|
|
|
* 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
|
|
* lukas/erts/suspend_assert/OTP-11906:
erts: Fix faulty process suspend assert
|
|
|
|
* lukas/erts/etp-lc-macros/OTP-11904:
erts: Add etp-lc-dump and etp-ppc-stacktrace macro
|
|
|
|
* Used for introspection.
* Will return the internal key tuple if applicable
* Not documented - not for public use
|
|
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
|
|
* sverk/test-cuddle:
Fix timeout for match_spec_SUITE:otp_9422
|
|
Must receive 'abort' even after loop_runner has finished.
|
|
Add erlang:system_info(tolerant_timeofday), an API to check whether
compensation for sudden changes of system time is enabled or not.
|
|
No message for large_heap monitoring was ever sent on non-smp VM.
Bug introduced in R16B.
|
|
* egil/test-cuddling:
tools: Refactor testcase
emulator: Increase timetrap timeout for binary_SUITE
emulator: Increase timetrap timeout for match_spec_SUITE
|
|
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.
|
|
|
|
|
|
* sverk/suspend-running-race:
erts: Fix bug of scheduling a suspended process
|
|
* sverk/test-cuddle:
erts: Fix bug in test case port_SUITE:otp_5119
erts: Reduce runtime of test port_SUITE:close_deaf_port
|
|
* vinoski/dirty-nif-purge:
prevent NIF purge during dirty NIF execution
fix dirty NIF invalid memory read
|
|
* nox/remove-superfluous-echo:
Remove a superfluous echo in the emulator Makefile
|
|
Reference-count the NIF before and after invoking a NIF on dirty schedulers
to prevent having the NIF purged during the call.
|
|
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.
|
|
* sverk/change-map-subtag:
erts: Adjust is_external_header() for new map tag
Change the subtag used for maps from 0xB to 0xF
|
|
|
|
* lukas/ose/master-17.0/OTP-11334:
erts: Move debug printout to eliminate gcc warning
|
|
|
|
|
|
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)));
|
|
to not mistake a map for an external term (pid, port or ref).
|
|
* 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
|