forked from pool/erlang
factory
152 Commits
Author | SHA256 | Message | Date | |
---|---|---|---|---|
4ad52adc17 |
Accepting request 1167972 from home:simotek:rabbitmq-test
- Changes for 26.2.4 * asn1: An ASN.1 module that contains named BIT STRING values would fail to compiled if both the BER and JER back-ends were enabled. * Compiler: In rare circumstances, the compiler code generate unsafe code for a bit syntax match. * Compiler: In rare circumstances, binary matches that were supposed to succeed failed. * Compiler: Fixed a bug where a fun's environment could be overridden by an argument in some cases. * Crypto: Fix building with --enable-fips with OpenSSL 3 on MacOS. * Debugger: Guards with nested record expression could wrongly evaluate to false. * Diameter: Reduce the impact of calling service_info by not counting the binaries (on the heap) info, This is done by introducing an option, bins_info, which controls this. * erts: Fixed CPU quota determination for cgroup version 2 * erts: Fix faulty reduction counting in exiting process which could cause it to do unnecessary yielding. * erts: Fix bug in re:run/3 where if an invalid UTF-8 subject was given, re:run could get stuck in an infinite loop. Bug was introduced in Erlang/OTP 22.1. * erts: On AArch64 (ARM64), Erlang code using bit syntax construction compiled using Erlang/OTP 24 could crash the runtime system when run in Erlang/OTP 26.2.3. * erts: Calling erlang:trace/3 with first argument one of ports, processes, existing_ports, existing_processes, existing or all, could cause emulator crash if a dirty scheduler was executing a simultaneous trace action. * erts: Fixed an integer overflow when the monotonic time unit reported by the operating system was greater than 10 and lower than 100 microseconds. * erts: Fix option reuseaddr for FreeBSD 14 * erts: When a traced process executing on a dirty scheduler received an exit signal, the dirty scheduler could use the wrong thread specific data which could lead to a crash. * erts: Fixed a more or less harmless bug that caused time correction of Erlang monotonic time to become slightly off on Windows platforms when QueryPerformanceCounter() was used as OS monotonic time source. erlang:system_info(os_monotonic_time_source) now also returns information about used resolution which not always corresponds to the resolution of the OS monotonic time source. * erts: When using IPv6, classic gen_udp failed to add (group) membership (drop was used instead). * erts: Fix bug on Windows where "Unknown event: 2" would be printed to the console. * erts: Checks for monotonicity of monotonic time have been improved so that Erlang and OS monotonic time are checked separately. * erts: For severe errors, when the `socket` module terminates the Erlang VM, now an erl_crash.dump is produced, to facilitate post mortem debugging. * kernel: When using IPv6, classic gen_udp failed to add (group) membership (drop was used instead). * kernel: The check in inet_res of the RD bit has been relaxed slightly. * ssh: With this change, owner and group file attributes decoding is fixed and results with value of integer type. * ssl: Cleanup and close all connections in DTLS when the listen socket owner dies. Improved IPv6 handling in DTLS. * ssl: Fixed a crash in dtls accept. * stdlib: Attempting to use the maybe construct in a macro argument could crash the compiler. - Changes for 26.2.3 * otp: Quote uninstall path in registry when installing on windows. * compiler: In rare circumstances, an unsafe optimization could cause the compiler to generate incorrect code for list matching. * compiler: Fix the compilation server to restart if the applications in its lib dir changes inbetween erlc invokations. * crypto: Fix compile error when OPENSSL_NO_DES is defined. * crypto: The function crypto:pbkdf2_hmac will no longer block the main schedulers. If the iteration count or block size parameters are such that the function is likely to take a long time to execute, the function will be scheduled to run on a dirty CPU scheduler. * erts: Fixed compile warning in erl_nif.c for gcc-13. * erts: Fix C++ compile error for macros enif_select_read and friends. * erts: Fixed a name clash on Solaris that prevented the JIT from being built. * erts: Fix termcap detection on solaris. * erts: Fix heap corruption bug that could cause runaway memory consumption due to circular offheap list at process exit. Other symptoms may also be possible. Bug exists since OTP 25.0. * erts: Do not clear tracing in old module instance if load fails with 'not_purged'. * erts: When exceeding the `max_heap_size` limit in a garbage collection initiated by some bit syntax operations, the process would not always terminate immediately. * erts: The code server could be hanging if a module with on_load function was loaded at the same time as another module was purged using erlang:purge_module directly. * erts: A process optimized for parallel signal delivery could under some circumstances lose wakeup information. That is, the processes was not woken up to take care of the signal, so the signal would not be taken care of until the process was woken by another signal. Only processes configured with message_queue_data set to off_heap utilize this optimization. * erts: Fix segfault when generating crashdump containing a fun places in persistent_term storage. * erts: By default the JIT is disabled on Intel Macs, because of annoying poups on macOS Sonoma. It is now possible to explicitly enable the JIT on Intel Macs. Here is how: ./configure --enable-jit * kernel: Fix performance bug when using io:fread to read from standard_io. This regression was introduced in OTP 26.0. * kernel: A bug in the code server could cause it to crash in some concurrent scenarios. This bug was introduced in 26.1. * kernel: Fixed gen_udp:open/2 type spec to include already supported module socket address types. * kernel: Fix reading of password for ssh client when in user_interactive mode. * odbc: Use spec for API doc * public_key: Hostname prefix with X number of dots should not be accepted. * ssh: With this change, acceptor_sup is not started for ssh client as it is not needed in that role. * ssh: With this change, more secure algorithms are preferred by ssh and documentation is updated to reflect that. * ssh: With this change, KEX strict terminal message is emitted with debug verbosity. * ssh: Fix reading of password for ssh client when in user_interactive mode. * ssl: ssl:prf/5, will start working instead of hanging in a TLS-1.3 context if called appropriately. Note that the implementation has changed and in OTP-27 a more adequate API will be documented. * ssl: Server name verification didn't work if a connection was made with IP-address as a string. * ssl: The fallback after "dh" ssl option was undefined was to get "dh" from ssl options again. This is clearly wrong and now changed to the documented fallback "dhfile" ssl option. * ssl: Correct default value selection for DTLS. Will only affect users linked with really old version of cryptolib library. * ssl: Adhere elliptic curves with RFC 8422 pre TLS-1.3, that is Edwards curves are added to curves that can be used for key exchange, and documentation and implementation of eccs/0,1 are aligned. * ssl: Improve alert reason when ecdhe_rsa key_exchange does not have any common curves to use * stdlib: The help texts shown by argparse will now display sub-command arguments in the correct order. * stdlib: Clarified the argparse documentation regarding the user-defined help template. * stdlib: Fix shell expansion to not crash when expanding invalid using invalid atoms. * wx: Add option to silence wx depracation macros. - Changes for 26.2.2 * common_test: Fix how CT finds Erlang/OTP releases for compatability testing. This functionality is only used to test Erlang/OTP. * erl_interface: Fix bug where the system installed openssl/md5.h would be confused with the vendored md5.h. * erts: 32-bit runtime systems on most Unix like platforms could crash if a BIF timer was set with a huge timeout of more than 68 years into the future. In order for the crash to occur, the huge timer (at a later time than when it was set) had to become the nearest active timer set on the specific scheduler on which it was set. This could not happen on a system with only one scheduler since there would always be shorter timers in the system. Setting a timer larger than 49 days on Windows could under rare circumstances cause the timeout to be delayed. * erts: Fix bug where the system installed openssl/md5.h would be confused with the vendored md5.h. * erts: The JIT has now been disabled on x86 Macs to prevent annoying the "verifying shm-xyz" popups introduced in MacOS Sonoma. ARM Macs are unaffected. * erts: Garbage collection of a process on a dirty scheduler could collide with signal handling for that process causing a crash of the runtime system. This bug was introduced in OTP 25.3.2.8 and OTP 26.2. * kernel: Fix group (that is the shell) to properly handle when an get_until callback function returned {done, eof, []} when an eof was detected. * ssh: With this change, Curve25519 and Curve448 KEX methods become most preferred (related to RFC8731). * ssl: Legacy name handling could cause interop problems between TLS-1.3/1.2 client and TLS-1.2 server. - Fix for bsc#1222591 OBS-URL: https://build.opensuse.org/request/show/1167972 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=136 |
|||
86fb72c513 |
Accepting request 1149268 from home:dimstar:rpm4.20:e
Prepare for RPM 4.20 OBS-URL: https://build.opensuse.org/request/show/1149268 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=135 |
|||
8ee2a849ca |
Accepting request 1140834 from home:simotek:branches:devel:languages:erlang:Factory
- Disable rpmlint tests on SLE-15 where they currently fail - This codestream wasn't affected by bsc#1207113 OBS-URL: https://build.opensuse.org/request/show/1140834 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=134 |
|||
1317b7b3df |
Accepting request 1138050 from home:simotek:branches:devel:languages:erlang:Factory
- Changes for 26.2.1: * erts: Removed unnecessary PCRE source tar-ball. * ssh: With this change (being response to CVE-2023-48795), ssh can negotiate "strict KEX" OpenSSH extension with peers supporting it; also 'chacha20-poly1305@openssh.com' algorithm becomes a less preferred cipher. If strict KEX availability cannot be ensured on both connection sides, affected encryption modes(CHACHA and CBC) can be disabled with standard ssh configuration. This will provide protection against vulnerability, but at a cost of affecting interoperability. See Configuring algorithms in SSH. (bsc#1218192, CVE-2023-48795) - Changes for 26.2: * all: Replaced unintentional Erlang Public License 1.1 headers in some files with the intended Apache License 2.0 header. * otp: The removal of the deprecated slave module, originally planned for OTP 27, has been postponed to OTP 29. * asn1: Fix benign warning from gcc 11 about mismatching call to free(). * crypto: Enable engine support for OpenSSL versions 3. * edoc: Emit <code> instead of <tt>. - Disable test suite for now, it has many false positives and takes a very long time. OBS-URL: https://build.opensuse.org/request/show/1138050 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=133 |
|||
8d3ed30f04 |
Accepting request 1120360 from home:matwey:branches:devel:languages:erlang:Factory
- Changes for 26.1.2: * erts: If the external term format encoding of an argument list part of a distributed spawn operation was faulty, the newly spawned remote process could misbehave. The misbehavior included hanging or interpret an incoming message as an argument list to use. This was very unlikely to happen unless using an alternate implementation of the distribution protocol which made a faulty encoding of the argument list. The child process will now detect this error and terminate before executing the user specified code. * erts: Fix bugs where if the body of a matchspec would return a map with a variable ('$1', '$_' etc) as one of the keys or values and the variable was not an immidiate, the term would not be copied to the receiving processes heap. This would later corrupt the term in the table as the GC could place move markers in it, which in turn would cause the VM to crash. Bug has been present for since OTP 17.0. * xmerl: The xmerl version 1.3.32 was released in OTP 26.0.1, but the incorrect version number of 1.3.31.1 was used for it. This incorrect version number continued to appear in OTP 26.0.2, OTP 26.1, and OTP 26.1.1. The actual xmerl code in these OTP versions however corresponds to xmerl version 1.3.32. - Changes for 26.1.1: * wx: The wx application would fail to build on macOS with Xcode 15. * compiler: The compiler could become extremely slow for modules containing huge functions. * stdlib: Garbage collect the shell process when reducing the amount of saved history and results. - Changes for 26.1: OBS-URL: https://build.opensuse.org/request/show/1120360 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=132 |
|||
867762907a |
Accepting request 1094953 from home:matwey:branches:devel:languages:erlang:Factory
- Changes for 25.3.2.2: * compiler: The compiler could be very slow when compiling guards with multiple guard tests separated with 'or' or ';'. - Changes for 25.3.2.1: * xmerl: New options to xmerl_scan and xmerl_sax_parser so one can limit the behaviour of the parsers to avoid some XML security issues. xmerl_scan gets one new option: xmerl_sax_parser gets the following options: The old option skip_external_dtd is still valid and the same as {external_entities, none} and {fail_undeclared_ref, false} but just affects DTD's and not other external references. * erts: Fixed a crash during tracing on certain platforms that cannot use the machine stack for Erlang code (mainly OpenBSD and Linux with musl). * erts: Constructing a binary segment not aligned with a byte boundary, with a size not fitting in 31 bits, and with a value not fitting in a 64-bit word could crash the runtime system. * erts: Further robustify implementation of large maps (> 32 keys). Keys that happen to have same internal 32-bit hash values are now put in collision nodes which are traversed with linear search. This removes the demand for the internal hash function when salted to eventually produce different hashes for all possible pairs of unequal terms. * stdlib: Static supervisors are very idle processes after they have started so they will now be hibernated after start to improve resource management. * compiler: Fixed a bug where a failing bsl expression in a guard threw an exception instead of causing the guard to fail. * compiler: Complex guard expression using the or operator and guard BIFs that can fail could sometimes be miscompiled so that OBS-URL: https://build.opensuse.org/request/show/1094953 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=131 |
|||
e2f557b41f |
Accepting request 1085293 from home:matwey:branches:devel:languages:erlang:Factory
- Changes for 25.3.2: * compiler: Fixed type handling bugs that could cause an internal error in the compiler for correct code. * os_mon: Avoid error report from failing erlang:port_close at shutdown of cpu_sup and memsup. Bug exists since OTP 25.3 (os_mon-2.8.1). * erts: If a runtime system which was starting the distribution already had existing pids, ports, or references referring to a node with the same nodename/creation pair that the runtime system was about to use, these already existing pids, ports, or references would not work as expected in various situations after the node had gone alive. This could only occur if the runtime system was communicated such pids, ports, or references prior to the distribution was started. That is, it was extremely unlikely to happen unless the distribution was started dynamically and was even then very unlikely to happen. The runtime system now checks for already existing pids, ports, and references with the same nodename/creation pair that it is about to use. If such are found another creation will be chosen in order to avoid these issues. - Changes for 25.3.1: * snmp: Attempts to minimize the number of the error reports during a failed agent init. * compiler: When a map update such as #{}#{key:=value} that should fail with an exception was unused, the exception would be lost. * compiler: Fixed bug in the validator that made it reject valid code. * crypto: With this change, random errors are fixed for crypto:generate_key calls with OpenSSL 3. OBS-URL: https://build.opensuse.org/request/show/1085293 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=130 |
|||
80dd7e29be |
Accepting request 1074311 from home:matwey:branches:devel:languages:erlang:Factory
- Changes for 25.3: * reltool: Fixed a bug that would cause analysis to crash. * stdlib: Fixed a bug that would cause analysis to crash. * stdlib: Fixed a crash when formatting stack traces for error reports. * stdlib: Instead of crashing, the list_to_integer/1 and list_to_integer/2 BIFs now raise the system_limit exception for overlong lists that can't be converted to integers. Similarly, the string:to_integer/1 BIF now returns {error,system_limit} for overlong lists. * stdlib: Removal of non-necessary undefined types added to the state's supervisor record. * compiler: Fixed a bug that would cause the compiler to hang. * compiler: Fixed a crash when compiling code that contained maybe expressions. * compiler: Constructing a binary with an explicit size of all for a binary segment would crash the compiler. * compiler: The compiler would generate incorrect code for the following type of expression: Pattern = BoundVar1 = . . . = BoundVarN = Expression An exception should be raised if any of the bound variables have different values than Expression. The compiler would generate code that would cause the bound variables to be bound to the value of Expressionwhether the value matched or not. * xmerl: Replace size/1 with either tuple_size/1 or byte_size/1 The size/1 BIF is not optimized by the JIT, and its use can result in worse types for Dialyzer. When one knows that the value being tested must be a tuple, tuple_size/1 should always be preferred. When one knows that the value being tested must be a binary, byte_size/1 should be preferred. However, OBS-URL: https://build.opensuse.org/request/show/1074311 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=129 |
|||
49538e5f96 |
Accepting request 1043584 from home:matwey:branches:devel:languages:erlang:Factory
- Changes for 25.2: * erts: Fix perf/gdb JIT symbols to not contain CodeInfoPrologue for the JIT internal module erts_beamasm. * erts: Fixed minor memory leaks. * erts: Fix bugs in ets:insert and ets:insert_new when called with a list of tuples to insert while a concurrent process either deletes or renames the table. The table deletion could be done with ets:delete/1 or be caused by termination of the table owning process. Symptoms are either VM crash or strange incorrect behavior from the insert operation. The risk of triggering the bugs increases with the length of the list of tuple to insert. Bugs exist since OTP 23.0. * erts: Boost execution of scheduled thread progress jobs. This to prevent memory exhaustion in extremely rapid allocation/deallocation scenarios, such as repeated ETS table creations/deletions. * erts: Fix segv crash during crash dumping an ETS table doing ets:delete_all_objects. * erts: Spec for function net:if_names/0 incorrect * erts: Fix bug in binary_to_term decoding a binary term 2Gbyte or larger. * erts: Documentation of erlang:module_loaded/1 has been adjusted: * erts: Fix list_to_atom/1 for negative code points. Could either return with a positive code point or fail with an incorrect exception. * erts: Fix rare bug causing VM crash when sending to a pid of a spawning process returned from erlang:processes/0. Only seen when provoked by system process literal_area_collector, triggered by a module purge operation, on a VM started with OBS-URL: https://build.opensuse.org/request/show/1043584 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=128 |
|||
8c7305ccb7 |
Accepting request 1037964 from home:matwey:branches:devel:languages:erlang:Factory
- Changes for 25.1.2: * mnesia: Don't fill the logs if mnesia can't connect to all nodes, due to partitioned network. * erts: Add abandon carrier free utilization limit (+Muacful) option to erts_alloc. This option allows the user to mark unused segments in a memory carrier as re-useable by the OS if needed. This functionality was a non-configurable default before Erlang/OTP 25, but removed due to performance issues. OBS-URL: https://build.opensuse.org/request/show/1037964 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=127 |
|||
6c901969b8 |
Accepting request 1010504 from home:matwey:branches:devel:languages:erlang:Factory
- Changes for 25.1.1: * dialyzer: Dialyzer could crash when analyzing Elixir code that used intricate macros. * dialyzer: The --input_list_file option has been added. * ssl: Fixes handling of symlinks in cacertfile option. * eunit: With this change, eunit exact_execution option works with application primitive. * stdlib: peer nodes failed to halt when the process supervising the control connection crashed. When an alternative control connection was used, this supervision process also quite frequently crashed when the peer node was stopped by the node that started it which caused the peer node to linger without ever halting. * asn1: For the per and uper ASN.1 encoding rules, encoding and decoding the SEQUENCE OF and SET OF constructs with 16384 items or more is now supported. * erts: Listen sockets created with the socket module, leaked (erlang-) monitors. * erts: Notifications about available distribution data sent to distribution controller processes could be lost. Distribution controller processes can be used when implementing an alternative distribution carrier. The default distribution over tcp was not effected and the bug was also not present on x86/x86_64 platforms. * kernel: Listen sockets created with the socket module, leaked (erlang-) monitors. * kernel: peer nodes failed to halt when the process supervising the control connection crashed. When an alternative control connection was used, this supervision process also quite frequently crashed when the peer node was stopped by the node OBS-URL: https://build.opensuse.org/request/show/1010504 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=126 |
|||
d9820eaffc |
Accepting request 999523 from home:matwey:branches:devel:languages:erlang:Factory
- Changes for 25.0.4: * kernel: A call to net_kernel:setopts(new, Opts) at the same time as a connection was being set up could cause a deadlock between the net_kernel process and the process setting up the connection. * erts: The monitor/3 BIF did not apply options to the created monitor if the target process or port did not exist. That is, the corresponding down message would get a `DOWN` tag even if a custom tag had been set, and the returned reference was not an alias even if the alias option had been passed. * erts: The erlang:monotonic_time/1, erlang:system_time/1, erlang:time_offset/1, and os:system_time/1 BIFs erroneously failed when passed the argument native. OBS-URL: https://build.opensuse.org/request/show/999523 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=125 |
|||
846ae250bc |
Accepting request 993957 from home:matwey:branches:devel:languages:erlang:Factory
- Changes for 25.0.3: * erts: Distributed exit signals could be lost under the following conditions: * erts: A race could cause process_info(Pid, message_queue_len) on other processes to return invalid results. * erts: Fixed reduction counting for handling process system tasks. * erts: Priority elevation of terminating processes did not work which could cause execution of such processes to be delayed. * erts: An unlink operation made by a process that terminated before the unlink operation completed, i.e., before it had received an unlink-ack signal from the linked process, caused an exit signal to erroneously be sent from the terminating process to the process being unlinked. This exit signal would most often be ignored by the receiver, but if the receiver of the exit signal concurrently set up a new link, it could receive the exit signal with the actual exit reason of the terminating process instead of a noproc exit reason. It is however very hard to detect that this has happened and has no obvious negative consequences, so it should be considered harmless. A distributed unlink-ack signal received by a terminating process was also not properly removed which could cause a minor memory leak. * ssl: The link to crypto:engine_load refered the function with wrong arity. OBS-URL: https://build.opensuse.org/request/show/993957 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=124 |
|||
eb2566f294 |
Accepting request 986437 from home:matwey:branches:devel:languages:erlang:Factory
- Changes for 25.0.2: * ssl: Improved handling of unexpected messages during the handshake, taking the right action for unexpected messages. * erts: On computers with the ARM64 (AArch64) architecture (such as Apple Silicon Macs) a rem expression followed by a div expression with the same operands could evaluate to the wrong result if the result of the rem expression was unused. - Changes for 25.0.1: * ssl: When a TLS-1.3 enabled client tried to talk to a TLS-1.2 server that coalesces TLS-1.2 handshake message over one TLS record, the connection could fail due to some message being handled in the wrong state, this has been fixed. * ssl: Correctly handles supported protocol version change from default to something else by sni_fun supplied to ssl:handshake/[2,3] together with a TCP-socket (so called upgrade). * ssl: Also, TLS-1.3 should respond with a protocol version alert if previous versions, that are supported but not configured, are attempted. * kernel: The DNS resolver inet_res has been fixed to ignore trailing dot difference in the request domain between the sent request and the received response, when validating a response. * kernel: A bug in inet_res has been fixed where a missing internal {ok,_} wrapper caused inet_res:resolve/* to return a calculated host name instead of an `{ok,Msg} tuple, when resolving an IP address or a host name that is an IP address string. * kernel: The erlang:is_alive() BIF could return true before configured distribution service was available. This bug was introduced in OTP 25.0 ERTS version 13.0. The OBS-URL: https://build.opensuse.org/request/show/986437 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=123 |
|||
8bf71cf7b0 |
Accepting request 978543 from home:matwey:branches:devel:languages:erlang:Factory
Version 25.0 OBS-URL: https://build.opensuse.org/request/show/978543 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=122 |
|||
f403401117 |
Accepting request 967370 from home:matwey:branches:devel:languages:erlang:Factory
- Fix build for Factory. Currently, any Java version is fine for Erlang. - Changes for 24.3.2: * erl_interface: Fix compile error regarding gethostbyaddr_r on Android. Error introduced in OTP 24.3. * kernel: Fix failed accepted connection setup after previous established connection from same node closed down silently. * kernel: Fixed a problem where typing Ctrl-R in the shell could hang if there were some problem with the history log file. - Changes for 24.3.1: * dialyzer: There could be spurious warnings for unknown types when a type was a subtype of an existing type that was a subtype of an unknown type. * ssl: Client certification could fail for TLS-1.3 servers that did not include the certificat_authorties extension in its certificate request message. - Changes for 24.3: * megaco: The compilation time is no longer recorded in BEAM files. There remained several undocumented functions that attempted to retrieve compilation times. Those have now been removed. * megaco: Update the performance and debug chapters of the megaco user's guide. Also some updates to the meas tools. * compiler: The expression <<0/native-float>>=Bin would always fail to match, while <<0/float-native>>=Bin would match (provided that Bin contained the binary representation of 0.0) * compiler: The compiler will now compile huge functions with straight-line code faster. * erl_interface: Add --enable-ei-dynamic-lib configure option OBS-URL: https://build.opensuse.org/request/show/967370 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=121 |
|||
2f845ee4be |
Accepting request 959708 from home:matwey:branches:devel:languages:erlang:Factory
- Changes for 24.2.2: * inets: Avoid intermediate ungraceful shutdown of the HTTP server. * ssh: The ssh sever parallel_login option was missing in OTP-24 OBS-URL: https://build.opensuse.org/request/show/959708 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=120 |
|||
8a94d1ceb7 |
Accepting request 956544 from home:matwey:branches:devel:languages:erlang:Factory
- Changes for 24.2.1: * ssl: Improve SNI (server name indication) handling so that protocol version can be selected with regards to SNI. Also, make sure that ssl:connection_information/1 returns the correct SNI value. * ssl: Fixed cipher suite listing functions so that the listing of all cipher suites will be complete. Another fix for cipher suite handling in OTP-24.1 accidentally excludes a few cipher suites from the listing of all cipher suites. * ssl: Reenable legacy cipher suite TLS_RSA_WITH_3DES_EDE_CBC_SHA for explicit configuration in TLS-1.2, not supported by default. * ssl: Avoid unnecessary logs by better adjusting the tls_sender process to the new supervisor structure in OTP-24.2 * erts: Fixed a memory leak in file:read_file_info/2 and file:read_file/1 on Windows. * erts: Fix GC emulator crash when spawn_request was used when message tracing was enabled. OBS-URL: https://build.opensuse.org/request/show/956544 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=119 |
|||
7392888dfd |
Accepting request 953011 from home:matwey:branches:devel:languages:erlang:Factory
- Changes for 24.2: * compiler: When the compiler is invoked by Dialyzer, it will no longer apply an optimization of binary patterns that would turn the pattern <<"bar">> into <<6447474:24>>, which would be very confusing when printed out by Dialyzer. * compiler: The compiler would replace known failing calls (such as atom_to_list(42)) with a call to error(badarg). With the extended error information introduced in OTP 24 (EEP 54), those "optimized" calls would not have extended error information. To ensure that as much extended error information as possible is available, the compiler now keeps the original call even when it is known to fail. * sasl: Make release_handler even more resilient against exiting processes during upgrade. Same kind of bug fix as OTP-16744 released in sasl-4.0.1 (OTP 23.1). * ssl: Allow re-connect on DTLS sockets Can happen when a computer reboots and connects from the same client port without the server noticing should be allowed according to RFC. * ssl: Fix tls and non-tls distribution to use erl_epmd:address_please to figure out if IPv4 or IPv6 addresses should be used when connecting to the remote node. Before this fix, a dns lookup of the remote node hostname determined which IP version was to be used which meant that the hostname had to resolve to a valid ip address. * ssl: Use supervisor significant child to manage tls connection process and tls sender process dependency. * ssl: Random generation adjustment for TLS1.3 * ssl: Allow any {03,XX} TLS record version in the client hello for maximum interoperability * mnesia: Documentation and minor code cleanup. OBS-URL: https://build.opensuse.org/request/show/953011 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=118 |
|||
0df109cc7a |
Accepting request 926548 from home:matwey:branches:devel:languages:erlang:Factory
- Changes for 24.1.2: * kernel: The undocumented DNS encode/decode module inet_dns has been cleaned up to handle the difference between "symbolic" and "raw" records in a more consistent manner. PR-5145/OTP-17584 introduced a change that contributed to an already existing confusion, which this correction should remedy. * erts: The python scripts that existed in erts/lib_src/yielding_c_fun/lib/tiny_regex_c/scripts had a license that was incompatible with Erlang/OTP's license. This ticket removes these scripts that were not used by us. * ssl: Before that change, TLS downgrade could occasionally fail when data intended for downgraded socket were delivered together with CLOSE_NOTIFY alert to ssl app. * ssl: Avoid re-encoding of decoded certificates. This could cause unexpected failures as some subtle encoding errors can be tolerated when decoding but hence creating another sequence of bytes if the decoded value is re-encoded. * ssl: Fix possible process leak when the process doing ssl:transport_accept dies before initiating the TLS handshake. * ssl: Fix dtls memory leak, the replay window code was broken. * public_key: Avoid re-encoding of decoded certificates. This could cause unexpected failures as some subtle encoding errors can be tolerated when decoding but hence creating another sequence of bytes if the decoded value is re-encoded. * crypto: Fixed minor memory leak at crypto module purge. * crypto: Fix possible inconsistency in fips mode when linking with some cryptolibs. - Changes for 24.1.1: * kernel: Add more info about the socket 'type' ('socket' or 'port') for the DOWN message when monitoring sockets. OBS-URL: https://build.opensuse.org/request/show/926548 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=117 |
|||
2ff0f62857 |
Accepting request 918929 from home:jsegitz:branches:systemdhardening:devel:languages:erlang:Factory
Automatic systemd hardening effort by the security team. This has not been tested. For details please see https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort OBS-URL: https://build.opensuse.org/request/show/918929 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=116 |
|||
8c11e5d89d |
Accepting request 910175 from home:matwey:branches:devel:languages:erlang:Factory
- Changes for 24.0.5: * kernel: For gen_tcp:connect/3,4 it is possible to specify a specific source port, which should be enough to bind the socket to an address with that port before connecting. Unfortunately that feature was lost in OTP-17216 that made it mandatory to specify the source address to get an address binding, and ignored a specified source port if no source address was specified. That bug has now been corrected. - Changes for 24.0.4: * stdlib: Fix a bug that could cause a crash when formatting tuples using the control sequences p or P and limiting the output with the option chars_limit. * ssl: Handle cross-signed root certificates when old root expired as reported in GH-4877. * ssl: The signature selection algorithm has been changed to also verify if the client supports signatures using the elliptic curve of the server's public/private key pair. This change fixes #4958. * ssl: Slight optimization of certificate decoding. * public_key: Handle cross-signed root certificates when old root expired as reported in GH-4877. * common_test: An incoming NETCONF notification received before a call to ct_netconfc:create_subscription/* caused the connection process to fail with badarg. Unexpected notifications are now logged in the same way as other unexpected messages. * common_test: Add 'receiver' option to ct_netconfc To allow a destination for incoming NETCONF notifications to be specified at sessions creation. Previously, a caller of create_subscription/* became the destination, but RFC 5277 create-subscription is no longer the only way in which NETCONF OBS-URL: https://build.opensuse.org/request/show/910175 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=115 |
|||
cd7329daef |
Accepting request 907952 from home:matwey:branches:devel:languages:erlang:Factory
- Fix more directories not owned by the package (boo#1187546) - Changes for 24.0.3: * erts: A call to erlang:cancel_timer(_, [{info, false}]) could cause the calling process to block forever in the call. Note that only the synchronous version of the call (that is, the async option is false) in combination with the info option set to false was effected by this bug. * erts: Microstate accounting (msacc) and os:perf_counter() unintentionally used system time instead of monotonic time for time measurements on a lot of systems. These systems were all non x86/x86_64 systems or x86/x86_64 systems without a reliable and constant rdtsc instruction. The lock counting (lcnt) built runtime system also unintentionally used system time instead of monotonic time for time measurements on all systems. * erts: Simultaneous calls to erlang:system_flag(schedulers_online, _) could cause callers to end up in a suspended state forever. * dialyzer: Do not expose line number 0 in messages if there are other locations to use. * dialyzer: In rare circumstances, Dialyzer could crash analyzing code with a list comprehension whose value was ignored. (Thanks to Ulf Wiger for reporting this bug.) * ssh: Filter out sensitive data (passwords etc) from progress reports and supervisor reports. * inets: Improved user input handling in inets/mod_esi preventing unnecessary atom creation. * compiler: A compiler optimization pass could crash when given odd but legal code using throw/1. - Changes for 24.0.2: * kernel: Fix a race condition in Global. * kernel: After a node restart with init:restart/0,1, the module socket was not usable because supporting tables had been cleared and not re-initialized. This has now been fixed. Handling of the "." domain as a search domain was incorrect and caused a crash in the DNS resolver inet_res, which has now been fixed. * kernel: Handling of combinations of the fd option and binding to an address has been corrected, especially for the local address family. * kernel: Bug fixes and code cleanup for the new socket implementation, such as: Assertions on the result of demonitoring has been added in the NIF code, where appropriate. Internal state handling for socket close in the NIF code has been reviewed. Looping over close() for EINTR in the NIF code has been removed, since it is strongly discouraged on Linux and Posix is not clear about if it is allowed. The inet_backend temporary socket option for legacy gen_tcp sockets has been documented. The return value from net:getaddrinfo/2 has been corrected: the protocol field is now an atom(), instead of, incorrectly, list(atom()). The documentation has also been corrected about this return type. Deferred close of a socket:sendfile/* file was broken and has been corrected. Some debug code, not enabled by default, in the socket NIF has been corrected to not accidentally core dump for debug printouts of more or less innocent events. * stdlib: Fix a bug that could cause a loop when formatting terms using the control sequences p or P and limiting the output with the option chars_limit. * erts: Not yet handled alias-message signals in the signal queue at the time when a garbage collection was performed could cause a memory corruption which in turn could result in a crash of the runtime system. This bug was introduced in OTP 24.0. * erts: Fixed bug when using external pids/ports in keys of big maps (> 32). Could cause runtime crash. Bug exists since OTP 24.0. * erts: After a node restart with init:restart/0,1, the module socket was not usable because supporting tables had been cleared and not re-initialized. This has now been fixed. Handling of the "." domain as a search domain was incorrect and caused a crash in the DNS resolver inet_res, which has now been fixed. * erts: A call to port_command() could cause a scheduler to end up in an eternal loop if the port was busy and the calling process had incoming signals at the time of the call. This bug was introduced in OTP 23.3.2 (ERTS version 11.2.1), OTP 22.3.4.18 (ERTS version 10.7.2.10), and OTP 21.3.8.23 (ERTS version 10.3.5.18). * erts: Bug fixes and code cleanup for the new socket implementation, such as: Assertions on the result of demonitoring has been added in the NIF code, where appropriate. Internal state handling for socket close in the NIF code has been reviewed. Looping over close() for EINTR in the NIF code has been removed, since it is strongly discouraged on Linux and Posix is not clear about if it is allowed. The inet_backend temporary socket option for legacy gen_tcp sockets has been documented. The return value from net:getaddrinfo/2 has been corrected: the protocol field is now an atom(), instead of, incorrectly, list(atom()). The documentation has also been corrected about this return type. Deferred close of a socket:sendfile/* file was broken and has been corrected. Some debug code, not enabled by default, in the socket NIF has been corrected to not accidentally core dump for debug printouts of more or less innocent events. * erts: Dirty execution of a process in combination with an unlink signal from a port to the process could cause the signal queue of the process to enter into an inconsistent state. The result of the inconsistency typically caused a crash of the runtime system. This bug was introduced in OTP 23.3 (ERTS version 11.2). * erl_docgen: Fix links generated in specs to types in other applications to point to the correct place. This bug was introduced in Erlang/OTP 24.0. * ssl: Fix cache invalidation problem for CA certs provided by the cacertfile option. * ssh: Avoid an extra blank line in the ssh known_hosts file * compiler: Fixed a bug that could cause after blocks to be ignored when erlang:raise/3 was used in a catch block. * compiler: Fixed a bug in the validation pass that could cause it to reject valid code. * crypto: EC keys are now zero-padded to the expected length if needed. OBS-URL: https://build.opensuse.org/request/show/907952 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=114 |
|||
b036021bfb |
Accepting request 902534 from home:matwey:branches:devel:languages:erlang:Factory
- Use sysusers-tools to provide epmd user - Fix directories not owned by the package (boo#1187546) OBS-URL: https://build.opensuse.org/request/show/902534 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=113 |
|||
e762e4d4ba |
Accepting request 899918 from home:gmbr3:Active
- Install RPM macros file to %{_rpmmacrodir} (boo#1185667) OBS-URL: https://build.opensuse.org/request/show/899918 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=112 |
|||
fd5fb06966 |
Accepting request 894854 from home:matwey:branches:devel:languages:erlang:Factory
- Changes for 24.0.1: * erl_interface: Commit of generated configure script. * wx: Fix build problems when wxWidgets are built with -enable- std. * wx: Commit of generated configure script. * crypto: Removed a risk for coredump. * crypto: Fixed and documented the DED_LDFLAGS_CONFTEST configuration variable in $ERL_TOP/HOWTO/INSTALL.md. * crypto: Commit of generated configure script. * common_test: Commit of generated configure script. * ssh: Add missing known_hosts and authorized_keys file types to ssh_file:decode/2 and ssh_file:encode/2. * erts: Commit of generated configure script. * snmp: Commit of generated configure script. * megaco: Commit of generated configure script. * odbc: Commit of generated configure script. - Version 24.0: - Highlights compiler: * The compiler will now inline funs that are used only once immediately after their definition. * Compiler warnings and errors now include column numbers in addition to line numbers. * Variables bound between the keywords 'try' and 'of' can now be used in the clauses following the 'of' keyword (that is, in the success case when no exception was raised). * Generators in list and binary comprehensions will now raise a {bad_generator,Generator} exception if the generator has an incorrect type Similarly, when a filter does not evaluate to a boolean, a {bad_filter,Filter} exception will be raised. * Warnings for expressions whose result was ignored that could be suppressed by using the anonymous variable '_' can now be suppressed with a variable beginning with '_'. * Selective receive optimization will now be applied much more often. The new recv_opt_info compile flag can be used to print diagnostics relating to this optimization. You can read more about the selective receive optimization in the Efficiency Guide. - erts, kernel, stdlib: * hex encoding and decoding functions added in the binary module * The BeamAsm JIT-compiler has been added to Erlang/OTP and will give a significant performance boost for many applications. The JIT-compiler is enabled by default on most x86 64-bit platforms that have a C++ compiler that can compile C++17. To verify that a JIT enabled emulator is running you can use erlang:system_info(emu_flavor). * A compatibility adaptor for gen_tcp to use the new socket API has been implemented (gen_tcp_socket). * Extended error information for failing BIF calls as proposed in EEP 54 has been implemented. * Process aliases as outlined by EEP 53 has been introduced. * Implementation of EEP 56 in supervisor. It adds the concept of significant children as well as the auto_shutdown supervisor flag. See the supervisor manual page for more information. - ftp: * Add support for FTPES (explicit FTP over TLS). - ssl: * Make TLS handshakes in Erlang distribution concurrent. * TLS connections now support EdDSA certificates. - wx: * The application has been completely rewritten in order to use wxWidgets version 3 as its base. * Added support for wxWebView. - edoc: * EDoc is now capable of emitting EEP-48 doc chunks. This means that, with some configuration, community projects can now provide documentation for shell_docs the same way that OTP libraries did since OTP 23.0. OBS-URL: https://build.opensuse.org/request/show/894854 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=111 |
|||
8ca7345858 |
Accepting request 884205 from home:matwey:branches:devel:languages:erlang:Factory
- Pack doc/chunks into %{_libdir} (boo#1184492) OBS-URL: https://build.opensuse.org/request/show/884205 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=110 |
|||
0248bda4ed |
Accepting request 863811 from home:matwey:branches:devel:languages:erlang:Factory
- Use wxWidgets < 3.1 (boo#1180488) - Changes for 23.2.2: * crypto: Fixed usage of AC_CONFIG_AUX_DIRS() macros in configure script sources. * odbc: Fixed usage of AC_CONFIG_AUX_DIRS() macros in configure script sources. * snmp: Fixed usage of AC_CONFIG_AUX_DIRS() macros in configure script sources. * erts: The suspend_process() and resume_process() BIFs did not check their arguments properly which could cause an emulator crash. * erts: The runtime system would get into an infinite loop if the runtime system was started with more than 1023 file descriptors already open. * megaco: Fixed usage of AC_CONFIG_AUX_DIRS() macros in configure script sources. * erl_interface: Integers outside of the range [-(1 bsl 32) - 1, (1 bsl 32) -1] were previously intended to be printed in an internal bignum format by ei_print_term() and ei_s_print_term(). Unfortunately the implementation has been buggy since OTP R13B02 and since then produced results with random content which also could crash the calling program. This fix replaces the printing of the internal format with printing in hexadecimal form and extend the range for printing in decimal form. Currently integers in the range [-(1 bsl 64), (1 bsl 64)] are printed in decimal form and integers outside of this range in Erlang hexadecimal form. * erl_interface: The ei API for decoding/encoding terms is not fully 64-bit compatible since terms that have a representation OBS-URL: https://build.opensuse.org/request/show/863811 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=109 |
|||
2205354d89 |
Accepting request 849306 from home:matwey:branches:devel:languages:erlang:Factory
- Changes for 23.1.3: * erts: Fixed a crash when exceptions were thrown during call time tracing. * ssh: A supervisor sub-tree could be left if the connection handler process is brutally killed. This will make the max_sessions checking option to count the existing sessions erroneously and could finally block further sessions. - Changes for 23.1.2: * compiler: Fixed a bug in the boolean optimization pass that caused the compiler to confuse different clauses. * erts: Fixed bugs causing issues when enabling the ERTS internal allocators on a system built with the undocumented and unsupported SMALL_MEMORY feature. * erts: The inet driver used to use 16 as maximum elements in an I/O vector passed to writev() (and WSASend() on Windows). When the data to send contained lots of elements, this caused a performance degradation since repeated calls to writev() had to be made to a much larger extent. The inet driver now looks up actual maximum amount of elements that can be used on the system, instead of just assuming 16. On most systems this will result in a maximum amount of I/O vector elements of 1024. As of OTP 23.0 the term encoding of signals to send over the distribution are encoded into I/O vectors of buffers instead of into a single buffer. Reference counted binaries are referred to directly from the I/O vector instead of being copied into the single buffer. That is, Erlang signals containing huge amounts of reference counted binaries was effected by this performance degradation. * erts: In the distributed case, a faulty reply option in a call to the spawn_request() BIF erroneously caused a badarg OBS-URL: https://build.opensuse.org/request/show/849306 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=108 |
|||
|
b61873da75 |
Accepting request 839763 from home:matwey:branches:devel:languages:erlang:Factory
- Changes for 23.1.1: * erts: inet:setopts([{active,once}]) wakes up IO polling thread unnecessarily, leading to lock contention and visibly higher CPU utilization. * erts: Two bugs in the ERTS internal thread wakeup functionality have been fixed. These bugs mainly hit when all threads in the system tried to go to sleep. When the bugs were triggered, certain operations were delayed until a thread woke up due to some other reason. Most important operations effected were code loading, persistent term updates, and memory deallocation. * erts: Fixed bug in ets:select_replace/2 on compressed tables that could produce faulty results or VM crash. Bug exists since OTP 20. * erts: When compiling Erlang/OTP on macOS using Xcode 12, the performance of the BEAM interpreter would be degraded. * erts: As of OTP 22, the allocator specific memory carrier pools were replaced by a node global carrier pool. This unfortunately caused substantial memory fragmentation in some cases due to long lived data being spread into carriers used by allocators mainly handling short lived data. A new command line argument +M<S>cp has been introduced with which one can enable the old behavior as well as configuring other behaviors for the carrier pools. In order to configure the old behavior, with allocator specific carrier pools for all allocators, pass +Mucp : (including the colon character) as a command line argument to erl when starting the Erlang system. The default configuration for carrier pools will be changed to +Mucp : some time in the future, but not in this patch. * os_mon: The configuration parameter memsup_improved_system_memory_data has been introduced. It can OBS-URL: https://build.opensuse.org/request/show/839763 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=107 |
||
74ff236962 |
Accepting request 828926 from home:gsantomaggio_suse:branches:devel:languages:erlang:Factory
- Changes for 23.0.3: * erts: Fixed bug in erlang:load_nif/2 that could cause it to throw badarg exception if a concurrent code change operation was in progress. Bug existed since OTP 23.0. * erts: Minor fix of debug compiled VM. * erts: An unintentional reuse of an already used emulator internal event object could cause a wakeup signal to a thread to be lost. In worst case this could cause the runtime system to hang. This hang was however quite rare. * erts: NIF threads and driver threads on non-Linux systems leaked internal resources when terminating. On Windows these resources were one event per thread. On most other systems one mutex and one condition variable per thread. On these other systems that also lacked pthread_cond_timedwait() also a pipe with its file descriptors was leaked. * compiler: When calls to is_map_key were repeated, the compiler could terminate with an internal consistency failure. * compiler: Fixed a bug in the type inference pass that could cause the compiler to hang. OBS-URL: https://build.opensuse.org/request/show/828926 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=106 |
|||
|
a8fb2fe491 |
Accepting request 814090 from home:matwey:branches:devel:languages:erlang:Factory
- Changes for 23.0.2: * erts: Fixed bug when sending an export fun (eg lists:reverse/1) on a not yet established connection. It could cause VM crash. Bug exists since OTP 23.0. * megaco: The mini parser could not properly decode some IPv6 addresses. - Changes for 23.0.1: * erts: The functionality utilized by BIFs for temporary disabling of garbage collection while yielding could cause system task queues to become inconsistent on a process executing such a BIF. Process system tasks are for example utilized when purging code, garbage collecting literal data, and when issuing an ordinary garbage collection from another process. The bug does not trigger frequently. Multiple code purges in direct sequence makes it more likely that this bug is triggered. In the cases observed, this has resulted in a hanging code purge operation. * erts: SCTP and UDP recv/2,3 hangs indefinitely if socket is closed while recv is called (socket in passive mode). * compiler: In rare circumstances, a guard using 'not' could evaluate to the wrong boolean value. * compiler: A guard expression that referenced a variable bound to a boolean expression could evaluate to the wrong value. - Version 23.0: - Potential Incompatibilities: * SSL:Support for SSL 3.0 is completely removed. TLS 1.3 is added to the list of default supported versions. * erl_interface: Removed the deprecated parts of erl_interface (erl_interface.h and essentially all C functions with prefix OBS-URL: https://build.opensuse.org/request/show/814090 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=105 |
||
4ec57075ee |
Accepting request 788113 from home:gsantomaggio_suse:branches:devel:languages:erlang:Factory
- Changes for 22.3: * compiler: A 'receive' with an 'after 0' clause would prevent the optimization that can avoid scanning the entire receive queue when matching on a newly created reference. * compiler: HiPE can again handle modules with catch and try constructs. * compiler: Fixed a bug in bit-syntax optimization that could crash the compiler. * crypto: Fixed potential memory leaks involving calls to the crypto ng_api. * common_test: Document incl_apps cover option * common_test: The ct_property_test has now a report function for results of stateful testing. * common_test: Don't hide error reasons from user * stdlib: Fix type specification for uri_string:normalize/2 that may also return error(). * stdlib: Improve error handling in uri_string:normalize/2. This change fixes a crash when the input URI has faulty percent- encoding. * stdlib: Fix minor bugs in the Erlang pretty printer (erl_pp). * stdlib: Fix the Erlang parser regarding consecutive unary operators. * stdlib: Let calendar:rfc3339_to_system_time() crash when the time offset is missing. * stdlib: Implement uri_string:resolve/{2,3} that can be used to resolve a URI reference against a base URI. * stdlib: In gen_statem it is now possible to change the callback module for a running server. See gen_statem's documentation for change_callback_module, push_callback_module, and pop_callback_module. * ssl: Correct handling of TLS record limit in TLS-1.3. The max value differs from previous versions. Also the payload data max record check was broken, that is record overflow problems could occur if user sent large amounts of data. * ssl: Correct close handling for DTLS * ssl: Fix ssl:getstat/1-2 to also work for DTLS sockets * ssl: Correct internal handling och socket active mode to avoid reviving TCP data aimed for a downgraded TLS socket. * ssl: When using the host name as fallback for SNI (server name indication) strip a possible trailing dot that is allowed in a host name but not in the SNI. Also if the server receives a SNI with a trailing dot send an UNRECOGNIZED_NAME alert. * ssl: Immediately remove session entries if handshake is abruptly closed at transport level. * ssl: Implementation of the key and initialization vector update feature, and general hardening of TLS 1.3. There are cryptographic limits on the amount of plaintext which can be safely encrypted under a given set of keys. This change enforces those limits by triggering automatic key updates on TLS 1.3 connections. * ssl: Add support for TLS 1.3 Session Tickets (stateful and stateless). This allows session resumption using keying material from a previous successful handshake. * ssl: Add support for key exchange with Edward curves and PSS- RSA padding in signature verification. * megaco: The documented function megaco:get_sdp_record_from_PropertGroup/2 was a wrapper for megaco_sdp:get_sdp_record_from_PropertGroup/2 but did not actually exist. This has now been fixed. * megaco: Test suite completely reworked. Add (timestamp) utility functions for debugging and testing. * erl_interface: Fix link error "multiple definition of `ei_default_socket_callbacks'" for gcc version 10 or when built with gcc option -fno-common. Error exists since OTP-21.3. * asn1: Fix 'DEFAULT' with 'OCTET STRING' and 'SEQUENCE OF CHOICE' with extensions. * erts: gen_udp:recv(S, N, 0) corrupted the internal state for the socket so after receive with {active, once} it always returned {error, timeout}, and wasted the received UDP packets. This bug has now been fixed. Reported and pinpointed by Alexander Petrovsky. * erts: The atom esock_atom_user and esock_atom_kernel was never actually created. This has now been corrected. * erts: Fixed bug in socket module that could potentially lead to scheduler deadlocks. * erts: Fix bug causing VM crash if down or stop callback of a NIF resource is called after the NIF module has been purged. The fix will postpone unloading until all such resource objects have been garbage collected. * erts: Fixed bug in ets:update_counter/4, when called with an invalid UpdateOp and a Key that does not exist, causing ets:info(T,size) to return incorrect values. Bug exists since OTP-19.0.2. * erts: Fix potential heap corrupting bugs when a process calls a BIF that blocks other normal schedulers and then writes to its own heap without the main process lock. A NIF running on a dirty scheduler trying to interact with such a process could corrupt its heap. The fixed BIFs were related to code loading and tracing. * erts: Fixed bug in erlang:list_to_ref/1 when called with a reference created by a remote note. Function list_to_ref/1 is intended for debugging and not to be used in application programs. Bug exist since OTP 20.0. * erts: The prim_net nif (net/kernel) made use of an undefined atom, notsup. This has now been corrected. * erts: Corrected the valid range of the erl command line argument +SDio <NumberOfDirtyIoSchedulers> from 0..1024 to 1..1024. +SDio 0 was erroneously allowed which just caused the VM to crash on the first dirty I/O job scheduled. * erts: Fix a crash when attempting to log faults when loading files during early boot. * erts: For socket, not all send and receive flags are supported on all platforms. In order to (at least) simplify testing, the socket:supports/0,1,2,3 functions has been extended with send_flags and recv_flags items, which indicates what the current platform can manage. * erts: Add a "full featured" version of getifaddrs in the net module. * erts: The options busy_limits_port and busy_limits_msgq have been added to the BIF erlang:open_port/2. The busy_limits_port option can be used for controlling the busy state of a port executing the spawn_driver or the fd_driver. The busy_limits_msgq option can be used for controlling the busy state of the port message queue. * erts: A socket "registry" has been added making it possible to list current open sockets. * erts: The counters managed by the socket nif has been extended. Their "size" has been increased from 32 bit to 64. Two max package size (for read and write) has been added. And four accept counters has been added. * erts: Add gcc option -fno-common to detect accidental name clashes of global variables. * erts: New dynamic lock checker that verifies locking orders and detects potential deadlock bugs in drivers and NIFs. Enabled together with the old static lock checker (for ERTS internal locks) in emulator started with -emu_type debug or built with configuration option --enable-lock-checking. * snmp: A simple supervision of the snmp manager net-if process has been added. Also, a way to forcibly restart the net-if process has been added. This could be useful if the net-if process hangs for some reason. * snmp: Misc documentation corrections * mnesia: Fixed a timing issue in uninstall fallback functionality. * eunit: Backport of PR-2316: Strip control codes from eunit_surefire output to avoid generation of invalid xml * ssh: Unicode problems for ssh_sftp:write fixed. * ssh: Changes to the internal api of the experimental ssh_dbg tool. * ssh: The new functions ssh:set_sock_opts/2 and ssh:get_sock_opts/2 sets and reads option values for the underlying TCP stream. * hipe: HiPE can again handle modules with catch and try constructs. * hipe: When the return value for try/catch was ignored, the native code compiler could crash. * public_key: Add support for key exchange with Edward curves and PSS-RSA padding in signature verification. * diameter: Add the 'first' tuple to type diameter:peer_filter/0. The filter was added in OTP-17.5.6.8 and OTP-18.3, but neither release updated the type specification. * tools: An Emacs warning due to lacking type in defcustom declaration has been fixed. * tools: Improve emacs indentation. * tools: The cover tool could generate instrumented code for a module that would cause warnings to be issued. * tools: Fixed generated fprof analysis format to also handle data in maps. * sasl: A socket "registry" has been added making it possible to list current open sockets. * kernel: The DNS resolver `inet_res` has been fixed to return the last intermediate error when subsequent requests times out. * kernel: The prim_net nif (net/kernel) made use of an undefined atom, notsup. This has now been corrected. * kernel: Fix a crash when attempting to log faults when loading files during early boot. * kernel: Fix crash in logger when logging to a remote node during boot. * kernel: Improved net_kernel debug functionality. - Changes for 22.2.8: * diameter: The possibility of choosing a handler process for an incoming Diameter request with a configured MFA was documented in OTP 20.0, but counters (with {traffic_counters, true}) were not incremented when this process was on a remote node. Counters are now incremented on the node that configures the transport in question. Introduced in OTP 21.3. * diameter: Transport options differing from those passed to diameter:add_transport/2 were used in several situations: when starting a transport process after connect_timer expiry after an initial connection attempt has failed, when starting a transport process after a connection has been accepted, when sending events, when returning options in diameter:service_info/2, and possibly more. In particular, the following configuration options to diameter:add_transport/2 were dropped: avp_dictionaries, incoming_maxlen, spawn_opt, strict_mbit. Moreover, any service options mistakenly passed to diameter:add_transport/2 were interpreted as such, instead of being ignored as the documentation states, with the consequence that outgoing and incoming requests saw different values of some options, some were always taken from transport options, and others from service options. diameter:add_transport/2 must be called in new code for the fix to have effect. Introduced in OTP 20.1. OBS-URL: https://build.opensuse.org/request/show/788113 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=104 |
|||
bfbaeabc9c |
Accepting request 780983 from home:scarabeus_iv:branches:devel:languages:erlang:Factory
- Remove conditions and support for openSUSE/SLE < 15 - Remove not really needed service file _service - Convert the dependencies to pkgconfig style ones OBS-URL: https://build.opensuse.org/request/show/780983 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=103 |
|||
5c27ee9566 |
Accepting request 777387 from home:gsantomaggio_suse:branches:devel:languages:erlang:Factory
- Changes for 22.2.7: * compiler: Fixed a bug that could cause the compiler to reject valid code that used the is_map_key/2 BIF. * compiler: Fixed a bug that could cause the compiler to reject valid code that matched the same map key several times. * compiler: The compiler could crash when compiling a convoluted receive statement. * compiler: The compiler could crash when a fun was created but never used. The compiler could crash when compiling the expression true = 0 / X. - jsc#SLE-10913 OBS-URL: https://build.opensuse.org/request/show/777387 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=102 |
|||
|
978b5db269 |
Accepting request 774506 from home:matwey:branches:devel:languages:erlang:Factory
- Changes for 22.2.6: * erts: A process could get into an inconsistent state where it was runnable, but never scheduled for execution. This could occur when a mix of normal and low priority processes where scheduled on the same type of dirty scheduler simultaneously. OBS-URL: https://build.opensuse.org/request/show/774506 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=101 |
||
72ba4c7c00 |
Accepting request 771566 from home:gsantomaggio_suse:branches:devel:languages:erlang:Factory
- Changes for 22.2.5: * erts: A process could end up in a state where it got endlessly rescheduled without making any progress. This occurred when a system task, such as check of process code (part of a code purge), was scheduled on a high priority process trying to execute on a dirty scheduler. * erts: Improved signal handling for processes executing dirty. For example, avoid busy wait in dirty signal handler process when process is doing garbage collection on dirty scheduler. * stdlib: A directory traversal vulnerability has been eliminated in erl_tar. erl_tar will now refuse to extract symlinks that points outside the targeted extraction directory and will return {error,{Path,unsafe_symlink}}. (Thanks to Eric Meadows-Jönsson for the bug report and for suggesting a fix.) OBS-URL: https://build.opensuse.org/request/show/771566 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=100 |
|||
78ad012bdf |
Accepting request 769520 from home:gsantomaggio_suse:branches:devel:languages:erlang:Factory
- Changes for 22.2.4: * ssl: Enhance error handling, all ALERTS shall be handled gracefully and not cause a crash. * ssl: Enhance alert logging, in some places the role indication of the alert origin was missing. So the log would say undefined instead of client or server. * ssl: Two different optimizations did not work together and resulted in the possible breakage of connections using stream ciphers (that is RC4). Reworked the implementation to avoid this. OBS-URL: https://build.opensuse.org/request/show/769520 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=99 |
|||
|
392cd1521f |
Accepting request 766759 from home:matwey:branches:devel:languages:erlang:Factory
- Changes for 22.2.3: * ssl: Fix the handling of GREASE values sent by web browsers when establishing TLS 1.3 connections. This change improves handling of GREASE values in various protocol elements sent in a TLS 1.3 ClientHello. * ssl: Correct DTLS listen emulation, could cause problems with opening a new DTLS listen socket for a port previously used by a now closed DTLS listen socket. * compiler: Fixed a bug in the compiler that could cause it to reject valid code. OBS-URL: https://build.opensuse.org/request/show/766759 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=98 |
||
|
fb15d3695b |
Accepting request 765151 from home:matwey:branches:devel:languages:erlang:Factory
- Changes for 22.2.2: * erts: Taking a scheduler offline could cause timers set while executing on that scheduler to be delayed until the scheduler was put online again. This bug was introduced in ERTS version 10.0 (OTP 21.0). * erts: The ets:update_counter/4 core dumped when given an ordered_set with write_concurrency enabled and an invalid position. This bug has been fixed. * erts: A process calling erlang:system_flag(multi_scheduling, block) could end up blocked waiting for the operation to complete indefinitely. * erts: Duplicate entries for [socket:]getopt and [socket:]setopt in man page. * stdlib: The ets:update_counter/4 core dumped when given an ordered_set with write_concurrency enabled and an invalid position. This bug has been fixed. * crypto: Constant time comparisons added. * ssh: Fixed that ssh_connection:send could allocate a large amount of memory if given an iolist() as input data. * ssh: Safe atom conversions. * ssh: Constant time comparisons added. - Changes for 22.2.1: * erts: Corrected an issue with the new socket api which could cause a core dump. A race during socket close could cause a core dump (an invalid nif environment free). * erts: Corrected an issue with the new socket api which could cause a core dump. When multiple accept processes waiting for a connect a connect could cause a core dump. * snmp: Its now possible to remove selected varbinds (from the final message) when sending a notification. This is done by OBS-URL: https://build.opensuse.org/request/show/765151 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=97 |
||
d3fa12c275 |
Accepting request 758287 from home:dimstar:Factory
- BuildRequire pkgconfig(libsystemd) instead of systemd-devel: Allow OBS to shortcut through the -mini flavors. OBS-URL: https://build.opensuse.org/request/show/758287 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=96 |
|||
5f34c1c7ff |
Accepting request 756006 from home:gsantomaggio_suse:branches:devel:languages:erlang:Factory
- Changes for 22.2 * http://erlang.org/download/OTP-22.2.README * Highlights: * erts: The Kernel application's User's Guide now contains a Logger Cookbook with common usage patterns. * erts: Numerous improvements in the new socket and net modules * Standard libraries: common_test: ct_property_test logging is improved * Standard libraries: ssl: Correct handling of unordered chains so that it works as expected * Tools: Emacs erlang-mode function that lets the user open the documentation for an Erlang/OTP function in an Emacs buffer has been improved. Users will be asked if they want the man pages downloaded if they are not present in the system. OBS-URL: https://build.opensuse.org/request/show/756006 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=95 |
|||
cc81884688 |
Accepting request 751217 from home:gsantomaggio_suse:branches:devel:languages:erlang:Factory
- Changes for 22.1.8 * http://erlang.org/download/OTP-22.1.8.README * erts: Large amounts of quickly executed dirty work could cause heavy contention on an internal spin lock. The spin lock was replaced by a mutex which behaves much better under these conditions. OBS-URL: https://build.opensuse.org/request/show/751217 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=94 |
|||
20be9e02d9 |
Accepting request 747347 from home:gsantomaggio_suse:branches:devel:languages:erlang:Factory
- Changes for 22.1.7 * http://erlang.org/download/OTP-22.1.7.README * compiler: Fixed a performance bug that caused repeated matches of large records to take a very long time to compile. * erts: A literal area could prematurely be released before all uses of it had been removed. This occurred either when a terminating process had a complex exit reason referring to a literal that concurrently was removed, or when a terminating process continued executing a dirty NIF accessing a literal (via the heap) that concurrently was removed. * erts: Fix bug causing VM crash due to memory corruption of distribution entry. Probability of crash increases if Erlang distribution is frequently disconnected and reestablished towards same node names. Bug exists since OTP-21.0. * erts: Fixed bug causing crash of VM built with configuration --enable--sharing-preserving. Provoked when a sent message contains both a bit string and the heap binary (< 65 bytes) which the bit string was matched from. Bug exists since OTP-19.0 but has seen to be easier to provoke since OTP-22.1. - Changes for 22.1.6 * http://erlang.org/download/OTP-22.1.6.README * compiler, erts: The compiler could do an unsafe optimization of receives, which would cause a receive to only scan part of the message queue. * crypto: The AEAD tag was not previously checked on decrypt with chacha20_poly1305 * erts:Fix bug where the receive marker used by the runtime to do the receive queue optimization could be incorrectly set. The symptom of this would be that a message that should match in a receive never matches. * snmp: Agent discovery cleanup. If there is no receiver of INFORM then #state.reqs in snmpa_net_if keeps on growing for DISCOVERY. OBS-URL: https://build.opensuse.org/request/show/747347 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=93 |
|||
706f44e597 |
Accepting request 743845 from home:gsantomaggio_suse:branches:devel:languages:erlang:Factory
- Changes for 22.1.5 * http://erlang.org/download/OTP-22.1.5.README * snmp: Application(s): snmp Related Id(s): ERIERL-427 The agent discovery process has been made to work with snmptrapd.. OBS-URL: https://build.opensuse.org/request/show/743845 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=92 |
|||
afc6036236 |
Accepting request 742298 from home:gsantomaggio_suse:branches:devel:languages:erlang:Factory
- Changes for 22.1.4 * http://erlang.org/download/OTP-22.1.4.README * compiler: Fixed a bug where the compiler could generate incorrect code for a 'receive' statement inside a 'try'. * crypto: FIxed a bug if the erlang emulator was linked with a very old cryptolib version (1.0.1 or earlier). The bug now fixed could have triggered a core dump if an unknown cipher name was used in crypto functions. * erts: Erlang/OTP can now be built on macOS Catalina (10.15). OBS-URL: https://build.opensuse.org/request/show/742298 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=91 |
|||
|
6ebe2c2368 |
Accepting request 738664 from home:matwey:branches:devel:languages:erlang:Factory
- Changes for 22.1.3: * inets: Add HTTP server error logging vi logger - Changes for 22.1.2: * erts: Added the environment variable ERLC_SERVER_ID, which allows multiple compile servers to run separately under the same user. - Changes for 22.1.1: * erts: A terminating process sending distributed 'EXIT' or 'DOWN' signals while terminating could end up in a state where no progress at all was made. This was triggered by a distribution channel that the terminating process was sending on got busy. This bug has existed since ERTS version 10.4 (OTP 22.0). * erts: When communicating with a simultaneously exiting port via the erlang:port_*() BIFs one could sometimes get stray {Ref, What} messages. Where Ref was a reference and What usually were the atom badarg. * snmp: Made it possible to add 'extra socket options' to the (gen_udp) socket open call (for both manager and agent). A new option has been added, extra_sock_opts, which makes it possible for the user to add a list of extra socket options that will be appended to the other socket options for the open call. See the snmp application config man page (erl -man 6 snmp) or the "Configuring the application" chapter of the Users Guide for more info. * compiler: Fixed a bug in the bit-syntax optimization pass that could crash the compiler. OBS-URL: https://build.opensuse.org/request/show/738664 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=90 |
||
|
007c4f54ef |
Accepting request 732489 from home:matwey:branches:devel:languages:erlang:Factory
- Changes for 22.1: * kernel: The type specification for gen_sctp:connect/4,5 has been corrected. * kernel: Extra -mode flags given to erl are ignored with a warning. * kernel: Fix type spec for seq_trace:set_token/2. * kernel: logger:compare_levels/2 would fail with a badarg exception if given the values all or none as any of the parameters. This is now corrected. * kernel: Fix bug where the log file in logger_std_h would not be closed when the inode of the file changed. This would in turn cause a file descriptor leak when tools like logrotate are used. * kernel: Fix a race condition in the debugging function net_kernel:nodes_info/0. * kernel: Fix race condition when closing a file opened in compressed or delayed_write mode. * kernel: The possibility to send ancillary data, in particular the TOS field, has been added to gen_udp:send/4,5. * kernel: If the log file was given with relative path, the standard logger handler (logger_std_h) would store the file name with relative path. If the current directory of the node was later changed, a new file would be created relative the new current directory, potentially failing with an enoent if the new directory did not exist. This is now corrected and logger_std_h always stores the log file name as an absolute path, calculated from the current directory at the time of the handler startup. * kernel: Support local sockets with inet:i/0. * observer: Fix bug after a user followed link on a pid from an expanded term window. * observer: Improved dark mode colors on Linux. * mnesia: mnesia:add_table_copy/3 could cause a deadlock if called when a new node was starting. * mnesia: Transactions with sticky locks could with async_asym transactions be committed in the wrong order, since asym transaction are spawned on the remote nodes. To fix this bug the communication protocol between mnesia nodes had to be updated, thus mnesia will no longer be able to connect to nodes earlier than mnesia-4.14 , OTP-19.0. *** POTENTIAL INCOMPATIBILITY *** * stdlib: re:run() now yields when validating utf8 in a large subject. * stdlib: Upgraded the ERTS internal PCRE library from version 8.42 to version 8.43. See http://pcre.org/original/changelog.txt for information about changes made to PCRE. This library implements major parts of the re regular expressions module. * stdlib: The bug with ID ERL-717 has been fixed. The functions io:columns() and io:rows() only worked correctly inside interactive erlang shells before this fix. These functions returned {error,enotsup} before this fix even if stdout and stdin were connected to a terminal when they were invoked from an escript or a program started with e.g., erl -noshell. * stdlib: Fixed handling of ".." and "@" in wildcards. ".." would only work when preceded by a literal pattern such as in "a/..", not when preceded by wildcard characters such as in "*/..". The combination "@/.." was also broken, and in addition "@" in a pattern could degrade performance of the wildcard matching. * stdlib: Make sure ets:fun2ms() can handle ++/2 in the head of functions when called from the shell. * stdlib: Debugging of time-outs in gen_statem has been improved. Starting a time-out is now logged in sys:log and sys:trace. Running time-outs are visible in server crash logs, and with sys:get_status. Due to this system events {start_timer, Action, State} and {insert_timout, Event, State} have been added, which may surprise tools that rely on the format of these events. New features: The EventContent of a running time-out can be updated with {TimeoutType, update, NewEventContent}. Running time-outs can be cancelled with {TimeoutType, cancel} which is more readable than using Time = infinity. *** POTENTIAL INCOMPATIBILITY *** * stdlib: re:run() now avoids validating utf8 in the subject more than once in the same call. This validation could previously be performed multiple times when the global option was passed. * stdlib: ETS ordered_set tables with write_concurrency enabled has got a performance issue fixed. There were no limits for the values of internal statistics counters before this fix. This could result in that the data structure sometimes reacted slowly to a change in how many parallel processes were using it. * stdlib: The ordsets:union/1 is now faster when passed a long list of ordsets. * stdlib: unicode:characters_to_binary() could return very small binaries as reference counted off heap binaries. This could cause an unnecessary large memory usage and an unnecessary load on the binary allocator. Small binaries are now always returned as heap binaries. * stdlib: Display a more meaningful error message when a bad I/O server is used in a script written in Erlang (escript). * stdlib: New feature ets:info(_, binary) to get information about all reference counted binaries kept by a table. This is the same kind of debug information that process_info(_, binary) returns for a process. * stdlib: Corrected ETS documentation about the behavior of compiled match specifications when serialized through external format. * tools: cover would fail to start if two processes tried to start it at the exact same time. * common_test: If a ct hook is installed in the suite/0 function in a test suite, then the hook's terminate/1 function would be called several times without it's init/2 function being called first. This is now corrected. * common_test: If init_per_testcase fails, the test itself is skipped. According to the documentation, it should be possible to change the result to failed in a hook function. The only available hook function in this case is post_init_per_testcase, but changing the return value there did not affect the test case result. This is now corrected. * common_test: Add ct_netconfc support for NETCONF 1.1 (RFC 6241). The 1.1 base capability can be sent in hello, and RFC 6242 chunk framing is applied when both client and server advertise 1.1 support. * common_test: Correct lib_dir paths in common_tests opaque data structure that is passed to ct_release_test callback modules in functions upgrade_init/2, upgrade_upgraded/2 and upgrade_downgraded/2. The incorrect paths may cause confusion when debugging although it will not cause any incorrect behavior on the part of common_test as it is currently not used. * erts: If you set {linger,{true,0}} on a gen_tcp listen socket, accept a connection on that socket, and then close the accepted socket, now the linger zero setting is transferred to the accepted socket. Before this correction that information was lost and the close behaviour on the accepted socket incorrect. * erts: Sending ancillary data implemented in OTP-15747 accidentally left behind test code that caused all UDP sends to fail on Windows. This has now been fixed. * erts: In the socket nif, used invalid flags when if-def'ing for supported TCP flags: TCP_MAXSEG and TCP_NODELAY (the support function). * erts: Fixed memory leaks in experimental socket module. * erts: re:run() now yields when validating utf8 in a large subject. * erts: Fixed bug in seq_trace:set_token(label,Term) which could cause VM crash if Term was heap allocated (not an atom, small integer, local pid or port). Bug exists since OTP 21.0 when terms other than small integers were first allowed as labels. * erts: Extra -mode flags given to erl are ignored with a warning. * erts: Don't loop indefinitely when --enable-pgo is given to configure, but compiler does not support pgo. * erts: Fix seq_trace:print/2 not to raise badarg exception if label is not a small integer. Bug exists since OTP 21.0. * erts: Fixed hipe_flush_icache_range for non-Linux OS on ARM. * erts: The fix in OTP-15871 was too conservative and disabled the offending load-time optimization in some cases where it was safe. * erts: Upgraded the ERTS internal PCRE library from version 8.42 to version 8.43. See http://pcre.org/original/changelog.txt for information about changes made to PCRE. This library implements major parts of the re regular expressions module. * erts: Fix race condition when closing a socket while using {active,N} on Windows. * erts: Allow more than one -config command line option to erl on Windows to conform with other OS. * erts: Fix so that ERL_FLAGS environment variable does not interfere with command line arguments. Before this fix you could write: ERL_FLAGS="10" erl +S and erlang would start as if +S had been given the argument 10. * erts: The bug with ID ERL-717 has been fixed. The functions io:columns() and io:rows() only worked correctly inside interactive erlang shells before this fix. These functions returned {error,enotsup} before this fix even if stdout and stdin were connected to a terminal when they were invoked from an escript or a program started with e.g., erl -noshell. * erts: Do not use named label in ethread.c inline assemble. This allows erts to be compiled using gcc 9.1.0 with LTO enabled. * erts: erlang:fun_to_list/1 will now escape the module and function name when necessary. * erts: process_info(P,binary) would neglect to look through heap fragments, potentially missing a few binaries associated with the process. * erts: HiPE is now automatically disabled on systems with non- glibc implementation (for instance musl). This is because musl does not provide the API's for guaranteeing that signals are delivered on the correct native stack. * erts: Fixed bug triggered if a process is killed during call to persistent_term:put or persistent_term:erase. * erts: Add units to all memory slogans in the crash dump documentation. * erts: Fix a bug in binary_to_term that would crash the emulator if a term larger than 16GB was to be decoded. * erts: Fixed bug related to an exiting process sending EXIT and DOWN signals to remote linked/monitored processes. Bugs exists since OTP 22.0. * erts: erlc can now automatically use a compile server to avoid starting an Erlang system for each file to be compiled in a multi-file project. See the documentation for how to enable it. * erts: The possibility to send ancillary data, in particular the TOS field, has been added to gen_udp:send/4,5. * erts: The net module has been split into 'net' (kernel) and prim_net (preloaded). * erts: Socket counters now works as expected and can also be extracted with the (new) info function. * erts: re:run() now avoids validating utf8 in the subject more than once in the same call. This validation could previously be performed multiple times when the global option was passed. * erts: The un-documented function erlang:dist_get_stat/1 now returns the real value of what the distribution queue contains instead of a boolean. * erts: ETS ordered_set tables with write_concurrency enabled has got a performance issue fixed. There were no limits for the values of internal statistics counters before this fix. This could result in that the data structure sometimes reacted slowly to a change in how many parallel processes were using it. * erts: Optimize the reception of large distribution messages. * erts: Binary matching and functions like split_binary/2 will now create heap binaries when the results are small enough, reducing the chances of small sub-binaries keeping large binaries alive. * erts: Fixed rare emulator crash in instrument:allocations/0-1. * erts: Ports could pass very small binaries as reference counted off heap binaries to processes. This could cause an unnecessary large memory usage and an unnecessary load on the binary allocator. Small binaries are now always passed as heap binaries to processes. * erts: unicode:characters_to_binary() could return very small binaries as reference counted off heap binaries. This could cause an unnecessary large memory usage and an unnecessary load on the binary allocator. Small binaries are now always returned as heap binaries. * erts: Improved erl_nif documentation regarding on_load and Erlang stub/fallback functions. * erts: New feature ets:info(_, binary) to get information about all reference counted binaries kept by a table. This is the same kind of debug information that process_info(_, binary) returns for a process. * erl_docgen: Update the documentation build support to handle FOP 2.1 . * ftp: A possibly infinite loop when receiving messages divided in parts is removed. * dialyzer: Allow native compilation when using Dialyzer from Erlang. The options native (defaults to false) and native_cache have been added. * eunit: Handle get_until request with explicit encoding in the implementation of the I/O protocol. * snmp: Fix various minor issues related to Dialyzer. Mostly these are dialyzer warnings, but there was also some minor bugs detected by Dialyzer. * snmp: Fixed a dets usage problem detected by dialyzer. * snmp: The function snmp:print_version_info() prints various version info. For each module a number of items are printed, such as app vsn and md5 digest. And an attempt was also made to print "compile time". This used to be available in the module_info for each module, but has now been removed. * snmp: The use of the deprecated random module has been replaced the with rand module. * snmp: Removed use of the deprecated function erlang:get_stacktrace(). Instead make use of the 'catch Class:Error:Stacktrace' feature. * syntax_tools: Add missing calls to erl_syntax:unwrap/1. The nodes concerned represent names and values of maps and map types. * wx: Fix a driver bug that could crashes when allocating memory. * erl_interface: Fix bugs in ei_print_term for binaries and bit strings causing incorrect output. * erl_interface: Fixed bug in ei_decode_fun for very old fun encoding format. Bug exist since OTP 22.0. * erl_interface: ei_print_term() now supports printing of maps and funs. * xmerl: xmerl_sax_parser crashed during charset detection when the xml declarations attribute values was missing the closing quotation (' or "). * ssl: Handling of zero size fragments in TLS could cause an infinite loop. This has now been corrected. * ssl: DTLS record check needs to consider that a resent hello message can have a different version than the negotiated. * ssl: Basic support for TLS 1.3 Client for experimental use. For more information see the Standards Compliance chapter of the User's Guide. * ssl: Correct solution for retaining tcp flow control OTP-15802 (ERL-934) as to not break ssl:recv as reported in (ERL-938) * ssl: Enhance dialyzer specs to reflect implementation better and avoid dialyzer warnings for the user that wants to use TLS with unix domain sockets. * ssl: Add support for ECDSA signature algorithms in TLS 1.3. * ssl: Correct error handling of TLS downgrade, possible return values form ssl:close/2 when downgrading is {ok, Port} or {error, Reason}, it could happen that only ok was returned instead of {error, closed} when downgrade failed due to that the peer closed the TCP connection. * os_mon: Fix disk_sup to ignore squashfs on Linux when determining if a mounted filesystem is full or not. * os_mon: Fix bug where cpu_sup:util() always returned 100% on systems not using gnu libc, for example Alpine OS. * ssh: Fixed wrong type definition for the daemon option subsystems. * ssh: Fixed a possible SSH logging crash if there was a problem in an early stage of session setup. * ssh: The documentation for the modules ssh_connection, ssh_sftp and ssh_sftpd are now generated from the -spec:s. * ssh: Internal cleanup including removal of the internal file ssh_userauth.hrl. * ssh: Removed unused definitions in ssh.hrl. * ssh: Removed unused fields in the internal #connection{} record. * ssh: To get information of a connection_ref() from for example ssh:connect/3, there was previously one function available namely ssh:connection_info/2. This ticket adds ssh:connection_info/1 which returns all information. For daemons (servers) started with for example ssh:daemon/2 the function ssh:daemon_info/1 returning all information was available. This ticket adds ssh:daemon_info/2 which returns only the information specified in the second argument. The info of connections and of daemons now also includes the item 'options'. Only those options that does not have their default values are returned. For a connection also the items 'algorithms' and 'channels' are added. * inets: httpd - Accept singel LF as line terminator * inets: mod_esi will now always propagate the actual HTTP status code that it answered with, to later mod-modules, and not in some cases hardcode 200. * compiler: Code such as the following would crash the compiler in OTP 22: [some_atom = fun some_function/1] * compiler: Compilation could get really slow (in the order of minutes instead of seconds) when compiling huge functions. (Thanks to Kostis Sagonas for reporting this bug.) * compiler: Fixed a bug in the validator that could reject valid code. * compiler: In rare circumstances, when two clauses had identical bodies and guard tests that tested a single boolean variable, the guard test for the second clause could be discarded, executing the second clause unconditionally if the first clause was not executed. * compiler: Fixed extremely slow compilation for huge functions doing predominantly pattern matching. * compiler: The compiler could generate unsafe code (that would crash the runtime system) for map pattern matching. The code could be unsafe if the matched key was not present in the map at runtime. * compiler: Correct code using try/after could fail to compile when using the option 'no_type_opt'. * compiler: The compiler could crash when compiling code that called 'length/1' on a binary extracted using the binary syntax. * compiler: Fixed a bug where the compiler could fail with an internal consistency failure error when compiling receive statements. * compiler: Fixed a problem where the compiler would crash when compiling binary matching in a function head. * public_key: Support Password based encryption with AES * public_key: Change dialyzer spec to avoid confusion * runtime_tools: Fix dbg:stop_clear/0 to also clear trace events (send and 'receive'). * megaco: Fix various minor issues related to Dialyzer. Mostly these are dialyzer warnings, but there was also some minor bugs detected by Dialyzer. * crypto: The implementation of crypto_one_time/4 is adjusted to match the type specification. The spec and the black-box behaviour of the function are unchanged. Some details: Both the spec and the implementation were correct seen separately. But with both of them combined simultaneously with crypto_one_time/5 which was called by the implementation of crypto_one_time/4, an (obvious) error was detected by a Dialyzer with more thorough checking than usual. * crypto: When using crypto with FIPS mode enabled, the digests were not correctly handled. * crypto: A memory leak in error handling code in ng_crypto_init_nif is fixed. * crypto: Fixed the broken static build of the crypto nifs * crypto: The Message Authentication Codes (MAC) CMAC, HMAC and Poly1305 are unified into common functions in the New Crypto API. See the manual for CRYPTO. * sasl: The net module has been split into 'net' (kernel) and prim_net (preloaded). * jinterface: Replaced deprecated <tt> with <code> in documentation. - Rebased patches: + 0001-erts-Do-not-use-named-no_cpuid-label-in-asm.patch dropped (merged upstream) OBS-URL: https://build.opensuse.org/request/show/732489 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=89 |
||
279ea802cd |
Accepting request 726468 from home:marxin:branches:devel:languages:erlang:Factory
- Udate -ffat-lto-objects in order to properly build static libraries provided by the package (boo#1142645). - Use %make_build macro. OBS-URL: https://build.opensuse.org/request/show/726468 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=88 |
|||
1b13a89214 |
Accepting request 719512 from home:matwey:branches:devel:languages:erlang:Factory
- Add patch 0001-erts-Do-not-use-named-no_cpuid-label-in-asm.patch: fix boo#1142913 - Changes for 22.0.7: * compiler: Fixed a compiler crash introduced in 22.0.6 (OTP-15952). - Changes for 22.0.6: * compiler: Fixed an unsafe optimization when matching tuple_size/1 outside of guards, which could crash the emulator if the argument was not a tuple. * compiler: Fixed a rare bug that could cause the wrong kind of exception to be thrown when a BIF failed in a function that matched bitstrings. * compiler: Fixed a bug where receive statements inside try/catch blocks could return incorrect results. * ssl: Enhance error handling for erroneous alerts from the peer. * hipe: The HiPE compiler would badly miscompile certain try/catch expressions, so it will now refuse to compile modules containing try or catch. As a consequence of this, dialyzer will no longer compile key modules to native code. *** POTENTIAL INCOMPATIBILITY *** * dialyzer: The HiPE compiler would badly miscompile certain try/catch expressions, so it will now refuse to compile modules containing try or catch. As a consequence of this, dialyzer will no longer compile key modules to native code. *** POTENTIAL INCOMPATIBILITY *** - Changes for 22.0.5: * inets: Fix a regression in http client that causes a crash when request URI has no scheme. * ssl: Fix handling of certificate decoding problems in TLS 1.3 similarly as in TLS 1.2. OBS-URL: https://build.opensuse.org/request/show/719512 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=87 |