Age | Commit message (Collapse) | Author |
|
* maint:
erts: Fix neg int overflow when sint is min size
|
|
* lukas/erts/fix_neg_of_int64_min/OTP-12097:
erts: Fix neg int overflow when sint is min size
|
|
* maint:
Properly handle SINT_MIN in small_to_big()
Use offsetof() in io.c
|
|
* nox/clang-ubsan/OTP-12097:
Properly handle SINT_MIN in small_to_big()
Use offsetof() in io.c
|
|
* maint:
Fix build of test port program
Update Makefile.src
Add async_ports test
Fix abort of nosuspend-tasks in erts_port_task_schedule()
|
|
* rickard/nosuspend-bug/OTP-12082:
Fix build of test port program
Update Makefile.src
Add async_ports test
Fix abort of nosuspend-tasks in erts_port_task_schedule()
|
|
When INT64_MIN is the value of a Sint64 we have to first cast it to
an Uint64 before negating it. Otherwise we get an integer overflow
which is undefined behaviour and in gcc 4.9 this results in -0 instead
of -9223372036854775808 in gcc 4.8.
|
|
* maint:
erts: Print error reason when malloc fails
|
|
* lukas/erts/malloc_failure_errors/OTP-12085:
erts: Print error reason when malloc fails
|
|
|
|
* maint:
erts: Fix tc and docs after {fd,FD} bind change
|
|
The sha of the original change is 52810718b
|
|
|
|
|
|
|
|
The counter for the amount of outstanding data in the port queue
became inconsistent when aborting nosuspend-signals in
erts_port_task_schedule(). This since the counter was subtracted
by the data size of the signal although the data size had never
been added to it. This inconsistency caused the port queue to
remain in a busy state forever.
|
|
Conflicts:
erts/preloaded/ebin/prim_inet.beam
|
|
Conflicts:
erts/doc/src/notes.xml
erts/preloaded/ebin/prim_inet.beam
erts/vsn.mk
lib/kernel/doc/src/notes.xml
lib/kernel/vsn.mk
|
|
Inet close must remove fd from select/poll without closing the fd.
|
|
|
|
|
|
|
|
|
|
|
|
As there is no overflow for signed integers, -SINT_MIN is undefined behaviour
and the cast to unsigned needs to happen before negation. SINT_MIN denotes the
minimum value that can be stored in the Sint type.
beam/big.c:1512:6: runtime error: negation of -9223372036854775808 cannot be represented in type 'Sint' (aka 'long'); cast to an unsigned type to negate this value to itself
|
|
This silences the following UBSan errors:
beam/io.c:7131:27: runtime error: member access within null pointer of type 'ErlDrvSysInfo'
beam/io.c:7140:20: runtime error: member access within null pointer of type 'ErlDrvSysInfo'
beam/io.c:7166:20: runtime error: member access within null pointer of type 'ErlDrvSysInfo'
beam/io.c:7174:20: runtime error: member access within null pointer of type 'ErlDrvSysInfo'
|
|
|
|
* sverk/ets-wc-lock-alignment/OTP-11974:
erts: Fix cache alignment for ETS write_concurrency locks
|
|
Effects if sizeof(erts_smp_rwmtx_t) > 64:
+ Better performance due to less false sharing
- Increased memory footprint per table
|
|
|
|
* nox/fix-perms:
Fix permissions of some files in the repository
|
|
|
|
* 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.
|
|
* maint:
Add erlang:system_info(tolerant_timeofday)
|
|
* etsukata/system_info_tolerant_timeofday/OTP-11970:
Add erlang:system_info(tolerant_timeofday)
|
|
* maint:
erts: tracing on send now works for registered processes
|
|
* 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
|
|
* maint:
erts: Fix git version script
|
|
* lukas/erts/git_vsn_script_fix/OTP-11961:
erts: Fix git version script
|
|
|
|
These files aren't supposed to be executable. For reference, the command used to
find them was:
git ls-files -z | xargs -0 -J % find % -type f -perm ++x
|
|
|