Age | Commit message (Collapse) | Author |
|
Thanks to Michał Ptaszek for bringing this embarrassing formatting error to
my attention. Many DTrace/SystemTap trace strings are incorrectly
truncated at 4/8 bytes, depending on the CPU word size. This patch expands
the work from commit d032e097 by zheng siyao.
Michał's report to the erlang-bugs list can be found at:
http://erlang.org/pipermail/erlang-bugs/2014-March/004250.html
Conflicts:
erts/emulator/beam/beam_emu.c
erts/emulator/beam/copy.c
erts/emulator/beam/dist.c
erts/emulator/beam/erl_async.c
erts/emulator/beam/erl_bif_port.c
erts/emulator/beam/erl_port_task.c
erts/emulator/beam/erl_process.c
erts/emulator/beam/io.c
|
|
Whenever string is passed as an argument to a DTrace probe, its length
should be properly computed. Until now in order to get length of the
input buffer size_of(char *) was used - which evalutes to 4 or 8
(depending on the architecture). To get a proper length,
size_of(DTRACE_CHARBUF_NAME(buffer_name)) should be used.
|
|
|
|
|
|
|
|
* egil/fix-darwin-64-configure-default/OTP-11521:
erts: Let cc determine default wordsize for darwin build
|
|
* sverk/test-cuddle:
erts: Reduce wasted execution time for match_spec_SUITE:otp_9422
|
|
|
|
* rickard/supercarrier-fix/OTP-11149:
Documentation fix
|
|
|
|
|
|
|
|
The warning is:
sys/common/erl_poll.c:2513:72: warning: for loop has empty body [-Wempty-body]
for (prev_ps = pollsets; ps != prev_ps->next; prev_ps = prev_ps->next);
|
|
The test needs to be false to fail, not true. This was noticed with the
following warning, where marking erl_assert_error as non-returning didn't
help:
beam/erl_gc.c:2772:2: warning: variable 'refc' is used uninitialized whenever switch default is taken [-Wsometimes-uninitialized]
default:
^~~~~~~
beam/erl_gc.c:2775:26: note: uninitialized use occurs here
ERTS_CHK_OFFHEAP_ASSERT(refc >= 1);
^~~~
beam/erl_gc.c:2738:11: note: expanded from macro 'ERTS_CHK_OFFHEAP_ASSERT'
if (!(EXP)) \
^
beam/erl_gc.c:2759:18: note: initialize the variable 'refc' to silence this warning
erts_aint_t refc;
^
= 0
|
|
|
|
When the offending code is reached, new_crr is either uninitalized or
have been set to NULL. This patch removes the following warning:
beam/erl_alloc_util.c:3510:6: warning: variable 'new_crr' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
if (!(flags & CFLG_FORCE_MSEG)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~
beam/erl_alloc_util.c:3567:23: note: uninitialized use occurs here
DEBUG_SAVE_ALIGNMENT(new_crr);
^~~~~~~
beam/erl_alloc_util.c:674:51: note: expanded from macro 'DEBUG_SAVE_ALIGNMENT'
UWord algnmnt__ = sizeof(Unit_t) - (((UWord) (C)) % sizeof(Unit_t));\
^
beam/erl_alloc_util.c:3510:2: note: remove the 'if' if its condition is always true
if (!(flags & CFLG_FORCE_MSEG)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
beam/erl_alloc_util.c:3438:23: note: initialize the variable 'new_crr' to silence this warning
Carrier_t *new_crr, *old_crr;
^
= NULL
|
|
* lukas/r16b03/docfixes/OTP-11513:
erts: Fix naming in erlang:monitor spec
|
|
* sverk/bit-cmp-bug/OTP-11501:
erts: Fix invalid read when appending binaries during call trace
erts: Optimize comparison for bitstrings with byte aligned start
erts: Fix invalid read in bitstring comparison
|
|
* dgud/sasl/no_dot_erlang_boot/OTP-8479:
sasl: Add no_dot_erlang documentation and tests
sasl: Add no_dot_erlang start script
|
|
* rickard/prim_inet_close/OTP-11491:
Fix prim_inet:close/1
|
|
* rickard/port_bifs_fix/OTP-11489:
Ensure exit signal due to link precede port BIF return
|
|
* lukas/erts/supercarrier_fix/OTP-11149:
Improve error info when main carrier creation fails
Conflicts:
erts/emulator/test/alloc_SUITE.erl
|
|
* sverk/bin2term-bitstr-bugs/OTP-11479:
erts: Fix bug in binary_to_term for binaries larger than 2^31
erts: Fix bugs in binary_to_term for invalid bitstrings
|
|
* sverk/allctr-4byte-align-bug:
erts: Fix alignment bug in allocator start code
OTP-11496
|
|
Found by valgrind. Probably safe on opt-VM due to CHICKEN_PAD.
|
|
|
|
Valgrind complained that erts_cmp_bits sometimes read one byte too much
from bitstrings. The byte was never used and the invalid read is safe
in opt-VM due to padding in binary allocation (CHICKED_PAD).
|
|
|
|
|
|
|
|
|
|
* raimo/sctp-peernames/OTP-10229:
Improve documentation
Suppress false valgrind warnings caused by sctp_getpaddrs
Document
Adjust test cases for SLES 10 SP 1
Clean up address family handling towards Erlang
Fix testcase indentation
Fix testcases for FreeBSD 9.1
Write testcases for inet:socknames and inet:peernames
Implement inet:socknames/1,2 and inet:peernames/1,2
Implement prim_inet:socknames/1,2 and prim_inet:peernames/1,2
|
|
Also fix testcase that failed due to main carrier creation failure.
|
|
* rickard/acul-bug/OTP-11456:
Ensure carrier pool only accessed by schedulers
|
|
* rickard/supercarrier-fix/OTP-11149:
Fix observer retrieval of alloc info
Fix documentation of the +MMsco switch
Replace the +MMscmgc switch with +MMscrfsd
Add switch for disabling sys_alloc carriers
Add support for locking mappings to physical memory
|
|
Bug never released.
|
|
* sverk/hash_SUITE-bit_level_binaries:
erts: Fix test case hash_SUITE:bit_level_binaries
|
|
* bjorn/erts/fix-erl_crash_dump/OTP-11450:
Fix truncated pointers in erl_crash.dump
|
|
|
|
Commontest doesn't like exported functions with same name as test case.
|
|
* egil/preloaded-debug_info:
preloaded: Add debug_info to preloaded
|
|
* egil/clarify-erts-doc:
erts: Clarify documentation for erlang:statistics(run_queue)
|
|
|
|
<<131, 77, Len:32, Bits:8, Data/binary>>
badarg if Bits > 8
Used to return internally inconsistent bitstring
badarg if Len==0 and Bits > 0
Used to return invalid *huge* binary (size = (Uint)-1)
badarg if Bits==0 and Len > 0
Used to return valid binary as if Bits was 8
|
|
* siri/erl_prim_loader/normalize-and-backslash/OTP-11170:
Update preloaded
Fix bug with backslash in erl_prim_loader:normalize/1
|
|
|
|
* mhssler/add-os-unsetenv/OTP-11446:
erts: remove ?line macro in testcases
Update primary bootstrap
Add os:unsetenv/1
|
|
* sverk/cerl-gdb-fix:
erts: Fix cerl -gdb
|
|
|
|
This function normalizes a path:
* convert atoms to strings
* flatten strings
* convert backslash to a forward slash
The bugfix is to only convert backslashes to forward slashes on
windows and not on any other platforms.
|