Age | Commit message (Collapse) | Author |
|
|
|
|
|
external https links was generated as seealso which doens't work.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This will reduce the size of crash dumps, especially if
there are large binaries.
|
|
Correct several problems parsing sub binaries. A sub binary
would often be replaced with '#CDVNonexistingBinary'.
When parsing a sub binary, we must scan ahead to find the
definition of the refc or heap binary being referenced.
|
|
|
|
MAX_ATOM_TABLE_SIZE
Currently, the max atom size on 64-bits Erlang is
((UWORD_CONSTANT(1) << 32) = 4294967296
This number will cause the range of atom size to be displayed as
[8192-0].
Also, the +t option for max atom size will be parsed as a long type, and
assigned to a int variable erts_atom_table_size (erl_init.c),
which will cause integer overflow if the number is larger than the
maximum value a 4-bytes signed integer can hold
((1 << 31) - 1) = 2147483647
Therefore, during the comparison
erts_atom_table_size < MIN_ATOM_TABLE_SIZE
any number above 2147483647 will be come negative, and causing
the condition to be true, which then errored out as bad atom table size.
Hence, the actual max atom size is same as the max signed int value.
|
|
When setting maximum atom table size using +t option, there will be a
integer overflow for a large size.
$ erl +t2147482625
ll_alloc: Cannot allocate 18446744073692774400 bytes of memory
(of type "atom_tab").
The overflow is caused by the arithmetic operations on int type.
When 2147482625 + 1024 it will become -2147483647 due to the signed
integerger overflow. Then the result will be resized to Uint type, which
is a unsigned long type, the negative int will first be expand to 64
bits long via sign extension, then change to unsigned type, which
becomes 18446744073692774400.
The fix is done by convert `limit` to Uint type before doing any
arithmetic operation. This will expand variable to 64 bits long type via
zero extension, then the following operation are all positive, therefore
no overflow will happen.
Note: here we assume the int `limit` passed in is always positive. If
some future change cause the `limit` passed in maybe negative, then the
current fix will also cause overflow.
|
|
|
|
|
|
|
|
|
|
The functions that decode Erlang terms from the crash dump file
take a BinAddrAdj argument to adjust binary addresses in old
crash dumps. To be able to add more decode options in the future,
rename the argument to DecodeOpts and let it be a record.
|
|
* maint-20:
Updated OTP version
Prepare release
ssh: testcases for space trailing Hello msg
ssh: Don't remove trailing WS in Hello msg
ssh: dialyzer fixes
ssh: Fix broken error handling during session setup
Remove invalid EINTR loop around close(2)
Conflicts:
lib/ssh/test/ssh_options_SUITE.erl
|
|
* lukas/system/improve_profile_docs/OTP-14633:
erts: Add term2bin note about encoding guarantee
Fix broken link in INSTALL howto
system: Add info to profiling effeciency guide
Update message queue and pinfo binary docs
kernel: Clarify gen_tcp:listen documentation
system: Add External OSS tools section to profiling guilde
|
|
* lukas/compiler/add_to_dis/OTP-14784:
compiler: Add +to_dis option that dumps loaded asm
|
|
|
|
* lukas/docs/xmllint_fixes/OTP-14721:
ssl/ssh: Remove/ignore unused XML_FILES doc files
Refactor xmllint check and make it fail on failure
Add toplevel xmllint make target
Conflicts:
lib/crypto/doc/src/Makefile
|
|
|
|
|
|
|
|
|
|
* rickard/node-mon-proc-exit-race/maint-20/OTP-14781:
Fix triggering of node monitors
|
|
* hans/ssh/SYN_RST/OTP-14778:
ssh: dialyzer fixes
ssh: Fix broken error handling during session setup
|
|
* hans/ssh/dont_remove_trailing_ws_20/OTP-14763:
ssh: testcases for space trailing Hello msg
ssh: Don't remove trailing WS in Hello msg
|
|
* john/erts/fix-close-eintr/OTP-14775:
Remove invalid EINTR loop around close(2)
|
|
* ingela/inets/httpc/ERL-473/OTP-14783:
inets: Eliminate race condition
|
|
Only run test case for http as the socket manipulation done by the test case
requires much more manipulation to work for https. However, that this test case
started failing constantly instead of sporadically is proof that this change
is a good thing.
|
|
|
|
* maint-18:
Updated OTP version
Prepare release
ssh: Unicode encoding fix
ssh: testcases for space trailing Hello msg
Remove unused test include file from test suites
eldap: Repair Makefile
ssh: Don't remove trailing WS in Hello msg
Conflicts:
OTP_VERSION
erts/doc/src/notes.xml
erts/vsn.mk
lib/compiler/doc/src/notes.xml
lib/compiler/vsn.mk
lib/crypto/test/blowfish_SUITE.erl
lib/eldap/doc/src/notes.xml
lib/eldap/vsn.mk
lib/inets/test/httpd_load.erl
lib/inets/test/httpd_mod.erl
lib/inets/test/old_httpd_SUITE.erl
lib/ssh/doc/src/notes.xml
lib/ssh/vsn.mk
lib/stdlib/test/zip_SUITE.erl
otp_versions.table
|
|
* rickard/node-mon-proc-exit-race/maint-20/OTP-14781:
Fix triggering of node monitors
|
|
|
|
* rickard/node-mon-proc-exit-race/OTP-14781:
Fix triggering of node monitors
|
|
* ingela/ssl/code-enhance:
ssl: Align code of TLS/DTLS handshake handling
ssl: Align code of TLS/DTLS record handling
ssl: Align code of main modules implementing the gen_statem behaviour
dtls: Add state spec
|
|
|
|
|
|
|
|
|
|
|
|
* hasse/edoc/fix_map_type/OTP-14777:
edoc: The map type is denoted map()
|
|
|
|
|