Age | Commit message (Collapse) | Author |
|
This bug was introduced in 988f5f5e8061ce2. The aux_thread
needs to be poked as it is the thread that handles all
break actions.
|
|
|
|
* maint-21:
Updated OTP version
Update release notes
Update version numbers
Fix trace_info/2
Provide build support for standalone corba repo
Fix release notes for OTP-21.0.2
Move to a dirty scheduler even when we have pending system tasks
|
|
When matching on a literal map, the map is placed into the general
scratch register first. This is fine in isolation, but when the
key to be matched was in a Y register it would also be placed in
the scratch register, overwriting the map and crashing the
emulator.
|
|
|
|
|
|
* john/erts/fix-dirty-reschedule-bug/OTP-15154:
Move to a dirty scheduler even when we have pending system tasks
|
|
* john/erts/fix-21.0.2-release-notes:
Fix release notes for OTP-21.0.2
|
|
* rickard/trace-info-bug/OTP-15183:
Fix trace_info/2
|
|
* rickard/corba-build/OTP-15176:
Provide build support for standalone corba repo
|
|
|
|
Symptom: emulator core dumps during crash dump generation.
Problem:
erts_dump_lit_areas did not grow correctly
to always be equal or larger than number of loaded modules.
The comment about twice the size to include both curr and old
did not seem right. The beam_ranges structure contains *all* loaded
module instances until they are removed when purged.
|
|
|
|
* sverker/erts/monitored_by-docs/ERL-648/OTP-15180:
os_mon: Fix volatile test cpu_sup_SUITE:util_api
erts: Fix spec and docs for process_info 'monitored_by'
|
|
benign until valgrind version 4.* shows up.
|
|
Two of them only affect valgrind builds
and the one for ERL_CRASH_DUMP_NICE seems benign.
Return value changed in c2d70945dce9cb09d5d7120d6e9ddf7faac8d230
old -> new
-1 -> 0 not found
0 -> 1 found ok
1 -> -1 found but too big
|
|
to include ports and NIF resources.
Added new opaque type 'nif_resource'.
|
|
* hasse/erts/correct_absform:
erts: Correct The Abstract Format
|
|
A minor correction regarding literal character types.
|
|
|
|
* sverker/purge-vfork:
erts: Remove obsolete paragraph about ERL_NO_VFORK
|
|
The release notes generated in the README and notes.xml were out of
sync, and notes.xml erroneously listed a fixed bug as open.
|
|
* maint-21:
Updated OTP version
Update release notes
Update version numbers
Eliminate a crash in the beam_jump pass
stdlib: Fix a 'chars_limit' bug
Fix a race condition when generating async operation ids
Fix internal compiler error for map_get/2
beam_type: Fix unsafe optimization
public_key: Remove moduli 5121 and 7167 Thoose were added by 598629aeba9de98e8cdf5637043eb34e5d407751 but are not universaly supported.
|
|
This is a hack to make the "noshell" option work; kqueue can poll
these fds but will not report EV_EOF. This may be common to all
all pipes but we have no way to tell whether an fd is a pipe or
not.
|
|
from erlang:open_port/2 docs.
|
|
* maint-20:
Updated OTP version
Prepare release
kernel: Fix tick count bug when pending writes
kernel: Send tick to hidden node even if pending writes
ic: Fix buffer overrun bug in oe_ei_encode_atom
erl_interface: Fix simultaneous connection setup
|
|
|
|
|
|
* john/erts/inet-drv-race/OTP-15158/ERL-654:
Fix a race condition when generating async operation ids
|
|
* john/erts/merge-OTP-15067:
Don't enqueue system tasks if target process is in fail_state
Fix erroneous schedule of freed/exiting processes
Fix deadlock in run queue evacuation
Fix memory leak of processes that died in the run queue
|
|
Use erlang:system_info(ets_count) and improve docs
|
|
* sverker/cerl-fixing:
erts: Remove "-pz $PRELOADED" arguments added by cerl
erts: Remove dead code in cerl script
|
|
|
|
into maint-20
* john/erts/fix-process-schedule-after-free/OTP-15067/ERL-573:
Don't enqueue system tasks if target process is in fail_state
Fix erroneous schedule of freed/exiting processes
Fix deadlock in run queue evacuation
Fix memory leak of processes that died in the run queue
|
|
Add missing bracket to erlang:spawn_opt/4 docs priority tuple option
|
|
The counter used for generating async operation ids was a plain int
shared between all ports, which was incorrect but mostly worked
fine since the ids only had to be unique on a per-port basis.
However, some compilers (notably GCC 8.1.1) generated code that
assumed that this value didn't change between reads. Using a
shortened version of enq_async_w_tmo as an example:
int id = async_ref++;
op->id = id; //A
return id; //B
In GCC 7 and earlier, `async_ref` would be read once and assigned
to `id` before being incremented, which kept the values at A and B
consistent. In GCC 8, `async_ref` was read when assigned at A and
read again at B, and then incremented, which made them inconsistent
if we raced with another port.
This commit fixes the issue by removing `async_ref` altogether and
replacing it with a per-port counter which makes it impossible to
race with someone else.
|
|
When a system task was enqueued on a process between being
scheduled and the check altered in this commit, we'd run dirty
code on a normal scheduler as the RUNNING_SYS flag wasn't set
and we wouldn't migrate back.
This change migrates us to a dirty scheduler instead, which will
immediately bounce us back to a normal scheduler where
RUNNING_SYS will be set appropriately.
This is caught fairly reliably by
process_SUITE:system_task_failed_enqueue on machines with a lot of
cores.
|
|
* maint-21:
Updated OTP version
Prepare release
Fix unsafe optimization when running beam_block the second time
Fix environment case sensitivity issues on Windows
|
|
* john/erts/merge-OTP-15067:
Don't enqueue system tasks if target process is in fail_state
Fix erroneous schedule of freed/exiting processes
Fix deadlock in run queue evacuation
Fix memory leak of processes that died in the run queue
|
|
|
|
|
|
|
|
|
|
* lukas/erts/etp-aux-work-fixes:
erts: Update etp-commands with correct aux_flags
|
|
|
|
|
|
* origin/henrik/Update-copyright:
Update copyright year
|
|
|
|
* lukas/erts/fix_vxworks_configure:
erts: Fix vxworks configure broken by corba removal
|
|
|