Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
* hl/gen_fsm-return:
Fix minor typo in gen_fsm documentation
OTP-9456
|
|
* ms/inet-socket-domain-error:
inet: error if fd does not match socket domain
OTP-9455
|
|
* cg/fix-constant-logical-operand:
Fix use of logical operator && with constant operand instead of bitwise &.
OTP-9454
|
|
* pg/fix-freebsd-dualcore-detection:
Fix bug in FreeBSD topology detection code
OTP-9453
|
|
* pg/fix-hibernate-scheduling-with-hipe:
Fix bug related to hibernate and HiPE (clear F_HIBERNATE_SCHED flag)
OTP-9452
|
|
|
|
|
|
|
|
|
|
* bjorn/erts/loader-related-bs-bugs/OTP-9284:
Fix binary construction with huge literal sizes
beam_load.c: Add overflow check of tag values
beam_makeops: Add some sanity checks
Fix construction of <<0:((1 bsl 32)-1)>>
|
|
|
|
|
|
|
|
|
|
|
|
Constructing binaries using the bit syntax with literals sizes
that would not fit in an Uint will either cause an emulator crash
or the loading to be aborted.
Use the new TAG_o tag introduced in the previous commit to make sure
that the attempt to create huge binary literals will generate a
system_limit exception at run-time.
|
|
The handling of large values for other tags than TAG_i (integer) is
buggy. Any tag value equal to or greater than 2^40 (5 bytes) will
abort loading. Tag values fitting in 5 bytes will be truncated to 4
bytes values.
Those bugs cause real problems because the bs_init2/6 and
bs_init_bits/6 instructions unfortunately use TAG_u to encode literal
sizes (using TAG_i would have been a better choice, but it is too late
to change that now). Any binary size that cannot fit in an Uint
should cause a system_limit exception at run-time, but instead the
buggy handling will either cause an emulator crash (for values in the
range 2^32 to 2^40-1) or abort loading.
In this commit, implement overflow checking of tag values as a
preparation for fixing the binary construction instructions. If any
tag value cannot fit in an Uint (except for TAG_i), change the
tag to the special TAG_o overflow tag.
|
|
We want to make sure that a tag/type name is not defined more than
once and that we don't define too many primitive tags. Primitive
tags must be named with lowercase letters (or they will be confused
with variable names in transformations in the ops.tab file).
|
|
Attempting to construct <<0:((1 bsl 32)-1)>>, the largest bitstring
allowed in a 32 bit emulator, would cause an emulator crash because
of integer overflow.
Fix the problem by using an Uint64 to avoid integer overflow.
Do not attempt to handle construction of <<0:((1 bsl 64)-1>> in
a 64-bit emulator, because that will certainly cause the emulator
to terminate anyway because of insufficient memory.
|
|
|
|
|
|
|
|
|
|
|
|
Like C header files, IDL files are often macro guarded to avoid opening
and processing the same file repeatedly.
This patch implements the algorithm used by GNU cpp as described at:
http://gcc.gnu.org/onlinedocs/cppinternals/Guard-Macros.html
|
|
* sverker/allocator-aoff/OTP-9424:
New allocator: Address order first fit (aoff)
|
|
* sverker/fun_SUITE-refc_dist-gcfix:
Fix test case fun_SUITE:refc_dist
|
|
* sverker/epmd-vxworks-select-bug/OTP-9427:
Fix epmd crash on vxworks caused by faulty argument to select
|
|
The first argument g->max_conn to select() in epmd_srv.c seems to be
wrong as it excludes the listening socket(s). Instead we keep track of
the highest fd seen.
However I still don't understand why select() started to fail for
vxworks with R14B03 when the feature of more than one listening socket
was introduced. The default is still 1 listening socket (num_sockets=1),
which would make the first argument to select() unchanged.
|
|
New lines are pushed to output inconsistently with "\n" or $\n. This
confuses only_nls/1, which tests if the file just expanded are all
skipped.
This patch consistently pushes character $\n to output, instead of
string "\n" to further improve efficiency.
|
|
`ets:tab2list/1` followed by list comprehension is used in a few
places in module ic_pragma. This introduces significant performance
impact on large lists.
|
|
Conflicts:
lib/snmp/doc/src/notes.xml
lib/snmp/src/agent/snmpa_mpd.erl
lib/snmp/src/app/snmp.appup.src
lib/snmp/vsn.mk
|
|
* sverker/testcase/OTP-9422:
Test case for OTP-9422
|
|
* sverker/testcase/OTP-9423:
Add test case for ETS bug OTP-9423
|
|
* sverker/sbmbc-fixup:
Small fixups for rickard/sbmbc/OTP-9339
|
|
It failed sometimes depending on GC invocation.
|
|
* bmk/snmp/snmp421_integration:
Fixed install directory typo for man3. Peter Lemenkov. Hans Ulrich Niedermann.
The snmp config tool could not handle (manager) audit trail config because the option seqno was not handled. OTP-9354
[agent] The SNMP ACM cache was not properly updated when changes where made to the VACM security-to-group, access and view-tree-family tables. OTP-9367
Added marker id's in the snmpc(command) to allow linking top specific compiler options. Updated release notes accordingly. OTP-9437
[manager] There was no way to specify transport domain. The transport domains was assumed to be IPv4 (transportDomainUdpIpv4). This has now been changed so that it can also be IPv6 (transportDomainUdpIpv6). To facilitate this, the transport domain, tdomain, is now a (new) valid option when registering (snmpm#register_agent) a new agent (and updating (snmpm#update_agent_info) agent info). This also mean that the transport behaviour has changed. Fixed appup file. OTP-9305
[compiler] Make documentation for the snmpc escript regarding the the new option for warnings as errors ("--wae" in this case). Tuncer Ayaz. OTP-9437
[compiler] Added the option warnings_as_errors which specifies whether warnings should be treated as errors. Tuncer Ayaz. OTP-9437
Fixed unintended build to ebin dir of snmpc escript.
Cosmetics indenting...
Removed "crap" that somehow had gotten into the file (escape sequence).
Fixed install of MIB compiler escript. Was incorrectly installed both in bin end ebin.
Fixed (uncommented) test cases.
Improved (transport) domain error reporting.
Fixed release notes and API documentation for tdomain.xs
transport domain config option named tdomain. Removed debug printouts. transport domain error detection.
[manager] No way to specify transport domain. Transport domains was assumed to be IPv4. This has now been changed so that it can also be IPv6. To facilitate this, the transportDomain is now a (new) valid option. This also mean that the transport behaviour has changed. OTP-9305
Updated version.
[agent] Did not handle transport domains properly in some cases. OTP-9400
Utility make target for cleanig the repo...
...
|
|
Peter Lemenkov
Hans Ulrich Niedermann
OTP-9442
Merge branch 'bmk/snmp/install_dir_typo_man3/OTP-9442' into bmk/snmp/snmp421_integration
Conflicts:
lib/snmp/doc/src/notes.xml
|
|
Peter Lemenkov.
Hans Ulrich Niedermann.
OTP-9442
|
|
* raimo/io_lib_fread/OTP-9439:
Code cleanup, unduplicate test for whitespace
EOF before first field is only ok for first character in io:fread
At end of input ask for more also for for literal format characters
|
|
|
|
changes where made to the VACM security-to-group, access and
view-tree-family tables.
OTP-9367
Merge branch 'bmk/snmp/agent/acm_cache_cleanup/OTP-9367' into bmk/snmp/snmp421_integration
Conflicts:
lib/snmp/doc/src/notes.xml
lib/snmp/src/app/snmp.appup.src
|
|
|
|
because the option seqno was not handled.
OTP-9354
Merge branch 'bmk/snmp/audit_trail_config_bug/OTP-9354' into bmk/snmp/snmp421_integration
Conflicts:
lib/snmp/doc/src/notes.xml
lib/snmp/src/app/snmp.appup.src
|
|
because the option seqno was not handled.
OTP-9354
|
|
|