aboutsummaryrefslogtreecommitdiffstats
path: root/erts
AgeCommit message (Collapse)Author
2014-10-29erts: Fix bug in beam_rangesSverker Eriksson
Symptom: VM on OSX (darwin11.4.2) with +Meamin running sasl tests, crashing when init:reboot() does erlang:purge_module(installer). Problem: Off-by-one bug in beam_ranges:find_range, returning the wrong range if the 'end' of one module is the 'start' of the next. This is only possible if using sys_alloc (+Meamin) as our own allocators always put block headers between allocated payload data.
2014-10-28Merge branch 'sverk/cpool_fetch-dc_list-bug/OTP-12249' into maintSverker Eriksson
* sverk/cpool_fetch-dc_list-bug/OTP-12249: erts: Fix bug when delayed deallocated carrier is reused by cpool_fetch
2014-10-28Merge branch 'lukas/erts/win32-read_file_info-links/OTP-12269' into maintLukas Larsson
* lukas/erts/win32-read_file_info-links/OTP-12269: erts: Initialize links when reading file info
2014-10-28Merge branch 'sv/isfinite/OTP-12268' into maintLukas Larsson
* sv/isfinite/OTP-12268: Use isfinite() instead of finite() when available
2014-10-28Use isfinite() instead of finite() when availableAnthony Ramine
OS X Mavericks builds result in a number of warnings about finite() being deprecated, like these: beam/erl_arith.c:451:7: warning: 'finite' is deprecated: first deprecated in OS X 10.9 [-Wdeprecated-declarations] ERTS_FP_ERROR(p, f1.fd, goto badarith); ^ sys/unix/erl_unix_sys.h:319:33: note: expanded from macro 'ERTS_FP_ERROR' ^ sys/unix/erl_unix_sys.h:244:51: note: expanded from macro '__ERTS_FP_ERROR' ^ /usr/include/math.h:718:12: note: 'finite' has been explicitly marked deprecated here extern int finite(double) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_9, __IPHONE_NA, __IPHONE_NA); Add checks to use isfinite() instead of finite() where available. Verified on OS X Mavericks 10.9.5 and Ubuntu 12.04.
2014-10-28Merge branch 'pguyot/fix-freebsd-cpu-topology' into maintBruce Yinhe
OTP-12267 * pguyot/fix-freebsd-cpu-topology: Fix bug in FreeBSD topology detection code
2014-10-28Merge branch 'vinoski/erl-nif-init' into maintBruce Yinhe
OTP-12266 * vinoski/erl-nif-init: Fix missing field initializer in ERL_NIF_INIT macro
2014-10-26Fix "-smp disable" for emulator with dirty schedulersSteve Vinoski
Running "erl -smp disable" on an emulator built with dirty scheduler support caused problems such as segmentation violations and emulator status line outputs containing garbage. For example: $ erl -smp disable Segmentation fault (core dumped) and: $ erl -smp disable Erlang/OTP 17 [DEVELOPMENT] [erts-6.2] [source] [64-bit] [ds:10:4297895689:4299948152] [async-threads:280] This problem also caused the emulator smoke_test_SUITE to hit these same problems if run in an emulator started with the "-smp disable" option. Fix this segmentation violation by ensuring that dirty scheduler information is printed in the status line only when the emulator is compiled with ERTS_SMP enabled. With this fix in place, the smoke_test_SUITE now passes when the "-smp disable" option is used, and the emulator status line prints correctly for both "-smp enable" and "-smp disable": $ erl -smp enable Erlang/OTP 17 [DEVELOPMENT] [erts-6.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:10] [kernel-poll:false] and: $ erl -smp disable Erlang/OTP 17 [DEVELOPMENT] [erts-6.2] [source] [64-bit] [async-threads:10] [kernel-poll:false]
2014-10-24Merge branch 'sverk/hipe-wrap-bif-disable-gc-fixes/OTP-12231' into maintSverker Eriksson
* sverk/hipe-wrap-bif-disable-gc-fixes/OTP-12231: erts: Fix bug when hipe tailcalls trapping BIF that disables GC erts: Fix hipe bug when gc-disabling bif traps with gc enabled
2014-10-23Merge branch 'rickard/maint-17/eager-check-io/OTP-12117' into maintRickard Green
* rickard/maint-17/eager-check-io/OTP-12117: No eager check I/O on OSE Introduce support for eager check I/O scheduling
2014-10-22Merge branch 'vinoski/crashdump-sigusr1' into maintBruce Yinhe
* vinoski/crashdump-sigusr1: Clarify the use of SIGUSR1 for forcing crash dumps
2014-10-22Merge branch 'vinoski/clarify-drv-async-return' into maintBruce Yinhe
* vinoski/clarify-drv-async-return: Clarify docs for driver_async() return value
2014-10-21erts: Fix bug when hipe tailcalls trapping BIF that disables GCSverker Eriksson
Symptom: base64_SUITE:roundtrip crashes with hipe compiled stdlib. Problem: HIPE_WRAPPER_BIF_DISABLE_GC pushed a "trap frame", but the frame was only popped if the call was recursive. Solution: Only reserve "trap frame" if BIF call is recursive.
2014-10-21erts: Fix hipe bug when gc-disabling bif traps with gc enabledSverker Eriksson
The trap_frame got pushed twice, first by the wrapper then by hipe_push_beam_trap_frame as it was looking at F_DISABLE_GC.
2014-10-20erts: Fix bug causing mbc to be deleted from cpool before it was insertedSverker Eriksson
Set IN_POOL flag _after_ mbc has been actually inserted. Earlier it did not matter if IN_POOL was set early as it was not possible to find a carrier before is was fully inserted. Now when searching pooled_list and traitor_list we must make sure a found carrier has been fully inserted into cpool before removing it.
2014-10-19Fix bug in FreeBSD topology detection codePaul Guyot
Code incorrectly relied on undefined C behavior. Clang and gcc 4.9 do not behave as code expected. This affected cores and processors detection on FreeBSD.
2014-10-17Clarify the use of SIGUSR1 for forcing crash dumpsSteve Vinoski
The crash_dump document mentions indirectly that delivering a SIGUSR1 to a running emulator process can force it to crash dump. Clarify that text to make it clear SIGUSR1 can be used for that purpose, and also add a similar note about using SIGUSR1 to the erl documentation.
2014-10-17Clarify docs for driver_async() return valueSteve Vinoski
The documentation for driver_async() still referred to the return value of the function as a "handle", which is no longer meaningful since driver_async_cancel() was deprecated and removed. Modify the documentation to simply indicate that the driver_async() return value will be -1 if it fails.
2014-10-17Optimize atomic ops with release barrier for 32-bit PowerPCRickard Green
2014-10-13Merge branch 'sverk/port_get_data-race/OTP-12208' into maintSverker Eriksson
* sverk/port_get_data-race/OTP-12208: erts: Mend port_set_data with non-immed data for halfword VM erts: Add test case for port_set_data and port_get_data erts: Fix race between port_set_data, port_get_data and port termination erts: Fix erlang:port_set_data/2 for non immediate data
2014-10-06erts: Fix bug causing mbc removed from cpool to be used at pool entranceSverker Eriksson
Clear both IN_POOL and BUSY flags when empty carrier is removed is removed from pool to be destroyed. Earlier it was enough to leave BUSY flag set but now with pooled_list we must clear IN_POOL to avoid using it as cpool_entrance in cpool_fetch().
2014-10-06Merge branch 'jjhoo/win32-fix-unreachable-code' into maintBruce Yinhe
OTP-12222 * jjhoo/win32-fix-unreachable-code: Fix if-clauses that make code to be unreachable
2014-10-03erts: Add pooled_list and traitor_listSverker Eriksson
2014-10-03erts: Fix bug when delayed deallocated carrier is reused by cpool_fetchSverker Eriksson
The delayed dealloc queue destroyes one word but cpool_fetch() is expected to return healthy carriers. So we restore that overwritten word with a little bit of hackish code.
2014-10-02erts: Mend port_set_data with non-immed data for halfword VMSverker Eriksson
2014-10-02Fix missing field initializer in ERL_NIF_INIT macroSteve Vinoski
In the ERL_NIF_INIT macro, add a missing static initializer for the new options field which was added to the ErlNifEntry struct for 17.3. This fix prevents compile-time errors in NIFs when the compiler is instructed to treat missing field initializers as errors.
2014-10-02Merge branch 'sverk/etp-address-to-beam-opcode' into maintSverker Eriksson
* sverk/etp-address-to-beam-opcode: erts: Add gdb command etp-address-to-beam-opcode
2014-10-02Merge branch 'sverk/with-ssl-incl' into maintSverker Eriksson
* sverk/with-ssl-incl: Correct SSL_RUNTIME_LIBDIR when erl_xcomp_sysroot ends with a / Add configure option --with-ssl-incl=PATH OTP-12215 OTP-12216
2014-09-30erts: Add test case for port_set_data and port_get_dataSverker Eriksson
2014-09-30erts: Fix race between port_set_data, port_get_data and port terminationSverker Eriksson
Always update prt->data with atomic xchg-op. Check for NULL data to detect racing port terminator. Use NULL, as THE_NON_VALUE can be a valid pointer on debug VM.
2014-09-30erts: Fix erlang:port_set_data/2 for non immediate dataSverker Eriksson
hsize field was not set leading to VM crash
2014-09-29Fix if-clauses that make code to be unreachableJani Hakala
Fix two cases where use of assigment operator instead of comparison operator causes if-clauses to be always false and code to be unreachable.
2014-09-25No eager check I/O on OSERickard Green
2014-09-25Merge branch 'rickard/eager-check-io/OTP-12117' into ↵Rickard Green
rickard/maint-17/eager-check-io/OTP-12117 * rickard/eager-check-io/OTP-12117: Introduce support for eager check I/O scheduling Conflicts: erts/emulator/beam/erl_bif_info.c erts/emulator/beam/erl_init.c erts/emulator/beam/erl_process.c erts/preloaded/ebin/erlang.beam
2014-09-25Introduce support for eager check I/O schedulingRickard Green
2014-09-22Merge branch 'egil/fix-erts-app/OTP-12189' into maintBjörn-Egil Dahlberg
* egil/fix-erts-app/OTP-12189: erts: Fix erts app-file
2014-09-22erts: Fix ub in list_to_integer and bignum divLukas Larsson
2014-09-22Merge branch 'nox/fix-debug-hipe-lock-checking/OTP-12188' into maintMarcus Arendt
* nox/fix-debug-hipe-lock-checking/OTP-12188: Fix HiPE debug lock checking on OS X 64bit
2014-09-22erts: Initialize links when reading file infoLukas Larsson
2014-09-17erts: Add gdb command etp-address-to-beam-opcodeSverker Eriksson
2014-09-16erts: Fix erts app-fileBjörn-Egil Dahlberg
2014-09-15Update release notesErlang/OTP
2014-09-15Update version numbersErlang/OTP
2014-09-12Update preloaded modulesHenrik Nord
2014-09-12Merge branch 'sverk/dirty-sched-api-cleanup' into maintSverker Eriksson
* sverk/dirty-sched-api-cleanup: erts: Remove enif_have_dirty_schedulers() erts: Correct dirty scheduler NIF API for Windows
2014-09-12erts: Remove enif_have_dirty_schedulers()Sverker Eriksson
and add 'dirty_scheduler_support' to ErlNifSysInfo
2014-09-12erts: getsockname is not allowed on non-bound socketsLukas Larsson
This only produces an error on win32, but should not really be called on *nix either.
2014-09-11Update preloadedMarcus Arendt
2014-09-11Merge branch 'lrascao/fix_bug_windows_directory_symlinks' into maintMarcus Arendt
* lrascao/fix_bug_windows_directory_symlinks: fix indentation, add comment describing windows symlink creation assumption fix escript archive symlinked across drives OTP-12155 OTP-12154 OTP-12153
2014-09-10Correct SSL_RUNTIME_LIBDIR when erl_xcomp_sysroot ends with a /Sverker Eriksson