Age | Commit message (Collapse) | Author |
|
In the following (rare) case down node will be always registered in epmd:
- client connects to epmd and sends ALIVE2 request
- epmd reads this request and starts to process it
- during that time client socket closes in such way that subsequent
write(2) in epmd will result in error
- at this point we have node that was registered in database, but as
the connection struct has no 'keep' flag set, the do_read() closes
connection and removes it from select fdset - and so there is no way
for this node to be cleaned up later.
We've seen several epmd instances in such state on our production
systems. And while I'm not sure what was the exact sequence of events
that leads to failed write(2), issue could be easily reproduced using
SO_LINGER option for socket.
|
|
Conflicts:
OTP_VERSION
erts/doc/src/notes.xml
erts/vsn.mk
otp_versions.table
|
|
|
|
The Types section is more consistent with Kostis' text in The
Reference Manual.
|
|
|
|
Conflicts:
OTP_VERSION
erts/doc/src/notes.xml
erts/vsn.mk
lib/kernel/doc/src/notes.xml
lib/kernel/src/kernel.appup.src
lib/kernel/vsn.mk
lib/ssl/doc/src/notes.xml
lib/ssl/src/ssl.appup.src
lib/ssl/src/ssl_cipher.erl
lib/ssl/vsn.mk
otp_versions.table
|
|
ERTS_PRINT_INVALID prevented file descriptor 0 to be used which
could cause an empty crash dump.
|
|
* mikpe/hipe_x86_signal-musl-support:
hipe_x86_signal: add support for musl libc
OTP-13159
|
|
|
|
* sverk/rare-gc-map-overflow/OTP-13146:
erts: Fix rare case of faulty heap fragment deallocation
|
|
* rickard/erts-print/OTP-13150:
Remove ERTS_PRINT_INVALID from erts_print()
|
|
ERTS_PRINT_INVALID prevented file descriptor 0 to be used which
could cause an empty crash dump.
|
|
after major GC.
Can only be caused by distributed messages containing large maps.
Bad map hashing will increase the risk.
|
|
OTP-13147
* sverk/cpool_fetch-dc_list-fix:
erts: Reduce alloc_SUITE:rbtree runtime for valgrind
erts: Remove double free in efile_drv
erts: Improve alloc_SUITE:migration test
erts: Pass free mem and build type to alloc_SUITE tests
erts: Fix snprintf in alloc_SUITE for windows
erts: Workaround for strange crash on win64 in alloc_SUITE test code
erts: Refactor alloc_SUITE to use NIFs instead of drivers
erts: Add enif_getenv
erts: Make key argument constant for erl_drv_{get|put}env
erts: Add alloc_SUITE:migration
erts: Add TEST allocator
erts: Fix confusion of callbacks destroying_mbc() vs remove_mbc()
erts: Fix resurrection of carriers from dc_list
|
|
* sverk/setnode-rename-bug/OTP-13076:
erts: Fix bug in setnode/2
erts: Remove ERTS_PSD_DIST_ENTRY
erts: Remove faulty ASSERT in erts_proc_*_refc
|
|
|
|
That double free is probably very seldom invoked as the port is already
gone leading to free_data being called instead of file_async_ready.
|
|
In the quest to improve code coverage in cpool_fetch
|
|
|
|
|
|
For some reason setjmp() crash when having jmp_buf heap allocated
but works when stack allocated.
|
|
|
|
to read OS environment variables in a safe and portable way.
|
|
* dgud/erts/fix-mixed-msys-cygwin:
win32: Fix mixed cygwin and msys configure tests
|
|
* egil/18/fix-maps-binary_to_term/OTP-13125:
erts: More testcases for map binary_to_term/1
erts: Fix maps decode in erlang:binary_to_term/1
|
|
|
|
Decoding a term with a large (HAMT) map in an small (FLAT) map could cause
a critical error if the external format was not produced by beam.
|
|
* lrascao/fix/vm_crash_on_init_restart:
Fix crash on init restart
OTP-13115
|
|
|
|
* bjorn/erts/erl_prim_loader-doc/OTP-13102:
erl_prim_loader doc: Remove description of custom loaders
|
|
* legoscia/heart-remove-obsolete-comment:
Remove obsolete comment in heart.c
|
|
* evnu/fix-whitespace-splitting:
Fix erroneous splitting of emulator path
|
|
* sverk/nif_SUITE-win64-long-bug:
erts: Fix nif_SUITE for win64
|
|
* c-rack/fix-typo-prim-inet:
Fix minor typo "timout" -> "timeout"
|
|
* zenhack/fix-erroneous-__uint32_t:
Fix erroneous use of __uint32_t
OTP-13105
|
|
* legoscia/erl-make-exit-code:
Make erl -make return non-zero exit code on failure
OTP-13107
|
|
Custom loaders have not been supported for several releases.
Remove the documentation for custom loaders.
|
|
- change #if tests at default Solaris case to explicitly check for __sun__
- add new default case, instantiate it for musl
|
|
where type long is only 32-bit and can not hold a pointer
unless your lucky.
|
|
And test for mixed msys in emulator
|
|
The "if" referred to in the comment was removed in commit 70c9312c4b.
|
|
* henrik/epmd-ctime:
add missing time.h
OTP-13095
|
|
* gomoripeti/tracedoc_fix:
Fix typo in trace gc_start doc
OTP-13094
|
|
This should be a harmless and compatible API change.
|
|
|
|
|
|
that could lead strange things to happen when renaming a node with
a name that already exist in node and dist tables.
Problem:
erts_set_this_node() is a bit brutal and does not handle the case
when an old remote node name is reused as the new local node name.
Solution:
Treat erts_this_node and erts_this_dist_entry as all the others
with correct reference counting.
|
|
On load handler process not being launched on a restart, NIF's
such as asn1rt_nif require it to be present for correct loading.
|
|
|
|
|