Age | Commit message (Collapse) | Author |
|
Various places that now reject null chars inside strings
- Primitive file operations reject it in filenames.
- Primitive environment variable operations reject it in
names and values.
- os:cmd() reject it in its input.
Also '=' characters are rejected by primitive environment
variable operations in environment variable names.
Documentation has been updated to document null characters
in these types of data as invalid. Currently these operations
accept null chars at the end of strings, but that will change
in the future.
|
|
The byte_offset of sub-binaries wasn't taken into account for
ProcBins, subtly ruining the results. The test suite didn't catch
it since it didn't check for sub-binaries in particular, and only
checked for equality between variations -- not whether the output
was equal to the input.
|
|
sverker/on_load-on_load-bug/OTP-14612
|
|
Symptom: VM crash when erlang:trace_pattern(on_load, ..) is set and
module with -on_load is loaded.
Problem: Tracing and -on_load clash in their use of Export.beam[1]
Solution: Do not do call set_default_trace_pattern in finish_loading_1
for modules with -on_load. finish_after_on_load_2 will do that anyway.
|
|
* sverker/ets-fix-assert-fix:
erts: Fix faulty ASSERT of table fixation counter
|
|
* sverker/valgrind-fixes/OTP-14609:
erts: Suppress false memory leak for dlerror
[ct] Cleanup and rename purify related functions as valgrind
Revert "remove unused purify functions"
erts: Fix memory leak when sending to terminating port
erts: Fix harmless use of uninitialised value
|
|
* lukas/erts/fix_warnings:
Fix some clang warnings
Fix unused-functions warnings
|
|
|
|
|
|
Besides being noisy, they were already defined by a global Unix-
specific header, causing the Windows build to fail if one forgot to
define them.
|
|
OTP-14520
|
|
OTP-14520
|
|
* rickard/statistics-time-fixes/OTP-14597/ERL-465:
Bug fixes of statistics(wall_clock) and statistics(runtime)
Conflicts:
erts/emulator/beam/erl_time_sup.c
|
|
|
|
Cannot read fix->counter safely without table lock.
|
|
|
|
* sverker/20/binary_to_atom-utf8-crash/ERL-474/OTP-14590:
erts: Fix crash in binary_to_atom/term for invalid utf8
|
|
|
|
|
|
such as a sub-binary, of a correct utf8 string,
that ends in the middle of a character.
|
|
Error: Leak_DefinitelyLost
erts_alloc:230 (-> 0x52E54D) [erl_alloc.h]
port_task_alloc:154 (-> 0x52F3CA) [erl_port_task.c]
erts_port_task_alloc_p2p_sig_data:212 (-> 0x52F5D3) [erl_port_task.c]
erts_port_output:2147 (-> 0x4F6057) [io.c]
erts_port_command:4126 (-> 0x4FA10E) [io.c]
do_send:2200 (-> 0x4E4C64) [bif.c]
erl_send:2494 (-> 0x4E5E09) [bif.c]
process_main:1730 (-> 0x43ADA5) [beam_emu.c]
|
|
Conditional jump or move depends on uninitialised value(s):
erts_msgq_update_internal_pointers:487 (-> 0x5A7AF9) [erl_message.h]
erts_msgq_replace_msg_ref:496 (-> 0x5A7B4C) [erl_message.h]
move_msgq_to_heap:2487 (-> 0x5AED4F) [erl_gc.c]
minor_collection:1380 (-> 0x5AB3F4) [erl_gc.c]
|
|
* 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
|
|
* 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
|
|
* lukas/erts/fix_dirty_trace_message_flush/OTP-14538:
erts: Must have main lock when flushing trace messages
|
|
This fixes the following bug:
A = <<0:((1 bsl 32)-8)>>,
B = <<2, 3>>.
B =:= <<A/binary,1,B/binary>>. %% Evaluated to true...
|
|
* sverker/big-bxor-bug/ERL-450/OTP-14514:
erts: Fix bug in bxor of a big negative number
|
|
* 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
|
|
* sverker/prealloc-race-bug/OTP-14491:
erts: Fix bug in quick alloc
|
|
* 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
|
|
|
|
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
|