Age | Commit message (Collapse) | Author |
|
Conflicts:
erts/vsn.mk
|
|
* rickard/process-status/OTP-9197:
Fix thread unsafe access
Fix lost wakeup when process garbage collected by other
Only set status P_WAITING when needed
Add testcase for process_info() badarg bug
|
|
Fix thread unsafe access to process status field introduced in OTP-9125.
|
|
|
|
The status of a process was unnecessarily set to waiting before
the process was enqueued in a run queue. This bug was harmless
up until OTP-R14B01. In OTP-R14B02 erlang:hibernate/3 was fixed
(OTP-9125). After the introduction of OTP-9125, the previously
harmless process status bug sometimes caused erroneous badarg
exceptions from process_info().
|
|
|
|
* ta/erts-unused-vars:
erts: Remove unused variables
OTP-9205
|
|
|
|
* ks/hipe-ppc64:
Enable HiPE by default when compiling for PPC64
Translate RTL to PPC code on PPC64 too
Changes in ppc files for PPC64
Additions for the PPC64 backend
Changes for the PPC64 backend
Added loader for ppc64
New files for the 64-bit backends
Cleanup tags
OTP-9198
|
|
* egil/estone-exported-fix:
Fix unexported function in estone testcase
|
|
|
|
|
|
* hw/call-chmod-without-f:
Call chmod without the "-f" flag
Conflicts:
erts/emulator/test/Makefile
lib/asn1/test/Makefile
lib/crypto/test/Makefile
lib/debugger/test/Makefile
lib/docbuilder/test/Makefile
lib/edoc/test/Makefile
lib/erl_interface/test/Makefile
lib/inviso/test/Makefile
lib/parsetools/test/Makefile
lib/percept/test/Makefile
lib/ssl/test/Makefile
lib/syntax_tools/test/Makefile
lib/test_server/test/Makefile
lib/tools/test/Makefile
OTP-9170
|
|
Calling a BIF thaf is called as a function (such as process_info/{1,2})
would leave a non-zero value in c_p->cp, which would lead to
duplicate entries in the stacktrace.
|
|
For some historical reason, the transformation of a func_info/3
instruction to the internal i_func_info/4 instruction is more
involved than it needs to be. Remove the gen_func_info() function
in the loader and use a simple transformation.
|
|
* pan/valgrind_xml_log:
Make xml valgrind messages end up in xml log
OTP-9079
|
|
* pan/tcp_send_timeout/OTP-9145:
Add testcase
Teach tcp_recv not to cancel send timer
|
|
* pan/system_info_procs_crash/OTP-9140:
Make erts_printf %T not recurse on C stack
Corrected fd_driver and cleaned up some really old code in win32/sys.[ch]
|
|
pan/valgrind_xml_log
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* pg/hipe-remove-constants-pool:
Remove hipe constants pool
OTP-9128
|
|
* bjorn/binary-overflow/OTP-9117:
Fix 18 exabyte memory allocation failure
|
|
* pg/fix-hibernate-with-hipe:
Update copyright years
Fix NULL-free bug in hibernate on debug emulator
Fix several bugs related to hibernate/3 and HiPE
Conflicts:
erts/emulator/test/hibernate_SUITE.erl
OTP-9125
|
|
|
|
|
|
* sverker/valgrind-new-suppressions:
Make halfword emulator with valgrind target allocate low memory
Add erts_alloc_permanent_cache_aligned to supress valgrind
|
|
Limit ERTS_MSEG_FAKE_SEGMENTS (that is otherwise set for valgrind
target) to not apply to low memory needed by halfword emulator. This
will reduce the fault detection capability of valgrind for low memory.
Also correct a bug in the initial mmap and make sure the returned
memory region does not reach into high memory.
|
|
The new_binary() function takes a size argument that is an
int. In the 64-bit emulator (sizeof(int) == 4, sizeof(Uint) == 8),
any sizes >= 0x8000000 become 0xffffffff80000000 and above and
triggers a memory allocation failure.
Change the type of the size argument to Uint, and change any
callers that cast the argument to an int.
Correction-by: Jon Meredith
|
|
|
|
The call_fun() function in the BEAM emulator is supposed to
to put the fun term in the x register following the actual arguments
and environment for the fun. But if the fun is not loaded and
a call to the error_handler:undefined_lambda/3 function is set up,
the x(3) register will not be initialized.
The lack of initialization is very unlikely to cause a problem
in practice, because all of the following things must happen:
1) An unloaded fun must be called (i.e. the fun must have
been received from another node or from a file or dets table).
2) The process must be scheduled out before the call to the
error_handler:undefined_lambda/3 function can take place.
3) The process must be garbage collected before the process
is scheduled in.
4) The x(3) register must contain a stale cons or box pointer
that happens to point into the the heap of the currently
executing process. (Because of the literal pool, the GC will
never copy anything that is outside of the heap.)
I was not able to write a test case that would force an
emulator crash.
|
|
Fixing miscellaneous "things" "detected" by dialyzer.
Also updated end date for a number of erts files.
|
|
Ease the valgrind supression of memory that are permanently
allocated and then aligned up to cache line.
|
|
same thread
|
|
|
|
* pan/halfword-tmp-heap-fixes/OTP-8332:
Fix assymetric (Un)UseTmpHeap in erl_process.c
Conflicts:
erts/emulator/beam/beam_emu.c
|
|
* sverker/driver_SUITE_smp_select_nice_fail/OTP-9042:
Allow unexpected driver input event in driver_SUITE:smp_select
|
|
* pan/inet-so-priority-ip-tos/OTP-9069:
Add patch from Per Hedeland
Ignore permission error when implicitly setting SO_PRIORITY
|
|
* bjorn/erts/crash-dumps/OTP-9057:
Don't dump the contents of ordered_set ets tables
Write the value "Time left" for BIF timers as an unsigned integer
|
|
|
|
* rickard/unbound/OTP-9056:
Allow bindtype unbound when no cpu topology is available
|
|
|
|
|
|
* rickard/temp_alloc_check/OTP-9028:
Verify that temp allocated memory is released
|
|
* rickard/mtx-destroy-ebusy/OTP-9009:
Send warning instead of abort on EBUSY from pthread_mutex_destroy
|