aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
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 '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-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-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-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-17[observer] Rework tracing part of the guiDan Gudmundsson
No tracing is implemented yet.
2011-11-17stdlib: Make sure qlc_SUITE:otp_6964 restores backtrace_depthSverker Eriksson
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.
2011-11-17Updated public_key and ssl ignoresIngela Anderton Andin
Moved public_key ignores to .gitignore in public_key and removed no longer needed ssl ignores.
2011-11-17erts,kernel: Bugfix - collect fragmented SCTP messages on recvRaimo Niskanen
2011-11-17kernel: Add tests for gen_sctp:peeloff/2Raimo Niskanen
2011-11-17erts,kernel: Implement gen_sctp:peeloff/2Raimo Niskanen
2011-11-17kernel: Add tests for SCTP stream socketsRaimo Niskanen
Also fix tests for new prim_inet:open function.
2011-11-17erts,kernel: Add type stream sockets to SCTPRaimo Niskanen
2011-11-17An ODBC process should exit normally if its client exits with 'shutdown'Magnus Henoch
There is nothing strange about the client shutting down, so the ODBC process should exit normally to avoid generating a crash report for a non-problem. Update appup.src for new version
2011-11-16Make OTP build w/alternative gcc on MacOS LionPatrik Nyblom
Requires own build of wxMac for wx to work: $ arch_flags="-arch i386" $ ./configure CFLAGS="$arch_flags" CXXFLAGS="$arch_flags" \ CPPFLAGS="$arch_flags" LDFLAGS="$arch_flags" OBJCFLAGS="$arch_flags" \ OBJCXXFLAGS="$arch_flags" --prefix=/usr/local \ --with-macosx-sdk=/Developer/SDKs/MacOSX10.6.sdk \ --with-macosx-version-min=10.6 --enable-unicode --with-opengl $ make $ sudo make install - and we have macports gcc 4.5 in /opt/local/bin, so we configure and build OTP like this for 32bit (which is required for wx): $ cd $ERL_TOP $ PATH=/usr/local/bin:$PATH CC=/opt/local/bin/gcc-mp-4.5 CXX=/opt/local/bin/g++-mp-4.5 ./configure --enable-m32-build $ MAKEFLAGS="-j6" PATH=/usr/local/bin:$PATH make
2011-11-16[compiler] Fix the --warnings/--W option parsing in the snmpc wrapper script.Micael Karlberg
The short warning option was incorrectly '--w', instead of as documented '--W'. This has now been corrected. Tuncer Ayaz OTP-9718 Merge branch 'bmk/snmp/compiler/fix_short_warning_option/OTP-9718' into bmk/snmp/r15_integration
2011-11-16Make binary:match with scope return correct valuesPatrik Nyblom
2011-11-16[compiler] Improved version info printout.Micael Karlberg
OTP-9618 Merge branch 'bmk/snmp/compiler/misc/OTP-9618' into bmk/snmp/r15_integration Conflicts: lib/snmp/doc/src/notes.xml lib/snmp/src/app/snmp.appup.src lib/snmp/vsn.mk
2011-11-16Merge branch 'anders/diameter/release_R15A'Anders Svensson
* anders/diameter/release_R15A: Version -> 0.11, update appup, minor app suite fix
2011-11-16Merge branch 'anders/diameter/app_suite_vs_sasl/OTP-9704'Anders Svensson
* anders/diameter/app_suite_vs_sasl/OTP-9704: Add sasl to app testcases to placate systools
2011-11-16[compiler] Fix the --warnings/--W option parsing in the snmpc wrapper script.Micael Karlberg
The short warning option was incorrectly '--w', instead of as documented '--W'. This has now been corrected. Tuncer Ayaz OTP-9718 Merge branch 'ta/snmpc-warnings-option' into bmk/snmp/compiler/fix_short_warning_option/OTP-9718
2011-11-16Added new entry because of the version.Micael Karlberg
OTP-9618
2011-11-16Merge branch 'rj/fix-net_kernel-doc'Henrik Nord
* rj/fix-net_kernel-doc: Fixes net_kernel:get_net_ticktime() doc OTP-9713
2011-11-16[httpd] Fix logging of content length in mod_log.Micael Karlberg
Garrett Smith OTP-9715 Merge branch 'gs/mod_log-fix' into bmk/inets/httpd/content_len_in_mod_log/OTP-9715
2011-11-16[wx] Change libGL loadingDan Gudmundsson
Load libGL.so.1 instead of libGL.so, this should fix things when DL search path is broken (Ubuntu). dlopen("libGL.so") finds Mesa driver and dlopen("libGL.so.1") finds Nvidia or ATI. wxWidgets (added by gcc) have a dependency to libGL.so.1 so the context is created with that driver.
2011-11-16[wx] Fix deadlock in callback handlingDan Gudmundsson
New testcase showcase the deadlock
2011-11-16Add documentation and test for kernel env var shutdown_timeoutSiri Hansen
2011-11-16New version. Also updated dependency for snmpc.Micael Karlberg
OTP-9618
2011-11-16Merge branch 'siri/stdlib/improve-doc-restart-strategy/OTP-9381'Siri Hansen
* siri/stdlib/improve-doc-restart-strategy/OTP-9381: Improve documentation on supervisor restart strategy
2011-11-16Improve documentation on supervisor restart strategySiri Hansen
2011-11-16erts,kernel: Rename operations common to TCP and SCTPRaimo Niskanen
2011-11-16Merge branch 'maint-r14'Micael Karlberg
2011-11-16Merge branch 'ia/ssl/ets-next-problem/OTP-9703'Ingela Anderton Andin
* ia/ssl/ets-next-problem/OTP-9703: Replaced ets:next traversal with ets:foldl and throw
2011-11-16Merge branch 'ia/public_key/prepare-for-release'Ingela Anderton Andin
* ia/public_key/prepare-for-release: Prepare for release
2011-11-16Merge branch 'ia/ssl/badarith/OTP-9696'Ingela Anderton Andin
* ia/ssl/badarith/OTP-9696: Improved session cleanup handling Fix badarith in ssl_session:validate_session/2
2011-11-15Version -> 0.11, update appup, minor app suite fixAnders Svensson
2011-11-15Prepare for releaseIngela Anderton Andin
2011-11-15Merge branch 'hb/stdlib/gen_call_improvement/OTP-9212'Hans Bolinder
* hb/stdlib/gen_call_improvement/OTP-9212: Remove the undocumented function global:safe_whereis_name/1 Remove all use of global:safe_whereis_name/1 Fix a minor race in gen_fsm
2011-11-15Merge branch 'ia/ssl/test-maintenance'Ingela Anderton Andin
* ia/ssl/test-maintenance: Removed compiler warnings Work around bug in openss-1.0.0e Use ERL_FLAGS in plain_verify_options test Adjustment to work with hipe Avoid openssl processes surviving after test case has finished Add better error message Skip ssl_dist_SUITE if cover run, as the test server node can not communicate with the ssl nodes with erlang distribution Fine tuning of test suites