aboutsummaryrefslogtreecommitdiffstats
path: root/erts
AgeCommit message (Collapse)Author
2011-04-11Prepare releaseErlang/OTP
2011-04-11Merge branch 'rickard/process-status/OTP-9197' into maint-r14Erlang/OTP
* rickard/process-status/OTP-9197: Fix thread unsafe access Fix lost wakeup when process garbage collected by other Only set status P_WAITING when needed Add testcase for process_info() badarg bug
2011-04-11Fix thread unsafe accessRickard Green
Fix thread unsafe access to process status field introduced in OTP-9125.
2011-04-11Fix lost wakeup when process garbage collected by otherRickard Green
2011-04-11Only set status P_WAITING when neededRickard Green
The status of a process was unnecessarily set to waiting before the process was enqueued in a run queue. This bug was harmless up until OTP-R14B01. In OTP-R14B02 erlang:hibernate/3 was fixed (OTP-9125). After the introduction of OTP-9125, the previously harmless process status bug sometimes caused erroneous badarg exceptions from process_info().
2011-04-07Remove truncation error in key comparision for ordered setPatrik Nyblom
2011-04-07Add testcase for process_info() badarg bugRickard Green
2011-03-14Prepare releaseOTP_R14B02Erlang/OTP
2011-03-11Update copyright yearsBjörn-Egil Dahlberg
2011-03-11Merge branch 'pg/hipe-remove-constants-pool' into devNiclas Axelsson
* pg/hipe-remove-constants-pool: Remove hipe constants pool OTP-9128
2011-03-11Merge branch 'bjorn/binary-overflow/OTP-9117' into devBjörn Gustavsson
* bjorn/binary-overflow/OTP-9117: Fix 18 exabyte memory allocation failure
2011-03-10Merge branch 'pg/fix-hibernate-with-hipe' into devSverker Eriksson
* pg/fix-hibernate-with-hipe: Update copyright years Fix NULL-free bug in hibernate on debug emulator Fix several bugs related to hibernate/3 and HiPE Conflicts: erts/emulator/test/hibernate_SUITE.erl OTP-9125
2011-03-10Update copyright yearsSverker Eriksson
2011-03-10Fix NULL-free bug in hibernate on debug emulatorSverker Eriksson
2011-03-10Merge branch 'sverker/valgrind-new-suppressions' into devSverker Eriksson
* sverker/valgrind-new-suppressions: Make halfword emulator with valgrind target allocate low memory Add erts_alloc_permanent_cache_aligned to supress valgrind
2011-03-10Merge branch 'rickard/scheduler-wait/OTP-9105' into devRickard Green
* rickard/scheduler-wait/OTP-9105: The emulator could get into a state where it didn't check for I/O.
2011-03-09Make halfword emulator with valgrind target allocate low memorySverker Eriksson
Limit ERTS_MSEG_FAKE_SEGMENTS (that is otherwise set for valgrind target) to not apply to low memory needed by halfword emulator. This will reduce the fault detection capability of valgrind for low memory. Also correct a bug in the initial mmap and make sure the returned memory region does not reach into high memory.
2011-03-09Merge branch 'sverker/clarify_nif_resource_doc' into devSverker Eriksson
* sverker/clarify_nif_resource_doc: clarify NIF resource object deallocation documentation
2011-03-09clarify NIF resource object deallocation documentationSteve Vinoski
In the erl_nif documentation, clarify how and when NIF resource objects can be deallocated. Specifically, add focus for the case of calling enif_release_resource immediately after obtaining a resource term from enif_make_resource, since this is likely to be a common approach NIFs use to manage resources. Also fix a couple misspellings in the erl_nif documentation.
2011-03-09Fix 18 exabyte memory allocation failureBjörn Gustavsson
The new_binary() function takes a size argument that is an int. In the 64-bit emulator (sizeof(int) == 4, sizeof(Uint) == 8), any sizes >= 0x8000000 become 0xffffffff80000000 and above and triggers a memory allocation failure. Change the type of the size argument to Uint, and change any callers that cast the argument to an int. Correction-by: Jon Meredith
2011-03-08The emulator could get into a state where it didn't check for I/O.Rickard Green
2011-03-07Merge branch 'bjorn/erts/fix-fun-call/OTP-9095' into devBjörn Gustavsson
* bjorn/erts/fix-fun-call/OTP-9095: erts: Initialize register that may be referenced by garbage collection
2011-03-04Merge branch 'ks/process_status' into devNiclas Axelsson
* ks/process_status: Document exiting and garbage_collecting process statuses OTP-9102
2011-03-04erts: Initialize register that may be referenced by garbage collectionBjörn Gustavsson
The call_fun() function in the BEAM emulator is supposed to to put the fun term in the x register following the actual arguments and environment for the fun. But if the fun is not loaded and a call to the error_handler:undefined_lambda/3 function is set up, the x(3) register will not be initialized. The lack of initialization is very unlikely to cause a problem in practice, because all of the following things must happen: 1) An unloaded fun must be called (i.e. the fun must have been received from another node or from a file or dets table). 2) The process must be scheduled out before the call to the error_handler:undefined_lambda/3 function can take place. 3) The process must be garbage collected before the process is scheduled in. 4) The x(3) register must contain a stale cons or box pointer that happens to point into the the heap of the currently executing process. (Because of the literal pool, the GC will never copy anything that is outside of the heap.) I was not able to write a test case that would force an emulator crash.
2011-03-03Merge branch 'bmk/megaco/miscellaneous_dialyzer/OTP-9075' into devMicael Karlberg
Fixing miscellaneous "things" "detected" by dialyzer. Also updated end date for a number of erts files.
2011-03-03Add erts_alloc_permanent_cache_aligned to supress valgrindSverker Eriksson
Ease the valgrind supression of memory that are permanently allocated and then aligned up to cache line.
2011-03-03Merge branch 'sverker/dialyzer_kernel_fixes' into devSverker Eriksson
* sverker/dialyzer_kernel_fixes: Fix dialyzer warning in os:start_port_srv_loop Update preloaded modules Fix three dialyzer warnings in kernel
2011-03-02Merge branch 'hw/erl-clarify-detached-doc' into devNiclas Axelsson
* hw/erl-clarify-detached-doc: Mention that "-detached" implies "-noinput" OTP-9086
2011-03-02Merge branch 'ta/driver-entry-typos' into devNiclas Axelsson
* ta/driver-entry-typos: Fix a couple typos in driver_entry(3) OTP-9085
2011-03-02Remove race in main thread stealing due to reading and writing to pipe from ↵Patrik Nyblom
same thread
2011-03-02Make MacOS (NS) wx use the main threadPatrik Nyblom
2011-03-02Merge branch 'pan/halfword-tmp-heap-fixes/OTP-8332' into devPatrik Nyblom
* pan/halfword-tmp-heap-fixes/OTP-8332: Fix assymetric (Un)UseTmpHeap in erl_process.c Conflicts: erts/emulator/beam/beam_emu.c
2011-03-02Document exiting and garbage_collecting process statusesKostis Sagonas
2011-03-01Merge branch 'sverker/driver_SUITE_smp_select_nice_fail/OTP-9042' into devSverker Eriksson
* sverker/driver_SUITE_smp_select_nice_fail/OTP-9042: Allow unexpected driver input event in driver_SUITE:smp_select
2011-03-01Merge branch 'sverker/doc-fixes/OTP-9002' into devSverker Eriksson
* sverker/doc-fixes/OTP-9002: Fix minor typos in erl_nif documentation
2011-03-01Merge branch 'pan/valgrind-3.6.0' into devPatrik Nyblom
* pan/valgrind-3.6.0: Make crypto.c work with valgrind 3.6 and correct cerl.src Teach cerl to handle newer valgrind OTP-9079
2011-03-01Merge branch 'pan/inet-so-priority-ip-tos/OTP-9069' into devPatrik Nyblom
* pan/inet-so-priority-ip-tos/OTP-9069: Add patch from Per Hedeland Ignore permission error when implicitly setting SO_PRIORITY
2011-03-01Update preloaded modulesSverker Eriksson
2011-03-01Fix three dialyzer warnings in kernelSverker Eriksson
Joint effort by Kostis, pan, egil & sverker
2011-03-01Merge branch 'bjorn/erts/crash-dumps/OTP-9057' into devBjörn-Egil Dahlberg
* bjorn/erts/crash-dumps/OTP-9057: Don't dump the contents of ordered_set ets tables Write the value "Time left" for BIF timers as an unsigned integer
2011-02-28Merge branch 'lukas/stdlib/native_escript/OTP-9076' into devLukas Larsson
* lukas/stdlib/native_escript/OTP-9076: Update escrips to allow the -n or -compile(native) flag, which compiles the code within the escript with the +native flag. You need an HiPE enabled emulator for this to work.
2011-02-28Make crypto.c work with valgrind 3.6 and correct cerl.srcPatrik Nyblom
2011-02-28Fixed end date in copyright note.Micael Karlberg
2011-02-27Merge branch 'rickard/unbound/OTP-9056' into devRickard Green
* rickard/unbound/OTP-9056: Allow bindtype unbound when no cpu topology is available
2011-02-26Add the erts/emulator/utils/loaded scriptBjörn Gustavsson
2011-02-25Allow bindtype unbound when no cpu topology is availableRickard Green
2011-02-25Teach cerl to handle newer valgrindPatrik Nyblom
2011-02-25Merge branch 'rickard/temp_alloc_check/OTP-9028' into devRickard Green
* rickard/temp_alloc_check/OTP-9028: Verify that temp allocated memory is released
2011-02-25Merge branch 'rickard/mtx-destroy-ebusy/OTP-9009' into devRickard Green
* rickard/mtx-destroy-ebusy/OTP-9009: Send warning instead of abort on EBUSY from pthread_mutex_destroy
2011-02-25Send warning instead of abort on EBUSY from pthread_mutex_destroyRickard Green
Due to a bug in glibc the runtime system could abort while trying to destroy a mutex. The runtime system will now issue a warning instead of aborting.