aboutsummaryrefslogtreecommitdiffstats
path: root/erts
AgeCommit message (Collapse)Author
2011-11-09erts: valgrind suppressions for prebuilt terms in os_info_initSverker Eriksson
Fix for 5dcee558b61f0f5dd70e18a530a2bb97c479aab5
2011-10-10Fix dlopen-leak of drivers with incorrect versionSverker Eriksson
2011-10-07erts: Add valgrind suppression filesSverker Eriksson
2011-10-07erts: Remove valgrind limit for erts_alloc_permanent_cache_alignedSverker Eriksson
2011-10-06erts: Fix write-after-free bug in inet driverSverker Eriksson
Bug caught by valgrind but never confirmed as cause of a real problem. Triggered by emulator_test/distribution_SUITE:bad_dist_structure when bad data is received to a distribution port. Port is closed by erts_net_message() and the freed port data is then later used when returning to inet_drv. Everything happens in the same call to tcp_inet_input(). ==32592== Invalid read of size 8 ==32592== at 0x5B6D8C: tcp_deliver (inet_drv.c:8536) ==32592== by 0x5B720E: tcp_recv (inet_drv.c:8652) ==32592== by 0x5B7753: tcp_inet_input (inet_drv.c:8990) ==32592== by 0x5B7FA5: tcp_inet_drv_input (inet_drv.c:9257) ==32592== by 0x4B900C: erts_port_task_execute (erl_port_task.c:856) ==32592== by 0x4AC873: schedule (erl_process.c:5511) ==32592== by 0x5527CA: process_main (beam_emu.c:1225) ==32592== by 0x4A9958: sched_thread_func (erl_process.c:3789) ==32592== by 0x5E2971: thr_wrapper (ethread.c:106) ==32592== by 0x4FEA142: start_thread (in /lib64/libpthread-2.4.so) ==32592== by 0x52C374C: clone (in /lib64/libc-2.4.so) ==32592== Address 0x9b13ea8 is 440 bytes inside a block of size 488 free'd ==32592== at 0x4A1FE94: free (vg_replace_malloc.c:366) ==32592== by 0x58AE69: erts_sys_free (sys.c:2588) ==32592== by 0x48E54F: erts_free (erl_alloc.h:218) ==32592== by 0x497390: driver_free (io.c:3527) ==32592== by 0x5B2E77: inet_stop (inet_drv.c:7152) ==32592== by 0x5B502F: tcp_inet_stop (inet_drv.c:7855) ==32592== by 0x492E60: terminate_port (io.c:1849) ==32592== by 0x493971: erts_do_exit_port (io.c:2059) ==32592== by 0x4CEE01: erts_net_message (dist.c:1508) ==32592== by 0x496AC1: driver_output2 (io.c:3294) ==32592== by 0x5AAA69: inet_port_data (inet_drv.c:1894) ==32592== by 0x5AD57E: tcp_reply_data (inet_drv.c:3181) ==32592== by 0x5B6D84: tcp_deliver (inet_drv.c:8533) ==32592== by 0x5B720E: tcp_recv (inet_drv.c:8652) ==32592== by 0x5B7753: tcp_inet_input (inet_drv.c:8990) Fixed by checking the negative return code earlier in tcp_deliver().
2011-10-06ETS: Fix faulty size calculation SIZEOF_EXTSEGSverker Eriksson
Probably not a bug in reallity, but it's simpler and safer to use offsetof for dynamic sizeof calculations.
2011-10-06ETS: Fix valgrind PossiblyLost in ETS hash tablesSverker Eriksson
Add an extra pointer to start of segment with the active segment table to get rid of PossiblyLost errors without the need of a too general suppression that may hide real memory leaks in ETS.
2011-10-04Merge branch 'dev' into majorBjörn-Egil Dahlberg
2011-10-04Merge branch 'dev' into majorLukas Larsson
* dev: Prepare release [ssl] Step version for patch 1178 Touch crypto to provoke patch release (again) Prepare release
2011-10-04Prepare releaseOTP_R14B04Erlang/OTP
2011-10-04Merge branch 'maint-r14' into devRaimo Niskanen
2011-10-04Merge branch 'maint-r13' into maint-r14Raimo Niskanen
Conflicts: erts/doc/src/notes.xml erts/emulator/drivers/common/inet_drv.c erts/vsn.mk lib/kernel/test/gen_sctp_SUITE.erl
2011-09-29Merge branch 'dev' into majorBjörn-Egil Dahlberg
* dev: Update copyright years
2011-09-29Update copyright yearsBjörn-Egil Dahlberg
2011-09-29Merge branch 'dev' into majorLukas Larsson
* dev: Prevent valgrind warning for erts_alloc_permanent_cache_aligned [erts] Fix memory leak in erts_make_stub_module (hipe loading)
2011-09-29Merge branch 'sverker/stub-module-code-leakage' into devLukas Larsson
* sverker/stub-module-code-leakage: Prevent valgrind warning for erts_alloc_permanent_cache_aligned [erts] Fix memory leak in erts_make_stub_module (hipe loading)
2011-09-29Merge branch 'dev' into majorLukas Larsson
* dev: Skip create_big_boot on platforms without crypto Remove test_server path instead of cwd for clash test Skip getaddr_v6 test if on the ipv4_only host Use static port for old solaris versions Extend time to wait for zone files to be loaded Allow out of memory exception for max_port checks Extend slave start timeout for windows tests Double timeout to make sure debug builds pass Use now instead of os:timestamp Increase timeout in scheduler_suspend for slow platforms Skip update_cpu_info if 'taskset' cannot be found
2011-09-29Merge branch 'lukas/fix_erts_testcases/OTP-9596' into devLukas Larsson
* lukas/fix_erts_testcases/OTP-9596: Skip create_big_boot on platforms without crypto Remove test_server path instead of cwd for clash test Skip getaddr_v6 test if on the ipv4_only host Use static port for old solaris versions Extend time to wait for zone files to be loaded Allow out of memory exception for max_port checks Extend slave start timeout for windows tests Double timeout to make sure debug builds pass Use now instead of os:timestamp Increase timeout in scheduler_suspend for slow platforms Skip update_cpu_info if 'taskset' cannot be found
2011-09-29Allow out of memory exception for max_port checksLukas Larsson
2011-09-29Double timeout to make sure debug builds passLukas Larsson
2011-09-29Use now instead of os:timestampLukas Larsson
This is done in order to improve timing when testing debug builds, especially ppc debug builds.
2011-09-28Prevent valgrind warning for erts_alloc_permanent_cache_alignedSverker Eriksson
2011-09-28[erts] Fix memory leak in erts_make_stub_module (hipe loading)Sverker Eriksson
Code area allocation was done twice; first in read_code_header() and then in erts_make_stub_module() itself.
2011-09-28Merge branch 'dev' into majorRaimo Niskanen
2011-09-28Merge branch 'raimo/sctp-getsetopts-dev/OTP-9544' into devRaimo Niskanen
* raimo/sctp-getsetopts-dev/OTP-9544: erts,kernel: Bugfix - read SCTP socket options from right protocol layer erts: Fix bug SCTP send can only be called from controlling process
2011-09-28Merge branch 'dev' into majorBjörn Gustavsson
* dev: distribution_SUITE:bulk_send_bigbig/1: Fail with more information distribution_SUITE: Use unique slave node names beam_lib: Handle rare race in the crypto key server functionality busy_port_SUITE: Avoid crash in register/2 [wx] Re-generate code [wx] Remove optional shadowing clauses [wx] Remove warning [wx] Fix trailing whitespace [wx] Test colors in textctrl [wx] Fix cleanup memory references
2011-09-28Merge branch 'bjorn/fix-test-cases' into devBjörn Gustavsson
* bjorn/fix-test-cases: distribution_SUITE:bulk_send_bigbig/1: Fail with more information distribution_SUITE: Use unique slave node names busy_port_SUITE: Avoid crash in register/2
2011-09-27distribution_SUITE:bulk_send_bigbig/1: Fail with more informationBjörn Gustavsson
2011-09-27distribution_SUITE: Use unique slave node namesBjörn Gustavsson
bad_dist_ext_connection_id/1 used the same names for the slave nodes as bad_dist_ext_receive/1, which would cause it to fail if bad_dist_ext_receive/1 failed.
2011-09-27Merge branch 'dev' into majorHans Bolinder
* dev: Improve the generation of man pages Correct XML files
2011-09-27Merge branch 'hb/doc_corrections/OTP-9550' into devHans Bolinder
* hb/doc_corrections/OTP-9550: Correct XML files
2011-09-27Merge branch 'dev' into majorBjörn Gustavsson
* dev: Update preloaded modules erl_prim_loader: Eliminate dialyzer warning Conflicts: erts/preloaded/ebin/erl_prim_loader.beam
2011-09-26busy_port_SUITE: Avoid crash in register/2Björn Gustavsson
Add an end_per_testcase/2 function to ensure that the process with the name 'busy_drv_server' has been killed before the next test case attempts to register a process with the same name.
2011-09-26Update preloaded modulesBjörn Gustavsson
2011-09-26erl_prim_loader: Eliminate dialyzer warningBjörn Gustavsson
The concat/1 function is now only used to append lists when constructing filenames. Thus it is too general and the first clause (that handles characters) will never be used. We could just remove the clause that is never used, but then the name 'concat' would be misleading and someone could use misuse it. Therefore, replace concat/1 with the join/2 function that can only be used for joining filename components.
2011-09-26Merge branch 'dev' into majorLars Thorsen
* dev: [erl_docgen] Missing header level in PDF bookmarks menu Fixed version, release notes and appup in prep for release. Fix lost wakeup of scheduler when enqueuing auxiliary work
2011-09-26Correct XML filesHans Bolinder
2011-09-24Merge branch 'rickard/aux-work-bug/OTP-9567' into devRickard Green
* rickard/aux-work-bug/OTP-9567: Fix lost wakeup of scheduler when enqueuing auxiliary work
2011-09-23Remove static ssl linking in crypto for otp_buildBjörn-Egil Dahlberg
2011-09-23Merge branch 'dev' into majorMicael Karlberg
Conflicts: lib/inets/doc/src/notes.xml lib/inets/src/inets_app/inets.appup.src lib/inets/test/httpc_cookie_SUITE.erl lib/inets/vsn.mk
2011-09-22Fix lost wakeup of scheduler when enqueuing auxiliary workRickard Green
When auxiliary work was enqueued on a scheduler, the wakeup of the scheduler in order to handle this work could be lost. Wakeups in order to handle ordinary work were not effected by this bug. The bug only effected runtime systems with SMP support as follows: * Deallocation of some ETS data structures could be delayed. * On Linux systems not using the NPTL thread library (typically ancient systems with kernel versions prior to 2.6) and Windows systems, the {Port, {exit_status, Status}} message from a terminating port program could be delayed. That is, it only effected port programs which had been started by passing exit_status as an option to open_port/2.
2011-09-21Remove static ssl linking in crypto for otp_buildBjörn-Egil Dahlberg
2011-09-21Merge branch 'dev' into majorBjörn Gustavsson
* dev: erl_bif_types: Fix types for lists:key{search,find,member}/3 Fix build problems on MacOS 10.7 (Lion)
2011-09-21Merge branch 'bjorn/erts/support-macosx-lion/OTP-9547' into devBjörn Gustavsson
* bjorn/erts/support-macosx-lion/OTP-9547: Fix build problems on MacOS 10.7 (Lion)
2011-09-21Increase timeout in scheduler_suspend for slow platformsLukas Larsson
2011-09-21Skip update_cpu_info if 'taskset' cannot be foundLukas Larsson
2011-09-20Fix build problems on MacOS 10.7 (Lion)Björn Gustavsson
On MacOS 10.7 (Lion) with Xcode 4.1 installed, the default C compiler is llvm-gcc-4.2. That compiler compiles beam_emu.c incorrectly, resulting in an emulator that will not start. The problem can be worked around by turning off all optimizations, but that will significantly degrade the performance of the run-time system. The problem can also be worked around manually like this: CC=gcc-4.2 ./configure To allow a working system to be built "out of the box", have the configure script set up the emulator Makefile so that gcc-4.2 will be used to compile beam_emu.c if the default compiler is llvm-based. All other C files will still be compiled with the default compiler.
2011-09-20Merge branch 'dev' into majorHenrik Nord
Conflicts: erts/aclocal.m4 erts/include/internal/ethread_header_config.h.in
2011-09-20Merge branch 'cr/cppcheck' into devHenrik Nord
* cr/cppcheck: Changes inspired by running cppcheck(1) OTP-9557
2011-09-20Merge branch 'ta/docs-fixes' into devHenrik Nord
* ta/docs-fixes: Fix misspelling of intermediate Fix typos in erts/preloaded/src Fix more misspellings of compatibility Fix misspelling of kept Fix misspelling of compatibility in ssl_basic_SUITE Fix misspelling of compatibility Fix misspelling of accommodate Fix misspelling of exceed Fix misspelling of accidentally Fix misspelling of erroneous in xmerl_xsd Fix misspelling of erroneous Fix misspelling of successful Fix typos in instrument(3) Fix typos in dbg(3) dialyzer: fix a small typo in list_to_bitstring test Fix typos in cover.erl Fix typos (variable name) in erl_nif(3) Fix typos in mod_esi(3) Fix trivial typos in erlang(3) OTP-9555