aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2011-11-18[erl_docgen] Move files from docbuilder to erl_docgenLars Thorsen
2011-11-18Merge branch 'lars/erl_docgen/eix-file-syntax-bug/OTP-9617'Lars Thorsen
* lars/erl_docgen/eix-file-syntax-bug/OTP-9617: Fix syntax bug in generated eix files
2011-11-18Fix syntax bug in generated eix filesLars Thorsen
2011-11-18gen_udp_SUITE:buffer_size test case fixRaimo Niskanen
2011-11-18[observer] Work around wxWidgets windows bugDan Gudmundsson
wxCheckListBox:setClientData crashes on windows
2011-11-18Merge branch 'pr/mnesia_frag_hash'Henrik Nord
* pr/mnesia_frag_hash: add mnesia_frag_hash test Reduce calls to phash in key_to_frag_number OTP-9722
2011-11-18Merge branch 'jw/release_handler-which-releases'Henrik Nord
* jw/release_handler-which-releases: Add release_handler:which_releases/1 OTP-9717
2011-11-18Merge branch 'mh/odbc-shutdown-normal-exit'Henrik Nord
* mh/odbc-shutdown-normal-exit: An ODBC process should exit normally if its client exits with 'shutdown' OTP-9716
2011-11-18Merge branch 'bmk/inets/httpd/content_len_in_mod_log/OTP-9715'Micael Karlberg
2011-11-18Merge branch 'rickard/sched-compact-load/OTP-9695'Rickard Green
* rickard/sched-compact-load/OTP-9695: Add switch that can disable scheduler compaction of load
2011-11-18Merge branch 'dgud/wx/system_opts/OTP-9702'Dan Gudmundsson
* dgud/wx/system_opts/OTP-9702: [wx] Change libGL loading [wx] Fix deadlock in callback handling [wx] Add wxSystemOptions [wx] Fix whitespaces OTP-9725
2011-11-18Merge branch 'master', remote-tracking branch 'upstream'Dan Gudmundsson
2011-11-17Merge branch 'bmk/snmp/r15_integration'Micael Karlberg
2011-11-17Fix bug in erts upgrade on windowsSiri Hansen
The service which represents the temporary release during erts upgrade on windows was never deleted. This has been corrected. The service is now renamed just after the emulator restart.
2011-11-17Add release vsn info to erts_vsn_changed warningSiri Hansen
2011-11-17Check for sasl application in systools:make_script and make_relupSiri Hansen
make_script will give warning but allow it make_relup will fail since it is not possible to upgrade if sasl is not included in both releases.
2011-11-17Add syntax check of relup to check_install_release and install_releaseSiri Hansen
This commit adds a check that all instructions in the relup are valid. Earlier, the last part (after point_of_no_return) was not checked before the actual installation started, meaning that if the relup was hand written, there was a potential for crashing the upgrade here.
2011-11-17Add documentation for upgrade from pre R15 to post R15 saslSiri Hansen
2011-11-17Handle upgrade from pre R15 to post R15 saslSiri Hansen
New emulator upgrade mechanism introduced in R15 can only work if the sasl version to upgrade from is 2.2 or later. I.e. if we are already running at least R15. This commit adds backwards compatiblity for upgrades from earlier versions, meaning that the new code is loaded into the old emulator and code_change is executed - then after all application code is updated, the emulator is restarted with the new erts version. Note that this might cause problems if the new code is compiled with the new emulator and there have been updates to the beam format. If this happens, the workaround is to compile the new code with the old emulator.
2011-11-17Step version of sasl to 2.2 for R15Siri Hansen
This is needed for sasl_SUITE:appup_test to work, therefore we do not wait until release time.
2011-11-17Document upgrade instructions restart_new_emulator and restart_emulatorSiri Hansen
2011-11-17Wait for two restarts in upgrade_restart testSiri Hansen
This is an attempt to correct a failing test case. It the test fails on having restarted only once, we give it another try to see if the second restart will happen.
2011-11-17Add restart_new_emulator instruction to kernel, stdlib and sasl appupsSiri Hansen
The appup files for kernel, stdlib and sasl did not contain any UpFromVsn and DownToVsn. This means that it was not possible to create a relup file with systool:make_relup if any of these applications had changed. This commit adds entries in the appup files for a maximum of two major releases back - all with only one upgrade instruction: restart_new_emulator. The point is to allow relups to be generated, but ensure that no soft upgrade is done for these three applications - i.e. they will always cause a restart of the emulator prior to all other upgrade instructions from other applications. Test cases (appup_test) are added to kernel_SUITE, stdlib_SUITE and sasl_SUITE. These all check that expected versions are matched in the appups, and illegal versions (older than two major releases, or in any other way illegal) do not match. The test is written in a general way where it is assumed that the version of these applications are stepped according the the rule that major releases step the second number, maintenance releases step the third number and patches step the fourth number.
2011-11-17Distinguish restart_new_emulator from restart_emulator in upgrade instructionsSiri Hansen
Earlier, there was only one valid instruction to restart the emulator in an appup/relup script, 'restart_new_emulator'. A new instuction, 'restart_emulator', is now added, and the meaning is as follows: 'restart_new_emulator' is mainly for the core applications (erts, kernel, stdlib and sasl), and it indicates that there is new core functionality in the release and the emulator needs to be restarted before executing the upgrade scripts. If this instruction exists, a temporary release will be created which consists of the new version erts, kernel, stdlib and sasl, and the old versions of all other applications. After restarting the emulator with this temporary release, the rest of the upgrade instructions are executed, including loading of new versions. 'restart_emulator' can be used by any application if a restart of the emulator is needed after the upgrade instructions have been executed. In this case, the emulator will be restarted with the new release (i.e. not a tempoarary one) after all other upgrade instructions for all applications have been excecuted.
2011-11-17Upgrade erts: merge sys.config for tmp release instead of using oldSiri Hansen
The sys.config file used for the temporary release in an erts upgrade is now a hybrid where kernel, stdlib and sasl configuration is taken from the new release, and other configuration is taken from the old release. I.e. similar to how the temporary boot file is created.
2011-11-17Allow regexp for version in .appupSiri Hansen
In order to avoid duplication of upgrade instructions in .appup files, we now allow regular expressions to specify the UpFrom and DownTo versions. To be considered a regular expression, the version identifier must be specified as a binary, e.g. <<"2\\.1\\.[0-9]+">> will match versions 2.1.x, where x is any number.
2011-11-17Restart emulator before running upgrade script when erts is upgradedSiri Hansen
If the version of erts differs between two releases, the release handler automatically adds a 'restart_new_emulator' instruction to the upgrade script (relup). Earlier, this instruction was always added at the end of the upgrade script, causing the following sequence of operations during an upgrade (a bit simplified): 1. suspend processes 2. load new code 3. execute code_change functions 4. resume processes 5. restart emulator with new erts version Obviously, this caused the new code to be loaded into the old emulator and this would fail if the beam format had been changed in the new version of the emulator. To overcome this problem, this commit changes the order of the instructions, so for upgrade with changed erts version we now have: 1. restart emulator with new erts, kernel, stdlib and sasl versions, but old versions of all other applications. 2. suspend processes 3. load new code 4. execute code_change functions 5. resume processes This is implemented by creating a temporary release, including new erts, kernel, stdlib and sasl from the new release and all other applications from the old release. A new boot file for this temporary release is created, which includes a new 'apply' instruction to run release_handler:new_emulator_upgrade/2. Then the emulator is restarted using this boot file - and release_handler:new_emulator_upgrade/2 executes the rest of the upgrade script. For downgrade, the order will be as before: 1. suspend processes 2. execute code_change functions with 'down'-indication 3. load old code 4. resume processes 5. restart emulator with old erts version
2011-11-17Merge branch 'siri/kernel/application-shutdown-timeout/OTP-9540'Siri Hansen
* siri/kernel/application-shutdown-timeout/OTP-9540: Add documentation and test for kernel env var shutdown_timeout Add env var shutdown_timeout to kernel to avoid deadlock on node shutdown
2011-11-17Merge branch 'bjorn/erts/refc-binary-literals/OTP-9486'Björn Gustavsson
* bjorn/erts/refc-binary-literals/OTP-9486: external.c: Remove the option to create over-sized heap binaries Allow refc binaries in literal pools code_SUITE clean-up: Remove experimental 'constant_pool' option
2011-11-17Merge branch 'raimo/sctp-dev/OTP-9239'Raimo Niskanen
* raimo/sctp-dev/OTP-9239: (21 commits) erts: Possible bugfix for error chunk on old Solaris 10 kernel: Documented gen_sctp:peeloff/2 kernel: Adjust SCTP test to SuSE quirk erts: Fixes for SCTP on old Solaris 10 Update preloaded files erts,kernel: Return eprotonosupport when SCTP is not supported kernel: Adjust SCTP tests to Solaris quirks erts: Fix SCTP decoding byteorder bug for adaptation_ind kernel: Rewrite SCTP test socket handler kernel: Fix SCTP tests for the FreeBSD protocol stack kernel: Bugfix - SCTP connect with sndrcvinfo in assoc_change event erts: Default enable SCTP in configure Update primary bootstrap and preloaded files erts: Use SCTP functions in default libs erts: Improve SCTP message defragmenting erts,kernel: Bugfix - collect fragmented SCTP messages on recv kernel: Add tests for gen_sctp:peeloff/2 erts,kernel: Implement gen_sctp:peeloff/2 kernel: Add tests for SCTP stream sockets erts,kernel: Add type stream sockets to SCTP ...
2011-11-17erts: Possible bugfix for error chunk on old Solaris 10Raimo Niskanen
2011-11-17kernel: Documented gen_sctp:peeloff/2Raimo Niskanen
2011-11-17kernel: Adjust SCTP test to SuSE quirkRaimo Niskanen
inet:port/1 on peeled off socket returns 0. Bug? Who's?
2011-11-17Merge branch 'sverker/valgrind-fixing'Sverker Eriksson
* sverker/valgrind-fixing: erts: valgrind suppressions for prebuilt terms in os_info_init Fix dlopen-leak of drivers with incorrect version erts: Add valgrind suppression files erts: Remove valgrind limit for erts_alloc_permanent_cache_aligned erts: Fix write-after-free bug in inet driver ETS: Fix faulty size calculation SIZEOF_EXTSEG ETS: Fix valgrind PossiblyLost in ETS hash tables
2011-11-17erts: Fixes for SCTP on old Solaris 10Raimo Niskanen
2011-11-17Update preloaded filesRaimo Niskanen
2011-11-17erts,kernel: Return eprotonosupport when SCTP is not supportedRaimo Niskanen
It is better that gen_sctp:open/0-2 returns the informative Posix return code {error,eprotonosupport} than previously {error,badarg} when SCTP is not supported since it is so platform dependent.
2011-11-17kernel: Adjust SCTP tests to Solaris quirksRaimo Niskanen
2011-11-17erts: Fix SCTP decoding byteorder bug for adaptation_indRaimo Niskanen
2011-11-17kernel: Rewrite SCTP test socket handlerRaimo Niskanen
The socket handler needs more flexibility regarding which events are expected to be received.
2011-11-17kernel: Fix SCTP tests for the FreeBSD protocol stackRaimo Niskanen
2011-11-17kernel: Bugfix - SCTP connect with sndrcvinfo in assoc_change eventRaimo Niskanen
On some platforms (FreeBSD) the #sctp_assoc_change{state=comm_up} event arriving during gen_sctp:connect/4,5 contains ancillary data #sctp_sndrcvinfo{}. That was not expected by the code.
2011-11-17erts: Default enable SCTP in configureRaimo Niskanen
2011-11-17Update primary bootstrap and preloaded filesRaimo Niskanen
2011-11-17[observer] Rework tracing part of the guiDan Gudmundsson
No tracing is implemented yet.
2011-11-17otp_build: Disable FPE by default on LinuxSverker Eriksson
FPE = floating point exceptions
2011-11-17stdlib: Make sure qlc_SUITE:otp_6964 restores backtrace_depthSverker Eriksson
2011-11-17erts: Add test for inf/NaN intermediate float resultsSverker Eriksson
Make sure that badarith is thrown even if end result is not inf/NaN
2011-11-17hipe,erts: Allow hipe without floating point exceptionsSverker Eriksson
2011-11-17hipe: Fix bug in hipe_rtl_lcm:calc_killed_expr_bbSverker Eriksson
Bug causing hipe to crash. Only provoked when changing the RTL generation for floating point operations. hipe_rtl:defines() was called with a expression ID instead of an expression. Use expr_id_map_get_expr() to get expression from ID. Need to pass along IdMap in order to do that.