Age | Commit message (Collapse) | Author |
|
|
|
* sverker/hipe-beam-stacktrace/ERL-205:
erts: Exclude random beam functions from hipe stacktrace
|
|
|
|
|
|
Avoid suspending fun caller not just if purge is already done
but also if purge of another module has started. Another purge
of the same module again cannot happen as making current to old
transition includes thread progress.
|
|
into maint
* lukas/erts/tracing/fix_dead_tracer_check/ERL-274/OTP-13928:
erts: Do tracer liveness check on current tracer
|
|
in Text part of error tuple, like
{error, {load, "Library load-call unsuccessful (606)}}
|
|
This fixes a fault introduced in 19.0 where an invalid
tracer would block setting of a new tracer on a process.
|
|
A process calling a fun from a module currently being soft-purged
could race with failure of the soft purge. When this happened the
call triggered loading of the module which erroneously would
load new code for the module in the case no new generation was
currently loaded.
|
|
|
|
* raimo/diffserv-socket-option/OTP-13582:
Tune 'tclass' semantics
Implement IPV6_TCLASS
|
|
* bjorn/erts/on_load/ERL-240/OTP-13893:
erts: Add nif_SUITE:t_on_load
erts: Improve nif_SUITE:upgrade test
Don't leak old code when loading a modules with an on_load function
|
|
|
|
|
|
|
|
|
|
to include upgrade from deleted (old) module instance
|
|
Normally, calling code:delete/1 before re-loading the code for a
module is unnecessary but causes no problem.
But there will be be problems if the new code has an on_load function.
Code with an on_load function will always be loaded as old code
to allowed it to be easily purged if the on_load function would fail.
If the on_load function succeeds, the old and current code will be
swapped.
So in the scenario where code:delete/1 has been called explicitly,
there is old code but no current code. Loading code with an
on_load function will cause the reference to the old code to be
overwritten. That will at best cause a memory leak, and at worst
an emulator crash (especially if NIFs are involved).
To avoid that situation, we will put the code with the on_load
function in a special, third slot in Module.
ERL-240
|
|
* rickard/test-cuddle:
Ensure long enough sleep in driver_SUITE:timer_delay driver
|
|
|
|
|
|
Do not decode distribution messages as part of the GC operation.
Distribution messages containing maps may generate heap fragments.
|
|
|
|
|
|
* sverker/beam-too-few-functions/ERL-244:
erts: Reject beam file with too few functions
|
|
* rickard/thr-prgr-unmanaged-delay-bug/OTP-13869:
Fix erts_thr_progress_unmanaged_delay()
|
|
* rickard/drv-send-term-thr-bug/OTP-13866:
Fix thread calls to erl_drv_send_term()/erl_drv_output_term()
Conflicts:
erts/emulator/beam/io.c
|
|
Thread progress leader update did not cache current unmanaged index
when waiting for unmanaged threads. This caused
erts_thr_progress_unmanaged_delay() to stop working until a new leader
took over.
|
|
* lukas/erts/fix_signalhandler_errno_restore/OTP-13868:
erts: Fix child setup signal hander bug
|
|
* lukas/erts/tracing/fix_sparc_align_issue/OTP-13803:
erts: Immed tracer states also have to be alignable
|
|
|
|
|
|
|
|
|
|
When running the signal handler, the errno has to be restored
to its original value, otherwise code running in the same thread
may misbehave.
|
|
* rickard/new-purge-strategy/OTP-13833:
Fix reclaim of literal areas
Conflicts:
erts/emulator/beam/beam_bif_load.c
|
|
|
|
* rickard/mbuf_sz/OTP-13851:
Ensure correct mbuf_sz value in process structure
|
|
* rickard/premature-timeout/OTP-13698:
Improve accuracy of timeouts using premature timeouts
|
|
|
|
|
|
* rickard/time-unit/OTP-13735:
Update test-cases to use new symbolic time units
Replace misspelled symbolic time units
Conflicts:
erts/doc/src/erlang.xml
erts/emulator/test/long_timers_test.erl
|
|
* rickard/ds-win-32bit/OTP-13759:
Fix dirty schedulers build on windows
|
|
* rickard/test-cuddle:
Fix dirty_nif_SUITE:dirty_call_while_terminated test case
Adjust process_SUITE:no_priority_inversion2
Allow larger timeout delay in driver_SUITE
Ignore long time failures during high CPU utilization
Cleanup in statistics_SUITE:runtime_update test
Improve timer tests in driver_SUITE
Fix statistics_SUITE:scheduler_wall_time test
Fix scheduler_SUITE:scheduler_suspend test
Fix scheduler_SUITE:scheduler_threads test
Fix scheduler_SUITE:update_cpu_info test
Skip nif_SUITE:consume_timeslice test when debug compiled
Increase time margin in timer_bif_SUITE:start_timer_1 test
|
|
Prevent binary from being prematurely GCed
|
|
|
|
* sverker/load-corrupt-beam/ERL-216:
erts:: Unsignify a bunch of loader variables
erts: Reject an invalid beam code header size
erts: Fix load of beam with invalid imports and atom numbers
|
|
* rickard/ds-trace/OTP-13822:
Fix tracing of processes executing dirty
|
|
* rickard/ds-purge-module/OTP-13808:
Perform check_process_code while process is executing dirty
Conflicts:
erts/doc/src/erl_nif.xml
|
|
'rickard/new-purge-strategy/OTP-13833' into maint
* rickard/fun-purge-bug/OTP-13809:
Fix purge of code
Reclaim literal area after purge has completed
Separate literal area from code
Conflicts:
erts/doc/src/erlang.xml
erts/emulator/beam/beam_bif_load.c
erts/emulator/beam/erl_init.c
erts/preloaded/ebin/init.beam
|