Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
* fredrik/ssh/unicode_adapt:
ssh: unicode adaptions
|
|
Erlang source files should not have any "coding:" comment.
The encoding for documentation XML files should be "utf-8" or "UTF-8".
|
|
|
|
|
|
|
|
|
|
|
|
OTP-11046
|
|
|
|
* nox/move-let-into-seq/OTP-11056:
Move let expressions into sequences
|
|
|
|
* 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.
|
|
|
|
|
|
|
|
* siri/cuddle-with-tests:
[common_test] Adjusted timers in ct_repeat_testrun_SUITE
[common_test] Extend timer in cover_SUITE for slow test host
[sasl] Remove compiler warning in release_handler_SUITE
[common_test] Kill slave nodes after test cases in cover_SUITE
[reltool] Remove erlang:port_close/1 for node port
|
|
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.
|
|
|
|
* ak/fix-cpu-overhead-of-timer-server/OTP-11053:
fix excessive CPU consumption of timer_server
|
|
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:
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
|
|
* 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
|
|
* maint-r15:
Prepare release
Dummy merge.
|
|
|
|
* rickard/sched/OTP-11022:
Do not count offline run-queues as empty
|
|
|
|
|
|
* 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_cache2:
Bug fixes in Common Test log cache
|
|
|
|
* siri/appup-for-r17/OTP-10950:
Update "old vsn" in sasl test to R15 instead of R14 (two back from R17)
|
|
|
|
|
|
* peppe/common_test/log_cache:
Implement cache for the CT logger
OTP-10855
|
|
OTP-10855
|