aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator
AgeCommit message (Collapse)Author
2012-11-28Merge branch 'sverk/crypto-unloading'Sverker Eriksson
* sverk/crypto-unloading: crypto: Link crypto_callback statically crypto: Add debug print macros crypto: Enable runtime upgrade of crypto crypto: Make unloading of crypto safer OTP-10596
2012-11-27Merge branch 'egil/darwin-fixes'Björn-Egil Dahlberg
* egil/darwin-fixes: erl_interface: Avoid redefinition of ALIGNBYTES erts: Fix '#ifdef' for unused static functions erts: Remove forgotten vxworks includes hipe: Cast offsetof to int in hipe_arch_print_pcb
2012-11-23Merge branch 'maint'Patrik Nyblom
Conflicts: erts/doc/src/erlang.xml
2012-11-23Merge branch 'pan/bs_append_crash' into maintPatrik Nyblom
* pan/bs_append_crash: Teach erts_bs_append not to dump core OTP-10590
2012-11-23Merge branch 'maint'Björn-Egil Dahlberg
2012-11-23Update copyright yearsBjörn-Egil Dahlberg
2012-11-23Merge branch 'maint'Björn-Egil Dahlberg
2012-11-23Merge branch 'egil/fix-crash_dump-lc-assert' into maintBjörn-Egil Dahlberg
* egil/fix-crash_dump-lc-assert: erts: Suppress lock assertion when dumping a crash
2012-11-22Teach erts_bs_append not to dump corePatrik Nyblom
When erts_bs_append() calls the garbage collector, it has set the PB_ACTIVE_WRITER flag in the ProcBin for the binary object is about to be appended to. Therefore, it is expected that the garbage collector should neither move nor shrink the binary object. But if the garbage collector does a minor collection (thereby clearing the PB_ACTIVE_WRITER flag in the ProcBin) and there is still not enough heap space, there will be a second major garbage collection. During the major collection (since the the PB_ACTIVE_WRITER flag was cleared), the binary object may be shrunk or moved (depending on sizes and how many other writable binaries there are in the process). Avoid the problem by clearing the PB_ACTIVE_WRITER flags in a separate pass after the garbage collection(s). Thanks to Denis Titoruk for helping us find this bug.
2012-11-19Fix bad assertRickard Green
2012-11-16Merge branch 'maint'Rickard Green
* maint: Add clearer warnings about misuse of NIF and driver functionality Fix erlang:memory(ets) Conflicts: erts/emulator/beam/erl_db.c
2012-11-16Merge branch 'rickard/ets-mem-bug/OTP-10558' into maintRickard Green
* rickard/ets-mem-bug/OTP-10558: Fix erlang:memory(ets)
2012-11-16erts: Suppress lock assertion when dumping a crashBjörn-Egil Dahlberg
2012-11-14Merge remote branch 'upstream/maint'Ingela Anderton Andin
Conflicts: lib/ssl/src/ssl_connection.erl
2012-11-13erts: Change assembler comment for hipe on x86 and amd64Sverker Eriksson
Previously done for ppc in c469d8ce14e9544a297d9af48c9da43137122d9a
2012-11-13erts: Fix compile error on solaris in generated hipe_amd64_bifs.SSverker Eriksson
2012-11-12Merge branch 'sverk/halfword-valgrind-suppressions' into maintSverker Eriksson
* sverk/halfword-valgrind-suppressions: crypto: Add valgrind suppression for AES_cbc_encrypt erts: Expand valgrind suppression for zlib Add extra valgrind suppression file for halfword emulator
2012-11-12Fix merge from maintRickard Green
2012-11-12Merge branch 'maint'Rickard Green
* maint: ssl: Adopt test case to not take so long Fix bug in erts_port_task_schedule() Use reduction limit in order to determine when to do wakeup Conflicts: erts/emulator/beam/erl_port_task.c erts/emulator/beam/erl_process.c
2012-11-12Merge branch 'rickard/port-sched-bug/OTP-10556' into maintRickard Green
* rickard/port-sched-bug/OTP-10556: Fix bug in erts_port_task_schedule()
2012-11-12Merge branch 'rickard/sched-wakeup/OTP-10476' into maintRickard Green
* rickard/sched-wakeup/OTP-10476: Use reduction limit in order to determine when to do wakeup
2012-11-08Merge branch 'maint'Björn Gustavsson
* maint: Fix binary append exceptions
2012-11-08Merge branch 'bjorn/erts/binary-append/OTP-10524' into maintBjörn Gustavsson
* bjorn/erts/binary-append/OTP-10524: Fix binary append exceptions
2012-11-06Fix erlang:memory(ets)Rickard Green
2012-11-06Fix bug in erts_port_task_schedule()Rickard Green
2012-11-05Fix binary append exceptionsBjörn Gustavsson
Code such as the following should cause an exception: Bin = <<0:1>>, <<Bin/binary,...>> (Because the "binary" type implies that the binary must have a size in bits that is a multiple of 8.) Depending on the binary, either no exception was thrown or the wrong exception was thrown (because c_p->freason was not set). Noticed-by: Adam Rutkowski
2012-11-02Fix oracle solaris bug in sendfileLukas Larsson
When using values of sfv_len and sfv_off which are larger than the file in question, sendfilev can sometimes return -1 and send data. It seems to be only Oracle SunOS which this happens on.
2012-10-31Merge branch 'raimo/IPV6_V6ONLY/OTP-8928'Raimo Niskanen
* raimo/IPV6_V6ONLY/OTP-8928: kernel: Document socket option ipv6_v6only kernel: Add test cases for socket option ipv6_v6only erts,kernel: Implement socket option ipv6_v6only in erlang code erts: Implement socket option IPV6_V6ONLY erts: Add configure test for IPV6_V6ONLY
2012-10-31erts: Implement socket option IPV6_V6ONLYRaimo Niskanen
2012-10-26Merge branch 'bjorn/erts/beam_makeops'Björn Gustavsson
* bjorn/erts/beam_makeops: beam_makeops: Turn on warnings and eliminate existing warnings beam_makeops: Eliminate a deprecation warning
2012-10-24Merge branch 'maint'Björn-Egil Dahlberg
Conflicts: erts/etc/common/heart.c
2012-10-24Merge branch 'egil/ensure-erl_crash.dump/OTP-10422' into maintBjörn-Egil Dahlberg
* egil/ensure-erl_crash.dump/OTP-10422: test: Relax timeouts for heart_SUITE erts: Fix crash dump write to port hack erts: Fix lock check assertion doc: Document ERL_CRASH_DUMP_SECONDS behaviour test: Add test for heart restart on crash test: Add test for heart restart on crash erts: Change ERL_CRASH_DUMP_SECONDS behaviour test: Refactor away ?line macros in heart_SUITE erts: Search for heart in ports that are alive heart: Refactor heart debugging erts, heart: Ensure erl_crash.dump is written
2012-10-23crypto: Add valgrind suppression for AES_cbc_encryptSverker Eriksson
Invalid write of size 8 (Address 0x84a63c0 is not stack'd, malloc'd or (recently) free'd) Suspected: AES_cbc_encrypt:??? (-> 0xD7489CF) [/lib/libcrypto.so.0.9.8]
2012-10-23erts: Fix crash dump write to port hackBjörn-Egil Dahlberg
More future proof with R16
2012-10-23erts: Fix lock check assertionBjörn-Egil Dahlberg
2012-10-22beam_makeops: Turn on warnings and eliminate existing warningsBjörn Gustavsson
2012-10-18Merge branch 'jf/fix_sctp_peeloff_active_true'Henrik Nord
* jf/fix_sctp_peeloff_active_true: Set new peeled off SCTP socket to nonblocking socket SCTP test case with socket active options once and true OTP-10491
2012-10-17erts: Expand valgrind suppression for zlibSverker Eriksson
to work even when compiler does aggressive function inlining
2012-10-16erts: Change ERL_CRASH_DUMP_SECONDS behaviourBjörn-Egil Dahlberg
Not setting ERL_CRASH_DUMP_SECONDS will now terminate beam immediately on a crash without writing a crash dump file. Setting ERL_CRASH_DUMP_SECONDS to 0 will also terminate beam immediately on a crash without writing a crash dump file, i.e. same as not setting ERL_CRASH_DUMP_SECONDS environment variable. Setting ERL_CRASH_DUMP_SECONDS to a negative value will let the beam wait indefinitely on the crash dump file being written. Setting ERL_CRASH_DUMP_SECONDS to a positive value will let the beam wait that many seconds on the crash dump file being written. A positive value will set both an alarm in beam AND a heart timeout for restart if heart is running. This is due to the change of 'heart' behavior when 'heart' is listening for a crash.
2012-10-15erts: Search for heart in ports that are aliveBjörn-Egil Dahlberg
2012-10-15erts, heart: Ensure erl_crash.dump is writtenBjörn-Egil Dahlberg
When a crash dump is about to be written and we have heartbeat enabled on a system. We need time to write it before heart explicitly kills the beam.
2012-10-15beam_makeops: Eliminate a deprecation warningBjörn Gustavsson
Perl 5.16.1 (and perhaps other versions) issues the following warning: defined(@array) is deprecated at utils/beam_makeops line 1714. (Maybe you should just omit the defined()?) for the following line: $prev_last = pop(@{$gen_transform{$key}}) if defined @{$gen_transform{$key}}; # LINE 1714 The documentation for "defined" says that its use on hashes and arrays is deprecated and that it may stop working in a future release. Simply removing "defined" (as suggested by the warning message) will not work, as there will be an error when trying to use an undefined value as an array reference: Can't use an undefined value as an ARRAY reference at utils/beam_makeops line 1714. What we must do is to check whether $gen_transform{$key} is defined before trying to use it as an array reference. Noticed-by: Tuncer Ayaz
2012-10-11Merge branch 'lukas/erts/dont_break_reductions_skip/OTP-10373'Lukas Larsson
* lukas/erts/dont_break_reductions_skip/OTP-10373: Skip dont_break_reductions on hipe libs tests
2012-10-11Merge branch 'lukas/erts/bad_terms_hipe_skip/OTP-10375'Lukas Larsson
* lukas/erts/bad_terms_hipe_skip/OTP-10375: Skip fun corruption when lists is native
2012-10-10Skip dont_break_reductions on hipe libs testsLukas Larsson
2012-10-10Skip fun corruption when lists is nativeLukas Larsson
This is needed as corruption of the index_uniq byte can cause very strange behaviour when the fun is called by native code.
2012-10-10Merge branch 'maint'Björn-Egil Dahlberg
2012-10-10Merge branch 'egil/fix-boot_combo-test' into maintBjörn-Egil Dahlberg
* egil/fix-boot_combo-test: test: Fix smoke_test_SUITE
2012-10-10hipe: Cast offsetof to int in hipe_arch_print_pcbBjörn-Egil Dahlberg
* Silence compiler warning * This is the same style as the rest of the debug printing in hipe. Keeping to the same style, though changing the printing format would probably be better. Not a critical change.
2012-10-09crypto: Make unloading of crypto saferSverker Eriksson
Facts: crypto nif-lib registers callback functions that openssl uses for memory management and thread synchronization. The callback functions can only be set once, openssl does not allow changing the callback functions. Problem: If openssl is dynamicly linked to crypto, you might get s scenario where the crypto lib is unloaded while leaving openssl loaded with its old pointers to the unloaded crypto code intact. If crypto is then reloaded (by init:restart() for example), the crypto nif-lib might get relocated at a different address. crypto calls openssl which in turn calls the old invalid callback functions...kaboom. Solution: Break apart the callback functions into a separate dynamic lib that crypto loads with dlopen. When crypto is unloaded the callback lib is left in place to be reused if/when crypto is loaded again.