Age | Commit message (Collapse) | Author |
|
* rickard/btm-auto-cleanup-bug/OTP-14554:
Fix BIF timer race between timeout and auto cleanup
|
|
* rickard/timer-sid-bug/OTP-14548:
Fix scheduler id field in timers
Conflicts:
erts/emulator/beam/erl_hl_timer.c
|
|
* maint-20:
Updated OTP version
Prepare release
Accept non-binary options as socket-options
Bump version
Fix broken handling of default values in extensions for PER
compiler: Fix live regs update on allocate in validator
Take fail labels into account when determining liveness in block ops
Check for overflow when appending binaries, and error out with system_limit
|
|
|
|
|
|
* rickard/unicode-display_string/OTP-14545:
Unicode support for erlang:display_string/1
|
|
|
|
* sverker/halt-unicode-slogan/OTP-14553:
erts: Allow any unicode string as crash dump slogan
erts: Generate crash_dump slogan string as UTF8
erts: Refactor erts_unicode_list_to_buf
|
|
i.e the first argument to erlang:halt
|
|
* john/erts/fix-binary-append-syslimit/OTP-14524:
Check for overflow when appending binaries, and error out with system_limit
# Conflicts:
# erts/emulator/test/bs_construct_SUITE.erl
|
|
The ANSI support doesn't work properly with edlin, the issue can be noticed when you try to use the history of the shell and the prompt prefix has ANSI (https://github.com/elixir-lang/elixir/issues/6448). The problem is that when a `\e` character appears, it handles it like a new line, dropping the buffer before it.
The solution is to always add the `\e` to the buffer like a regular character and handle it when writing the buffer instead.
|
|
* dgud/stdlib/edit-unicode:
stdlib: Improve edlin handling of unicode chars
OTP-14542
|
|
* lukas/erts/fix_dirty_trace_message_flush/OTP-14538:
erts: Must have main lock when flushing trace messages
|
|
Let edlin handle grapheme clusters instead of codepoints to
improve the handling multi-codepoints characters.
The ttsl driver (and protocol) still expects all lengths as
codepoints.
Previously it was expected that each codepoint used (at least) one
terminal column for each codepoint, and a hack was made for wide
characters (multicolumn) by patching in TAGGED characters to occupy
the extra space so that codepoint index was equal column index.
This didn't work at all for combining codepoints that do not occupy any
more space than the previous character.
Improved this handling by calculating column positions in move_cursor.
This is based on wcwidth() and is not perfect, wcwidth() is wrong for
some codepoints and wcwidth() can not know with Hangul graphemes for
example. But it works better than before without making a major change
in the protocol.
|
|
This fixes the following bug:
A = <<0:((1 bsl 32)-8)>>,
B = <<2, 3>>.
B =:= <<A/binary,1,B/binary>>. %% Evaluated to true...
|
|
* maint-20:
Updated OTP version
Update release notes
Update version numbers
Fix doc for the 'quiet' option; it defaults to false
asn1: Fix missing quotes of external encoding call
Add a dedicated close function for TCP ports to prevent issues like ERL-430/448
Close TCP ports properly on send timeout
erts: Add missing release note
|
|
* sverker/big-bxor-bug/ERL-450/OTP-14514:
erts: Fix bug in bxor of a big negative number
|
|
* john/erts/fix-tcp-send-timeout/OTP-14509/ERL-448:
Add a dedicated close function for TCP ports to prevent issues like ERL-430/448
Close TCP ports properly on send timeout
|
|
* sverker/enif_whereis-bug:
erts: Fix bug in enif_whereis_pid/port
|
|
|
|
* sverker/big-bxor-bug/ERL-450/OTP-14514:
erts: Fix bug in bxor of a big negative number
|
|
Wrong result for
(X bsl WS) bxor Y.
where
X is any negative integer
Y is any integer that does not require more words than X
WS is erlang:system_info(wordsize) or larger
Fix: The subtraction of 1 (for 2-complement conversion)
must be carried along all the way to the last words.
|
|
that could cause heap corruption if
whereis lookup conflicts with other register updater
AND other thread sends on-heap message while main lock is released.
Also improved enif_whereis from dirty nifs by passing c_p as NULL.
|
|
|
|
|
|
|
|
|
|
the same as atoms.
|
|
* john/erts/runtime-lcnt:
Document rt_mask and add warnings about copy_save
Add an emulator test suite for lock counting
Break erts_debug:lock_counters/1 into separate BIFs
Allow toggling lock counting at runtime
Move lock flags to a common header
Enable register_SUITE for lcnt builds
Enable lcnt smoke test on all builds that have lcnt enabled
Make lock counter info independent of the locks being counted
OTP-14412
OTP-13170
OTP-14413
|
|
OTP-14413
|
|
|
|
The implementation is still hidden behind ERTS_ENABLE_LOCK_COUNT, and
all categories are still enabled by default, but the actual counting can be
toggled at will.
OTP-13170
|
|
|
|
It was disabled for performance reasons, and the new implementation handles
it just fine (roughly half as fast as without lcnt).
|
|
* sverker/prealloc-race-bug/maint:
erts: Increase pre-allocated blocks #ifdef DEBUG
|
|
to get bytes written when truncated.
|
|
* maint-20:
Updated OTP version
Update release notes
Update version numbers
erts: Fix bug in quick alloc
Fix old length usage in string
stdlib: Fix bug in proc_lib
Support arbitrary crash report in proc_lib.
|
|
Choose a "lagom" low value to provoke both
fallback on erts_alloc
AND thread racing in lockless deallocation queue.
|
|
* sverker/prealloc-race-bug/OTP-14491:
erts: Fix bug in quick alloc
|
|
* rickard/statistics/OTP-14484:
Fix statistics(wall_clock) and statistics(runtime) implementation
|
|
into maint-20
* lukas/erts/fix_outputv_port_task_cleanup/ERL-428/OTP-14481:
fixup! erts: Cleanup dropped port tasks correctly
erts: Add tests to detect port close race
erts: Cleanup dropped port tasks correctly
|
|
* john/erts/fix-port-leak/OTP-13939/ERL-193:
Add a testcase for OTP-13939/ERL-193
Mark socket disconnected on tcp_send_or_shutdown_error
# Conflicts:
# lib/kernel/test/gen_tcp_misc_SUITE.erl
|
|
The effect of the race is that a pre-allocated memory block
is inserted last without updating tail.data.last, which will cause
all subsequent insertions to also fail to update tail.data.last.
Hence all pre-allocation for this quick alloc instance is leaked
for this thread and will fallback on erts_alloc.
|
|
* sverker/erts/apply-badarg/ERL-432/OTP-14490:
erts: Make apply throw 'badarg' if Args is not a list
|
|
* bjorn/erts/fix-gen-dest:
Eliminate potential unsafe use of general destination
|
|
instead of a strange 'undef' exception.
|
|
* maint-19:
Updated OTP version
Update release notes
Update version numbers
Fix statistics(wall_clock) and statistics(runtime) implementation
fixup! erts: Cleanup dropped port tasks correctly
erts: Add tests to detect port close race
Add a testcase for OTP-13939/ERL-193
erts: Cleanup dropped port tasks correctly
Mark socket disconnected on tcp_send_or_shutdown_error
|
|
* rickard/statistics/OTP-14484:
Fix statistics(wall_clock) and statistics(runtime) implementation
|
|
into maint-19
* lukas/erts/fix_outputv_port_task_cleanup/ERL-428/OTP-14481:
fixup! erts: Cleanup dropped port tasks correctly
erts: Add tests to detect port close race
erts: Cleanup dropped port tasks correctly
|
|
* john/erts/fix-port-leak/OTP-13939/ERL-193:
Add a testcase for OTP-13939/ERL-193
Mark socket disconnected on tcp_send_or_shutdown_error
# Conflicts:
# lib/kernel/test/gen_tcp_misc_SUITE.erl
|