Age | Commit message (Collapse) | Author |
|
|
|
Conflicts:
lib/kernel/test/os_SUITE.erl
|
|
Because of leeway in implementing os:cmd/1 under different OS there is
a difference in results when calling it with deep list
argument. os:cmd/1 specifies io_lib:chars() type for its argument and
io_lib functions can produce deep lists inspite of io_lib:chars()
result type specification. This commit flattens the argument for
erlang:open_port/2 (which is used under Windows) and expands the
os_SUITE to regress the bug.
|
|
* as/fix-srp-psk-anon/OTP-11071:
fix srp_anon ciphers suites requiring certificates to work.
|
|
* nox/fix-multiple-ref-regs/OTP-11069:
Use a set to store ref registers in beam_receive
|
|
* peppe/common_test/ts_logfile_problems:
Fix error with refreshing logs when html util files are missing
Add correct footer to last run index page
Make test_server close log files properly and include correct footer
|
|
A bug that made it impossible to do any analyses from the GUI has been
fixed. The bug was introduced in dialyzer-2.5.2.
|
|
OTP-11046
|
|
OTP-11046
|
|
|
|
* fredrik/ssh/unicode_adapt:
ssh: unicode adaptions
|
|
OTP-11046
|
|
* anders/diameter/mkdir_race/OTP-11051:
Fix mkdir race
|
|
In some circumstances, as when inlining code, when some optimization
passes are disabled or with hand-written but semantically correct Core
Erlang or BEAM assembly, a fresh reference may be live in more than one
register:
...
{allocate_zero,2,2}.
...
{call_ext,0,{extfunc,erlang,make_ref,0}}. % Ref in [x0]
...
{move,{x,0},{y,0}}. % Ref in [x0,y0]
{move,{y,1},{x,0}}. % Ref in [y0]
...
{move,{y,0},{x,0}}. % Ref in [x0,y0]
{move,{x,0},{y,1}}. % Ref in [x0,y0,y1]
{label,5}.
{loop_rec,{f,6},{x,0}}. % Ref in [y0,y1]
...
{loop_rec_end,{f,5}}.
{label,6}.
{wait,{f,5}}.
...
Pass beam_receive expects a single live register for the ref when it
encounters the loop_rec instruction and crashes with the following
reason:
$ erlc t.S
...
crash reason: {{case_clause,
{'EXIT',
{{case_clause,[{y,1},{y,0}]},
[{beam_receive,opt_recv,5,
[{file,"beam_receive.erl"},{line,154}]},
...]}}},
...}
This commit teaches beam_receive how to use a set of registers instead
of a single one when tracking fresh references, thus avoiding the crash.
|
|
This is to allow slower test hosts.
|
|
|
|
|
|
The test case cover_SUITE:slave_start_slave often fails on a test host
(windows) due to a hanging node from an earlier test run. In the first
test, the slave fails to start (boot_timeout?) and is never connected
to the test node. The attempt at cleaning up used nodes() to find
which slaves to kill - so in the case where the slave was never
connected it was never killed. This is no changed so each slave is
explicitly killed by name - no matter if it is pingable or not.
|
|
Test nodes are started with erlang:open_port/2, using the -detached
option to erl. -detached causes the port returned from open_port/2 to
be closed automatically. Some test cases failed occasionally with a
badarg when attempting to close the port with erlang:port_close/1. To
avoid this the call to port_close/1 is now removed.
|
|
I've found stdlib's timer to burn CPU without good reason. Here's what
happens.
The problem is that it sleeps in milliseconds but computes time in
microseconds. And there is bug in code to compute milliseconds to
sleep. It computes microseconds difference between now and nearest
timer event and then does _truncating_ division by 1000. So on average
it sleeps 500 microseconds _less than needed_. On wakeup its checks do
I have timer tick that already occurred? No. Ok how much I need to
sleep ? It does that bad computation again and gets 0
milliseconds. So next gen_server timeout happens right away only to
find we're still before closest timer tick and to decide to sleep 0
milliseconds again. And again and again.
This commit changes division to pick ceiling of ratio rather than
floor. So that we always sleep not less then difference between now
and closest event time.
|
|
Creating examples/code and examples/dict in parallel can fail when
examples doesn't exists. This has been seen on FreeBSD.
|
|
* maint-r16:
Prepare release
Prepare release
Do not count offline run-queues as empty
Prepare release
Prevent loss of objects after the extension marker
Don't lose the extension mark for object set parameters
Conflicts:
erts/vsn.mk
|
|
|
|
* siri/ct/error-printout-link/OTP-11044:
[common_test] Add link from red error notification to full error description
[common_test] Use max importance when logging errors
|
|
* siri/doc-fnu-opts/OTP-10901:
Add documentation of w, i and e addition to +fnu and +fna switches to erl
|
|
* fredrik/inets/unblock_timer:
inets: stop block timer with the right arguments
|
|
These were documented in the stdlib user's guide, but not in the
reference manual for erl. This has now been corrected.
|
|
|
|
* peppe/common_test/log_cache:
Implement cache for the CT logger
OTP-10855
|
|
OTP-10855
|
|
* bjorn/fix-encoding/OTP-11041:
Encode Erlang source files with non-ascii characters in UTF-8
|
|
To ensure that 'master' compiles when we merge 'maint' to it,
regardless of which encoding is default in 'master', all source
files with non-ascii characters *must* have the encoding specified.
|
|
* bjorn/asn1/fix-lost-extension-mark/OTP-10995:
Prevent loss of objects after the extension marker
Don't lose the extension mark for object set parameters
|
|
In test case log, the red error notification may sometimes be
truncated. This commit adds a link from this printout to the end of
the log where the full error description and stacktrace i written.
|
|
This commit adds ?MAX_IMPORTANCE to error notifications in the test
case log, and it makes sure that the printout says "CT Error
Notification".
Printouts from cth_log_redirect (sasl and error_reports) uses
?STD_IMPORTANCE and states "System" in the printout.
|
|
|
|
|
|
* lh/demonitor-flush/OTP-11039:
Use erlang:demonitor(Ref, [flush]) where applicable
|
|
* nox/file-receive-optim/OTP-11040:
Optimize communication with file io server
|
|
|
|
* anders/diameter/watchdog_leak/OTP-11019:
Minor doc fix
Add testcase to exercise reconnect behaviour
Fix watchdog table leak
|
|
* anders/diameter/address_config/OTP-10986:
Comment fix
More robust listening port lookup in test suites
Update example client to allow default local address
Make explicit local address to diameter_tcp:start/3 optional
Add transport interface 'connected' message with local address list
|
|
This problem was not caught by the test suites since all PSK and SRP
suites where always tested with certificates. Split those tests into
test with and without certificates.
|
|
|
|
|
|
* lh/otp-optims/OTP-11035:
Use erlang:demonitor's flush option on timeout
Don't lookup the node unless required in gen:call/{3,4}
|
|
|
|
|
|
In particular, remove timing dependence by using diameter_reg:wait/1 to
wait on the term registered by diameter_{tcp,sctp} when opening a
listening socket.
|
|
Note that the semantics of client:connect/1 have changed slightly: the
second element in an argument 3-tuple is a remote address, the local
address being the transport module's default. Previously it was
interpreted as a common local/remote address.
|