From bgustavsson@REDACTED Mon Jan 4 13:19:02 2010 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Mon, 4 Jan 2010 13:19:02 +0100 Subject: [erlang-patches] re:run sometimes executed on corrupted data In-Reply-To: <20091224173354.6baa8088.hio@hio.jp> References: <20091224173354.6baa8088.hio@hio.jp> Message-ID: <6672d0161001040419q541029b5n6da6d32354a3a3a8@mail.gmail.com> On Thu, Dec 24, 2009 at 9:33 AM, YAMASHINA Hio wrote: > Following snnipet > > case re:run(Data, "[\\x00\\x01]", [{capture,[0],binary}]) of > nomatch -> > ok; > {match,X} -> > throw({"source text", Data, "contains invalid sequence", X}) > end, > > rarely raises strange excepion > > {"source text",<<"xxx!x">>,"contains invalid sequence",[<<"!">>]} Thanks for the bug report and patch. We will investigate the problem. If you plan to send more patches, please read our patch submission guidelines: http://wiki.github.com/erlang/otp/submitting-patches -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From kagato@REDACTED Mon Jan 4 16:06:16 2010 From: kagato@REDACTED (Jayson Vantuyl) Date: Mon, 4 Jan 2010 07:06:16 -0800 Subject: binary_to_term, now with options! Message-ID: <820256CC-F3E1-4B40-96DD-D63623DFD09A@souja.net> git fetch git://github.com/jvantuyl/otp.git binary_to_term_opts From e9be98f7d80b488bebd8dd5b30ef03ef7574f186 Mon Sep 17 00:00:00 2001 From: Jayson Vantuyl Date: Mon, 4 Jan 2010 06:53:47 -0800 Subject: [PATCH] add options to binary_to_term binary_to_term is a powerful tool for easily shuttling data over the network. It is not suitable for use with untrusted data, as it happily leaks atoms and transfers data types that can carry arbitrary data into your code (funs, pids, refs). After a short discussion on the list, consensus appears to be that binary_to_term needed options. This patch implements the second form of binary_to_term that takes options, and a simple option called 'safe'. If specified, this option will refuse to decode any dangerous data types and will not leak atoms. --- erts/doc/src/erlang.xml | 19 +++++ erts/emulator/beam/atom.names | 1 + erts/emulator/beam/bif.tab | 5 ++ erts/emulator/beam/external.c | 128 ++++++++++++++++++++++++++++++----- erts/emulator/beam/external.h | 3 + erts/emulator/test/binary_SUITE.erl | 13 +++- lib/stdlib/src/erl_internal.erl | 2 +- 7 files changed, 152 insertions(+), 19 deletions(-) From bgustavsson@REDACTED Mon Jan 4 19:18:08 2010 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Mon, 4 Jan 2010 19:18:08 +0100 Subject: [erlang-patches] patch: common_test include vs. include_lib In-Reply-To: <8b9ee55b0912241129s59eab3eag209fb7c1381c5c7e@mail.gmail.com> References: <8b9ee55b0912241129s59eab3eag209fb7c1381c5c7e@mail.gmail.com> Message-ID: <6672d0161001041018x2fb16696q8c76766b29ad6594@mail.gmail.com> On Thu, Dec 24, 2009 at 8:29 PM, Fred Hebert wrote: > branch: http://github.com/ferd/otp/tree/common_test_includes > > git fetch git://github.com/ferd/otp.git common_test_includes > Thanks! Included in 'pu'. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From bgustavsson@REDACTED Mon Jan 4 19:18:54 2010 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Mon, 4 Jan 2010 19:18:54 +0100 Subject: [erlang-patches] Improvements in the Report Browser In-Reply-To: <87CCF4EE-A7AB-402F-9D05-929739052C85@gmail.com> References: <110EAD81-677A-479D-B797-72F9A55BDB70@gmail.com> <6672d0160912210230w5443d4a1wb3f3c249d792daf5@mail.gmail.com> <6B2422AA-528F-497B-B71C-DAC2699C75EB@gmail.com> <6672d0160912220902h491baaedi1c472e8945b69245@mail.gmail.com> <87CCF4EE-A7AB-402F-9D05-929739052C85@gmail.com> Message-ID: <6672d0161001041018n75c904ccwf298a1640765533d@mail.gmail.com> On Fri, Dec 25, 2009 at 10:03 AM, Videla Alvaro wrote: > http://github.com/videlalvaro/otp/tree/va/rb-improvements Thanks! Included in 'pu'. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From bgustavsson@REDACTED Mon Jan 4 19:27:22 2010 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Mon, 4 Jan 2010 19:27:22 +0100 Subject: [erlang-patches] binary_to_term, now with options! In-Reply-To: <820256CC-F3E1-4B40-96DD-D63623DFD09A@souja.net> References: <820256CC-F3E1-4B40-96DD-D63623DFD09A@souja.net> Message-ID: <6672d0161001041027y5019fd39uf2dd0807ad9dc248@mail.gmail.com> On Mon, Jan 4, 2010 at 4:06 PM, Jayson Vantuyl wrote: > git fetch git://github.com/jvantuyl/otp.git binary_to_term_opts Thanks! Included in 'pu' with the following changes: * The updates to erl_internal.erl not included. We don't add auto-imported BIFs in minor releases (because of backward-compatibility). Also, you had removed term_to_binary/2 as an auto-imported BIF. I assume that was a mistake. * Fixed indentation. (Our tabs are always 8 steps, and each indentation level is 4 step, using a mixture of tabs and spaces.) * Added parenthesis around an expression following 'while'. * Removed the the test for BTT_SAFE in the ATOM_CACHE_REF case (it can't happen). -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From wil@REDACTED Wed Jan 6 14:02:25 2010 From: wil@REDACTED (Wil Tan) Date: Thu, 7 Jan 2010 00:02:25 +1100 Subject: new_ssl: Send CA list during Certificate Request In-Reply-To: <2c74643b1001050931g6dc1ad72r8ced2c0faf395444@mail.gmail.com> References: <2c74643b1001050931g6dc1ad72r8ced2c0faf395444@mail.gmail.com> Message-ID: <2c74643b1001060502s195eacc4sc7ffc604a7dff67b@mail.gmail.com> Hello, Apologies if you received a duplicate. This is a resend as I was not subscribed to the list previously. I'd like to submit the following patch: ?git fetch git://github.com/wil/otp.git ssl_certreq_send_ca_list It works for me (i.e. sends a list of distinguished names of acceptable CAs, as opposed to an empty list) with OpenSSL s_client, and also Java's SSL client implementation. =wil From bgustavsson@REDACTED Wed Jan 6 14:45:01 2010 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Wed, 6 Jan 2010 14:45:01 +0100 Subject: [erlang-patches] new_ssl: Send CA list during Certificate Request In-Reply-To: <2c74643b1001060502s195eacc4sc7ffc604a7dff67b@mail.gmail.com> References: <2c74643b1001050931g6dc1ad72r8ced2c0faf395444@mail.gmail.com> <2c74643b1001060502s195eacc4sc7ffc604a7dff67b@mail.gmail.com> Message-ID: <6672d0161001060545n6c21f33frb2bb830b16471350@mail.gmail.com> On Wed, Jan 6, 2010 at 2:02 PM, Wil Tan wrote: > I'd like to submit the following patch: > > ?git fetch git://github.com/wil/otp.git ssl_certreq_send_ca_list Thanks! Included in 'pu'. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From wil@REDACTED Wed Jan 6 17:36:52 2010 From: wil@REDACTED (Wil Tan) Date: Thu, 7 Jan 2010 03:36:52 +1100 Subject: new_ssl: Fix Session ID Reuse Message-ID: <2c74643b1001060836l1f5d0f58o9cf87deb834f5d59@mail.gmail.com> Hello, Thanks for including my previous patch in the "pu" branch. Here's another one which fixes the session ID reuse scenario. From the commit message: When an SSL client presents a previous session ID, the server should either honour the request to reuse the parameters previously negotiated for the given session ID, or ignore the request and generate a new session ID. In this situation, new_ssl tries to complete the handshake by sending the client a "Finished" handshake message, which violates the SSL/TLS specs. It should instead send a ChangeCipherSpec message before sending the FInished message. This patch fixes it. To pull: $ git fetch git://github.com/wil/otp.git ssl_resume_session To test this using openssl client, use the "-reconnect" argument to "s_client" to make it connect with a fresh session ID, disconnects, and then immediately connect again with the same session ID. $ openssl s_client -connect localhost:65494 -CAfile certs/cacert.pem -key certs/client.key -cert certs/client.pem -msg -reconnect An alternative way is to use the "-sess_out" or "-sess_in" parameter to make it save the session ID to or load from a file: # first connect, should work $ openssl s_client -connect localhost:65494 -CAfile certs/cacert.pem -key certs/client.key -cert certs/client.pem -msg -sess_out session.dat # second connect, it reports "got a fin before a ccs" before the patch. # After patch, it should connect with a much shorter handshake. $ openssl s_client -connect localhost:65494 -CAfile certs/cacert.pem -key certs/client.key -cert certs/client.pem -msg -sess_in session.dat Thanks. -- Wil Tan CTO Cloud Registry From bgustavsson@REDACTED Thu Jan 7 10:22:40 2010 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Thu, 7 Jan 2010 10:22:40 +0100 Subject: [erlang-patches] new_ssl: Fix Session ID Reuse In-Reply-To: <2c74643b1001060836l1f5d0f58o9cf87deb834f5d59@mail.gmail.com> References: <2c74643b1001060836l1f5d0f58o9cf87deb834f5d59@mail.gmail.com> Message-ID: <6672d0161001070122p6385f4fch78f07ce61777d294@mail.gmail.com> On Wed, Jan 6, 2010 at 5:36 PM, Wil Tan wrote: > Thanks for including my previous patch in the "pu" branch. > Here's another one which fixes the session ID reuse scenario. From the > commit message: Thanks! Included in 'pu'. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From hio@REDACTED Thu Jan 7 12:31:10 2010 From: hio@REDACTED (YAMASHINA Hio) Date: Thu, 7 Jan 2010 20:31:10 +0900 Subject: [erlang-patches] re:run sometimes executed on corrupted data In-Reply-To: <6672d0161001040419q541029b5n6da6d32354a3a3a8@mail.gmail.com> References: <20091224173354.6baa8088.hio@hio.jp> <6672d0161001040419q541029b5n6da6d32354a3a3a8@mail.gmail.com> Message-ID: <20100107203110.b260bd65.hio@hio.jp> Hi. I get reproduable code for this problem. Attached is this one. $ ./bin/erl -noshell -run test start 1000 1986 -run init stop ret = {match,[<<"4">>]} <<"1234567890xxxxxxxxxxxxxxxxxxxxxx">> is with "[\\0\\x01]" $ git log -1 commit fbdeb03d3919b096e039302801e2e865267a6943 Author: Bj?rn Gustavsson Date: Wed Jan 6 10:44:01 2010 +0000 Update preloaded files And create git branch: git fetch git://github.com/hio/otp.git fix_re_run_corruption Following note is also written in attached file. % % $ ./bin/erl -noshell -run test start 1000 1986 -run init stop % % First parameter (Mem=1000) is memory amount to be fat up. % Second parameter (Reds=1986) is reductions to interrupt erts_pcre_exec(). % Paramter values are maybe depended on running system. % Your system may need another values. % % Above values are appropriate for my environment: % Erlang R13B04 (erts-5.7.5) [source] [64-bit] [smp:4:4] [rq:4] % [async-threads:0] [kernel-poll:false] % % Mem parameter increases MSO(_p).overhead and this causes garbage collection % at POST_BIF_GC_SWAPIN. % % Reds paramter is passed to erlang:bump_reductions/1 before re:run/3. % Appropriate value is ERTS_BIF_REDS_LEFT(BIF_P)-1 at just before % calling erts_pcre_exec() at erl_bif_re.c. Thank you. On Mon, 4 Jan 2010 13:19:02 +0100 Bj?rn Gustavsson wrote: > On Thu, Dec 24, 2009 at 9:33 AM, YAMASHINA Hio wrote: > > Following snnipet > > > > case re:run(Data, "[\\x00\\x01]", [{capture,[0],binary}]) of > > nomatch -> > > ok; > > {match,X} -> > > throw({"source text", Data, "contains invalid sequence", X}) > > end, > > > > rarely raises strange excepion > > > > {"source text",<<"xxx!x">>,"contains invalid sequence",[<<"!">>]} > > Thanks for the bug report and patch. We will investigate the problem. > > > If you plan to send more patches, please read our patch submission > guidelines: > > http://wiki.github.com/erlang/otp/submitting-patches > > -- > Bj?rn Gustavsson, Erlang/OTP, Ericsson AB -- YAMASHINA Hio -------------- next part -------------- A non-text attachment was scrubbed... Name: test.erl Type: application/octet-stream Size: 2178 bytes Desc: not available URL: From bgustavsson@REDACTED Thu Jan 7 18:36:50 2010 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Thu, 7 Jan 2010 18:36:50 +0100 Subject: [erlang-patches] re:run sometimes executed on corrupted data In-Reply-To: <20100107203110.b260bd65.hio@hio.jp> References: <20091224173354.6baa8088.hio@hio.jp> <6672d0161001040419q541029b5n6da6d32354a3a3a8@mail.gmail.com> <20100107203110.b260bd65.hio@hio.jp> Message-ID: <6672d0161001070936q8185002kd49ef028fee9e655@mail.gmail.com> On Thu, Jan 7, 2010 at 12:31 PM, YAMASHINA Hio wrote: > I get reproduable code for this problem. > Attached is this one. Thanks! That will help us to write a test case. > And create git branch: > > ?git fetch git://github.com/hio/otp.git fix_re_run_corruption Thanks! Included in 'pu'. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From kagato@REDACTED Fri Jan 8 10:06:28 2010 From: kagato@REDACTED (Jayson Vantuyl) Date: Fri, 8 Jan 2010 01:06:28 -0800 Subject: revised patch for binary_to_term/2 and clarifying comment Message-ID: I've pushed a branch with the following changes: 1. I rebased the latest safety / binary_to_term/2 patch off of the now current ccase/r13b04_dev 2. Otherwise, the first changeset is identical to the already submitted one 3. I added an additional changeset with the comments we discussed (a warning that edep flags and mask shouldn't overlap) I thought it deserved a separate commit, since it was really a separate change. I would have made it a separate branch, but I didn't see the point, since it would have just conflicted with the addition of the BTT flag (thereby requiring an unnecessary merge). If you'd like, I can try to make another branch and then do the merge (and you can merge that merge after merging the other branches), but that seemed like an awful lot of work for a comment. Here's the git command: > git fetch git://github.com/jvantuyl/otp.git Enjoy! -- Jayson Vantuyl kagato@REDACTED From bgustavsson@REDACTED Fri Jan 8 14:39:18 2010 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Fri, 8 Jan 2010 14:39:18 +0100 Subject: [erlang-patches] revised patch for binary_to_term/2 and clarifying comment In-Reply-To: References: Message-ID: <6672d0161001080539p38f94474nda251225eabdc598@mail.gmail.com> Thanks! On Fri, Jan 8, 2010 at 10:06 AM, Jayson Vantuyl wrote: > I've pushed a branch with the following changes: > > 1. ?I rebased the latest safety / binary_to_term/2 patch off of the now current ccase/r13b04_dev > 2. ?Otherwise, the first changeset is identical to the already submitted one I made the following the following stylistic change to that commit to match the style of the rest of the file: diff --git a/erts/emulator/beam/external.c b/erts/emulator/beam/external.c index e1c868b..088a551 100644 --- a/erts/emulator/beam/external.c +++ b/erts/emulator/beam/external.c @@ -2288,7 +2288,7 @@ dec_term_atom_common: goto error; } if (edep && (edep->flags & ERTS_DIST_EXT_BTT_SAFE)) { - if (!erts_find_export_entry(mod,name,arity)) + if (!erts_find_export_entry(mod, name, arity)) goto error; } *objp = make_export(hp); > 3. ?I added an additional changeset with the comments we discussed (a warning that edep flags and mask shouldn't overlap) The patch added two spaces at end of lines - I have eliminated them. > I thought it deserved a separate commit, since it was really a separate change. ?I would have made it a separate branch, but I didn't see the point, since it would have just conflicted with the addition of the BTT flag (thereby requiring an unnecessary merge). Yes, I agree on both points. The updated branch will be included in 'pu' when I'll push it later today. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From bgustavsson@REDACTED Fri Jan 8 15:23:18 2010 From: bgustavsson@REDACTED (=?ISO-8859-1?Q?Bj=F6rn_Gustavsson?=) Date: Fri, 08 Jan 2010 15:23:18 +0100 Subject: What's cooking in erlang/otp (2010-01-08) Message-ID: <4B473FD6.7040307@gmail.com> There are no graduations this time, but we expect there will be a few next week. We have just got automatic builds and tests based on the 'pu' branch running. That means that in the future, we can give quicker feedback on branches that does not build on all platforms. This time, three branches have been dropped because of problems found by the automatic tests. ------------------------------------------------------------ [New topics] * egil/binary-gc (erts) (2010-01-07) 4 commits - Add documentation for binary heap size settings. (bcd0b64) - Add tracing capabilities for binary virtual heap (33a2f7a) - Add min heap size start options to beam and erl (bfe4308) - Improve binary garbage collection (94f7a20) * jv/binary_to_term-opts (erts) (2010-01-08) 2 commits - document ErtsExternalDist flags and CON_ID mask (be22f53) - add options to binary_to_term (77ce185) Will probably graduate soon. * wt/ssl-resume-session (ssl) (2010-01-07) 1 commit - new_ssl fix session reuse (3918e9c) * wt/ssl_certreq_send_ca_list (public_key, ssl) (2010-01-06) 1 commit - Send CA list during Certificate Request in new_ssl (638ad46) * yh/fix-re-run-corruption (erts) (2010-01-07) 1 commit - Fix re:run/3 sometimes executes on corrupted data by garbage collection (eed3903) ------------------------------------------------------------ [Cooking] * at/odbc_osx_fix (odbc) (2009-11-30) 1 commit - Workaround broken ODBC implementation on OSX 10.5 (88c71c9) * bd/http_chunk_fix (inets) (2009-11-27) 1 commit - http_chunk data handling/passing improvement. (c2553be) * bg/otp_build-improvements (otp, stdlib) (2010-01-06) 5 commits - Fix spelling, remove obsolete command (74b56ab) - Support updating preloaded files in a git repository (bb8cf9b) - Support updating the primary bootstrap in a git repository (86e14df) - Determine which VCS is being used (12839e1) - stdlib makefile: Add explicit rule (b197d92) * cf/compile_warning_as_error (compiler, erts) (2009-12-15) 3 commits - Add option -Werror in erlc(1) (d29a335) - compile: add flag warnings_as_errors to treat warnings as errors (13124f5) - compile.erl: remove trailing whitespace (8a944af) * cf/epp-macro-overloading (otp, stdlib) (2009-12-10) 4 commits - update the documentation on preprocessor in the reference manual (162ec27) - epp: change rules to choose the right version of a macro (8dcc9f8) - epp: Add support of macros overloading (f7a8959) - epp: fix bug in the function scan_undef (52543e0) Extend the pre-processor to allow overloading of macros with the same name but different arities. Now with documentation. * db/tv_nthtail_fix (tv) (2009-12-01) 1 commit - Fix for tv which restarts while trying to open a table (abe0759) We will cook this topic for a while and include it in the next release unless someone finds a problem with it or a better fix. * dgud/dbg_mac_menu (debugger) (2009-12-16) 4 commits - Dbg: Expand the module listbox when window grows. (85f849c) - Dbg: Cut variable bindings after 80 chars. (87f6e4c) - Dbg: Fixed documentation links to the new index.html (e27e41b) - Dbg Fixed mac gui issues (438d778) * jp/dependencies_makefile (compiler, erts) (2009-12-14) 1 commit - Add dependencies Makefile generation to erlc(1) and compile(3) (c0734e8) * jp/gcc-detection-in-makefiles (erts) (2009-12-16) 1 commit - Fix GCC detection in ERTS configure script and Makefiles (84e0caf) Corrected by me since it did not work on all versions of autoconf and/or shells. Will probably graduate soon. * kj/epmd-port2resp-trunc-extra (erts) (2009-12-20) 1 commit - Handle "extra" field according to specs in ALIVE2_REQ and PORT2_RESP. (a841673) Will probably graduate soon. * km/http-host-header-fix (inets) (2009-12-21) 1 commit - Fix inets HTTP client bug crafting Host header when port is not 80 (75a3f7c) * po/odbc-update-delete-no-rows (odbc) (2009-11-26) 1 commit - SQL_NO_DATA and SQLSTATE 00000 indicate success for updates/deletes that affect no rows (1a564f8) * sc/sctp-connect-nowait (kernel) (2009-12-21) 1 commit - Implement a non-blocking SCTP connect (ae3d819) * tc/premodern-fpe (erts) (2009-12-08) 2 commits - Add -D_XOPEN_SOURCE to CPPFLAGS on Darwin platforms (6e60658) - Test for reliable fpes on Darwin platforms without DARWIN_MODERN_MCONTEXT (4160466) Reliable floating point exceptions is necessary for hipe to be enabled. I can confirm that hipe can now be enabled on Snow Leopard (10.6) and that it speeds up building of the Dialyzer PLT. This branch depends on functionality that is deprecated in Mac OS 10.6, so it might be necessary to find another solution when 10.7 will be released (in case it removes the deprecated functionality). We would like to hear about how this patch works on older versions of Mac OS X. It is known to work on Tiger/PPC. * uw/shell-tab-completion (stdlib) (2009-12-17) 1 commit - Shell tab completion now works for quoted module and function names (1c3a6c8) * va/rb-improvements (sasl) (2009-12-25) 4 commits - New function to filter reports by date (5391383) - New rb:filter/1 function to ease report filtering (ed28348) - Add rb:re/1 to grep reports using the re module (e5bd091) - Fix minor typo in read_report/1 (07c6ad4) ------------------------------------------------------------ [Dropped] * aq/asn1-incomplete-packet (asn1) (2009-12-16) 1 commit . asn1: let decode/2 functions handle incomplete packets (5dbde5a) Breaks the test test suite for the public_key application. * fh/common_test-includes (common_test) (2009-12-24) 2 commits . change the examples' -include to -include_lib with ct.hrl (3a991e2) . change -include for -include_lib to avoid compile errors (48420a4) The system does not build from scratch when this branch is included because the common_test application is not included in the bootstrap. * jb/atom-table-size-env (erts, otp) (2009-12-21) 1 commit . Added ERL_ATOM_TABLE_SIZE environment variable (f1bf944) Does not build on Windows. (MIN and MAX macros are not defined on Windows.) From bgustavsson@REDACTED Fri Jan 8 18:42:24 2010 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Fri, 8 Jan 2010 18:42:24 +0100 Subject: Branch jp/dependencies_makefile does not build on Windows Message-ID: <6672d0161001080942k74af3057t5e64c68dcb4eaa79@mail.gmail.com> Unfortunately, the branch jp/dependencies_makefile does not build on Windows: c.sh -O2 -I/ldisk/daily_build/otp_norel_pu_win32_r13b04.2010-01-08_15/otp_src_R13B04/erts/win32 -D_WIN32_WINNT=0x0500 -DWINVER=0x0500 -D_USE_32BIT_TIME_T -DERTS_MIXED_CYGWIN_VC -DHAVE_CONFIG_H -I/ldisk/daily_build/otp_norel_pu_win32_r13b04.2010-01-08_15/otp_src_R13B04/erts/emulator/sys/win32 -I/ldisk/daily_build/otp_norel_pu_win32_r13b04.2010-01-08_15/otp_src_R13B04/erts/emulator/beam -I/ldisk/daily_build/otp_norel_pu_win32_r13b04.2010-01-08_15/otp_src_R13B04/erts/include -I/ldisk/daily_build/otp_norel_pu_win32_r13b04.2010-01-08_15/otp_src_R13B04/erts/include/win32 -I/ldisk/daily_build/otp_norel_pu_win32_r13b04.2010-01-08_15/otp_src_R13B04/erts/include/internal -I/ldisk/daily_build/otp_norel_pu_win32_r13b04.2010-01-08_15/otp_src_R13B04/erts/include/internal/win32 -DOTP_SYSTEM_VERSION=\"R13B04\" -I/ldisk/daily_build/otp_norel_pu_win32_r13b04.2010-01-08_15/otp_src_R13B04/erts/emulator/win32 -I../win32 -o /ldisk/daily_build/otp_norel_pu_win32_r13b04.2010-01-08_15/otp_src_R13B04/erts/obj/win32/erlc.o -c erlc.c cc.sh -o /ldisk/daily_build/otp_norel_pu_win32_r13b04.2010-01-08_15/otp_src_R13B04/bin/win32/erlc.exe /ldisk/daily_build/otp_norel_pu_win32_r13b04.2010-01-08_15/otp_src_R13B04/erts/obj/win32/erlc.o -L/ldisk/daily_build/otp_norel_pu_win32_r13b04.2010-01-08_15/otp_src_R13B04/erts/obj/win32 -lsocket erlc.o : error LNK2019: unresolved external symbol _snprintf referenced in function _main C:/cygwin/ldisk/daily_build/otp_norel_pu_win32_r13b04.2010-01-08_15/otp_src_R13B04/bin/win32/erlc.exe : fatal error LNK1120: 1 unresolved externals That is, there does not seem to be an snprintf() function on Windows. Since a branch that does not build will prevent all other patches from being tested on Windows, I will drop the branch the next time I push 'pu'. I will reinstate it if/when I'll receive a correction for the problem. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From igorrs@REDACTED Sun Jan 10 08:08:50 2010 From: igorrs@REDACTED (Igor Ribeiro Sucupira) Date: Sun, 10 Jan 2010 05:08:50 -0200 Subject: Synchronizing Mnesia tables with data compression Message-ID: Hello. I'm deploying a system that's going to work with many replicated Mnesia fragments (hundreds of GB per node) and it seems Mnesia needs to copy some full dets files between nodes if one of them goes down and is started again. So, I thought I could alleviate at least the network traffic by compressing the messages that are sent between nodes when a dets table is being copied. I have added a Mnesia option to allow setting the compression level for that operation. The default level is 0, in which Mnesia behaves exactly like today (no compression when copying tables). I believe this change affects table loading (from a master node) and table replication (add_table_copy). You can fetch the patch with: git fetch git://github.com/igorrs/otp.git send_compressed Full commit comments: Add option to compress data when copying tables between Mnesia nodes Optionally using data compression for copying Mnesia tables allows the system to be tuned to eliminate network bottlenecks from deployments where enough CPU is available to use zlib. With this patch, running erl -mnesia send_compressed will enable compression for sending tables between nodes. The compression level can be any integer in [0, 9], with 0 (the default) meaning no compression (exactly the previous behaviour) and 9 being the highest compression level. To set any non-zero compression level at the sender, both nodes must have the updated Mnesia modules (the receiver will work according to the sender's configuration). I will update the documentation as soon as the patch is merged to the pu branch. Igor. From bgustavsson@REDACTED Sun Jan 10 09:14:02 2010 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Sun, 10 Jan 2010 09:14:02 +0100 Subject: [erlang-patches] Synchronizing Mnesia tables with data compression In-Reply-To: References: Message-ID: <6672d0161001100014j6244883h1e3aec08875af4d5@mail.gmail.com> On Sun, Jan 10, 2010 at 8:08 AM, Igor Ribeiro Sucupira wrote: > You can fetch the patch with: > git fetch git://github.com/igorrs/otp.git send_compressed Thanks! Included in 'pu'. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From nem@REDACTED Tue Jan 12 11:09:13 2010 From: nem@REDACTED (Geoff Cant) Date: Tue, 12 Jan 2010 23:09:13 +1300 Subject: HiPE for darwin/amd64 Message-ID: Hi all, I was poking around trying to get hipe working in my darwin/amd64 erlang build and have prepared some patches to get this to happen. The changes are roughly: * Update configure.in to stop disabling hipe * Port the asm and m4 fixes from hipe/darwin/x86 to hipe/darwin/amd64 to get it to compile * Add a -pagezero_size linker directive to stop OS X's default 4Gb PAGEZERO segment from clobbering all the memory hipe wants to allocate. These changes taken together give me a bootstrap build that can compile, load and execute a very simple erlang module (a UUID generator module I found somewhere). I haven't tested the patches further than that - more importantly, I haven't tested that the asm/m4/configure changes don't break other platforms as I don't have easy access to said other platforms. The ugliest part of the patch is making -pagezero_size a member of LDFLAGS in erts/configure.in as this applies it to all compiled executables instead of just the emulator target. If I could decipher where in the autoconf/make jumble I could put it to be minimally invasive, I'd do that instead. The code is a fork of ccase/r13b04_dev on github: git fetch git://github.com/archaelus/otp.git hipe_darwin_amd64 Cheers, -- Geoff Cant ps: I can't remember now if the code sets MAP_FIXED for darwin/amd64. I don't think it does, but if it did, then it's important to remember that mmap with MAP_FIXED on OS X replaces any existing mapping in the requested region. I think this behaviour differs to the other platforms. From jim@REDACTED Wed Jan 13 08:53:30 2010 From: jim@REDACTED (Jim Tittsler) Date: Wed, 13 Jan 2010 20:53:30 +1300 Subject: typo in erlang_mode_chapter.xml Message-ID: <63e484161001122353t79dcdb57sc0fa14539b372585@mail.gmail.com> There is a typo (Elsip -> Elisp) in erlang_mode_chapter.xml Patch attached. -- Jim Tittsler Open Education Resource Foundation -------------- next part -------------- A non-text attachment was scrubbed... Name: erlang_mode_chapter.xml.patch Type: application/octet-stream Size: 527 bytes Desc: not available URL: From bgustavsson@REDACTED Wed Jan 13 09:16:35 2010 From: bgustavsson@REDACTED (=?ISO-8859-1?Q?Bj=F6rn_Gustavsson?=) Date: Wed, 13 Jan 2010 09:16:35 +0100 Subject: What's cooking in erlang/otp (2010-01-13) Message-ID: <4B4D8163.6070106@gmail.com> Several people have asked me about the unusual workflow, in particular why the topic branches are not directly available but only available as part of 'pu' branch. The main reason is that most people are only interested in a few topic branches (usually only their own) and not all other branches. Therefore I don't want to litter the repositories for everyone with all the topic branches. Also note that remote branches are not automatically deleted even if they are deleted in the repository they were fetched from, so all branches that have been dropped or graduated would still be there in other repositories even after they have been deleted in the erlang/otp repository. To make it easier to set up a local branch to continue working on a branch that has been included in 'pu', I have tried to make the instructions clearer and also provided a script on the wiki page: http://wiki.github.com/erlang/otp/branches ------------------------------------------------------------ [Graduated] * bg/otp_build-improvements (otp, stdlib) (2010-01-06) 5 commits + Fix spelling, remove obsolete command (812812e) + Support updating preloaded files in a git repository (9c1b2d0) + Support updating the primary bootstrap in a git repository (3e4db41) + Determine which VCS is being used (faac812) + stdlib makefile: Add explicit rule (78fbf07) * dgud/dbg_mac_menu (debugger) (2009-12-16) 4 commits + Dbg: Expand the module listbox when window grows. (85f849c) + Dbg: Cut variable bindings after 80 chars. (87f6e4c) + Dbg: Fixed documentation links to the new index.html (e27e41b) + Dbg Fixed mac gui issues (438d778) * jv/binary_to_term-opts (erts) (2010-01-08) 2 commits + document ErtsExternalDist flags and CON_ID mask (be22f53) + add options to binary_to_term (77ce185) * kj/epmd-port2resp-trunc-extra (erts) (2009-12-20) 1 commit + Handle "extra" field according to specs in ALIVE2_REQ and PORT2_RESP. (a841673) * tc/premodern-fpe (erts) (2009-12-08) 2 commits + Add -D_XOPEN_SOURCE to CPPFLAGS on Darwin platforms (6e60658) + Test for reliable fpes on Darwin platforms without DARWIN_MODERN_MCONTEXT (4160466) ------------------------------------------------------------ [New topics] * is/mnesia-send-compressed (mnesia) (2010-01-11) 2 commits - Update documentation to describe the new Mnesia option "send_compressed" (583d00b) - Add option to compress data when copying tables between Mnesia nodes (86f786e) * pan/enable_m32_build (erts, otp) (2009-12-08) 1 commit - Teach configure --enable-m32-build for forcing a 32-bit build (17e4765) ------------------------------------------------------------ [Cooking] * at/odbc_osx_fix (odbc) (2009-11-30) 1 commit - Workaround broken ODBC implementation on OSX 10.5 (88c71c9) * bd/http_chunk_fix (inets) (2009-11-27) 1 commit - http_chunk data handling/passing improvement. (c2553be) * cf/compile_warning_as_error (compiler, erts) (2009-12-15) 3 commits - Add option -Werror in erlc(1) (d29a335) - compile: add flag warnings_as_errors to treat warnings as errors (13124f5) - compile.erl: remove trailing whitespace (8a944af) * cf/epp-macro-overloading (otp, stdlib) (2009-12-10) 4 commits - update the documentation on preprocessor in the reference manual (162ec27) - epp: change rules to choose the right version of a macro (8dcc9f8) - epp: Add support of macros overloading (f7a8959) - epp: fix bug in the function scan_undef (52543e0) Extend the pre-processor to allow overloading of macros with the same name but different arities. Now with documentation. * db/tv_nthtail_fix (tv) (2009-12-01) 1 commit - Fix for tv which restarts while trying to open a table (abe0759) We will cook this topic for a while and include it in the next release unless someone finds a problem with it or a better fix. * egil/binary-gc (erts) (2010-01-07) 4 commits - Add documentation for binary heap size settings. (37ee2b1) - Add tracing capabilities for binary virtual heap (2102ff6) - Add min heap size start options to beam and erl (7ca73e1) - Improve binary garbage collection (8d01328) Will graduate soon. * jp/dependencies_makefile (compiler, erts) (2010-01-12) 2 commits - squash! fix snprintf for Windows (bf2708d) - Add dependencies Makefile generation to erlc(1) and compile(3) (7cbc437) Now also builds on Windows. * km/http-host-header-fix (inets) (2009-12-21) 1 commit - Fix inets HTTP client bug crafting Host header when port is not 80 (75a3f7c) * po/odbc-update-delete-no-rows (odbc) (2009-11-26) 1 commit - SQL_NO_DATA and SQLSTATE 00000 indicate success for updates/deletes that affect no rows (1a564f8) * sc/sctp-connect-nowait (kernel) (2009-12-21) 1 commit - Implement a non-blocking SCTP connect (ae3d819) * uw/shell-tab-completion (stdlib) (2009-12-17) 1 commit - Shell tab completion now works for quoted module and function names (1c3a6c8) * va/rb-improvements (sasl) (2009-12-25) 4 commits - New function to filter reports by date (5391383) - New rb:filter/1 function to ease report filtering (ed28348) - Add rb:re/1 to grep reports using the re module (e5bd091) - Fix minor typo in read_report/1 (07c6ad4) * wt/ssl-resume-session (ssl) (2010-01-07) 1 commit - new_ssl fix session reuse (f8358aa) * wt/ssl_certreq_send_ca_list (public_key, ssl) (2010-01-06) 1 commit - Send CA list during Certificate Request in new_ssl (638ad46) * yh/fix-re-run-corruption (erts) (2010-01-07) 1 commit - Fix re:run/3 sometimes executes on corrupted data by garbage collection (9ac35e8) ------------------------------------------------------------ [Dropped] * fh/common_test-includes (common_test) (2009-12-24) 2 commits . change the examples' -include to -include_lib with ct.hrl (3a991e2) . change -include for -include_lib to avoid compile errors (48420a4) The system does not build from scratch when this branch is included because the common_test application is not included in the bootstrap. Since this feature has been requested many times in the past, we plan to fix the build problem (by including test_server.hrl in the bootstrap) and re-instate this branch. * jp/gcc-detection-in-makefiles (erts) (2009-12-16) 1 commit . Fix GCC detection in ERTS configure script and Makefiles (84e0caf) This branches clashes with other work being done to better support cross compilation. We will include the functionality in this branch in R13B04, but in a slightly different way. From peppe@REDACTED Thu Jan 14 15:46:04 2010 From: peppe@REDACTED (Peter Andersson) Date: Thu, 14 Jan 2010 15:46:04 +0100 Subject: [erlang-patches] patch: common_test include vs. include_lib In-Reply-To: <8b9ee55b0912241129s59eab3eag209fb7c1381c5c7e@mail.gmail.com> References: <8b9ee55b0912241129s59eab3eag209fb7c1381c5c7e@mail.gmail.com> Message-ID: <4B4F2E2C.8030501@erix.ericsson.se> Hi Fred, Thanks for the fix! Problem is that for this to work (to use include_lib instead of include in ct.hrl), test_server and common_test must be included in the bootstrap compiler, or we fail to build common_test for our nightly tests. That said, I agree it's a lot nicer to use include_lib so that test suites can be manually compiled with the hassle of specifying include paths to test_server and common_test. Therefore we've decided to modify the bootstrap compiler and include your fix as soon as possible. Actually, we have looked into changing this before. But since test suite compilation is performed automatically by common_test, and because of the problem mentioned above, we never prioritized it. But like I said, we do realize the benefit of being able to compile test suites manually without invoking common_test, and since you take the time now to send us this patch, we'll finally do something about it. Best regards, Peter Erlang/OTP, Ericsson AB Fred Hebert wrote: > I've changed the 'ct.hrl' include file to call 'include_lib' on > 'test_server.hrl' rather than a straight include. > I've also updated the example code in the documentation to use 'include_lib' > rather than a straight 'include' for 'ct.hrl' in order to be constant. > > The current standard include is annoying because during compilation you get > errors about files not being found. The only workarounds I found on the web > were to define your own ct.hrl file or to give the include paths to the > compiler. As far as I know, this is because common_test hasn't always been > distributed with the OTP libs and it looks like it stayed the same after > being included (correct me if I'm wrong). This fix should make it work like > any other library include without breaking old code, given the workarounds > should still work now. > > branch: http://github.com/ferd/otp/tree/common_test_includes > > git fetch git://github.com/ferd/otp.git common_test_includes > > From mononcqc@REDACTED Thu Jan 14 16:58:01 2010 From: mononcqc@REDACTED (Fred Hebert) Date: Thu, 14 Jan 2010 10:58:01 -0500 Subject: [erlang-patches] patch: common_test include vs. include_lib In-Reply-To: <4B4F2E2C.8030501@erix.ericsson.se> References: <8b9ee55b0912241129s59eab3eag209fb7c1381c5c7e@mail.gmail.com> <4B4F2E2C.8030501@erix.ericsson.se> Message-ID: <8b9ee55b1001140758j23b436c5k6e95eadb2a5ede2a@mail.gmail.com> On Thu, Jan 14, 2010 at 9:46 AM, Peter Andersson wrote: > Hi Fred, > > Thanks for the fix! > > Problem is that for this to work (to use include_lib instead of include > in ct.hrl), test_server and common_test must be included in the > bootstrap compiler, or we fail to build common_test for our nightly > tests. That said, I agree it's a lot nicer to use include_lib so that > test suites can be manually compiled with the hassle of specifying > include paths to test_server and common_test. Therefore we've decided to > modify the bootstrap compiler and include your fix as soon as possible. > > Actually, we have looked into changing this before. But since test suite > compilation is performed automatically by common_test, and because of > the problem mentioned above, we never prioritized it. But like I said, > we do realize the benefit of being able to compile test suites manually > without invoking common_test, and since you take the time now to send us > this patch, we'll finally do something about it. > > Best regards, > Peter > > Erlang/OTP, Ericsson AB > > Oh, alright, thanks for the explanation. I had seen that the branch did not graduate because of build problems with the bootstrap compiler, but not knowing the Erlang process for that kind of stuff, I was at a loss on how to fix this. Thanks guys, it's going to be helpful, especially on Windows, where the install procedure is a bit vague from the quick searches I've done (I instead created my own ct.hrl to deal with this in my personal projects). From klyr@REDACTED Thu Jan 14 17:45:36 2010 From: klyr@REDACTED (Julien Barbot) Date: Thu, 14 Jan 2010 17:45:36 +0100 Subject: [erlang-patches] What's cooking in erlang/otp (2010-01-08) In-Reply-To: <4B473FD6.7040307@gmail.com> References: <4B473FD6.7040307@gmail.com> Message-ID: <4B4F4A30.8010901@quicheaters.org> Bj?rn Gustavsson wrote: > This time, three branches have been dropped because of > problems found by the automatic tests. > * jb/atom-table-size-env (erts, otp) (2009-12-21) 1 commit > . Added ERL_ATOM_TABLE_SIZE environment variable (f1bf944) > > Does not build on Windows. (MIN and MAX macros are not defined > on Windows.) MIN and MAX macros are now defined when compiling on windows. git fetch git://github.com/klyr/otp.git atom_table_size_env Regards, -- Julien Barbot From nem@REDACTED Fri Jan 15 03:29:56 2010 From: nem@REDACTED (Geoff Cant) Date: Fri, 15 Jan 2010 15:29:56 +1300 Subject: [erlang-patches] HiPE for darwin/amd64 In-Reply-To: (Geoff Cant's message of "Tue, 12 Jan 2010 23:09:13 +1300") References: Message-ID: Geoff Cant writes: > The ugliest part of the patch is making -pagezero_size a member of > LDFLAGS in erts/configure.in as this applies it to all compiled executables > instead of just the emulator target. If I could decipher where in the > autoconf/make jumble I could put it to be minimally invasive, I'd do > that instead. > > The code is a fork of ccase/r13b04_dev on github: > > git fetch git://github.com/archaelus/otp.git hipe_darwin_amd64 I think I've improved this patch to set amd64BEAMLDFLAGS for darwin only in erts/emulator/Makefile.in - the pagezero LDFLAG now only applies to building BEAM executables. git fetch git://github.com/archaelus/otp.git hipe_darwin_amd64 Cheers, -- Geoff Cant From dmitriy.budashny@REDACTED Fri Jan 15 11:09:20 2010 From: dmitriy.budashny@REDACTED (Dmitriy Budashny) Date: Fri, 15 Jan 2010 12:09:20 +0200 Subject: [erlang-patches] Re: small patch for tv In-Reply-To: <6672d0160912010521scbebe49nb1b923d30d23e83f@mail.gmail.com> References: <891161a10910220722s2cbae812pddbe8fcc1387a263@mail.gmail.com> <891161a10910230139w78c1e1aaj8cc90b9f777641b1@mail.gmail.com> <891161a10911302243t594c529frcdfc2a949ab736a7@mail.gmail.com> <891161a10911302344x35055a57xca03d09707fcc7b5@mail.gmail.com> <6672d0160912010224i11ad621ei5e803bc618b832b3@mail.gmail.com> <891161a10912010441o66aaf8a0q8a4adc590d319e61@mail.gmail.com> <6672d0160912010521scbebe49nb1b923d30d23e83f@mail.gmail.com> Message-ID: <891161a11001150209m2161403cj55f78b725c9301cb@mail.gmail.com> 2009/12/1 Bj?rn Gustavsson > I cannot reproduce the problem. I assume it has something > to do with your window manager. > > We'll let it in cook in the 'pu' branch for a while. > > Unless someone finds any problem with the fix or a better > way to correct the bug, I think we should include this fix > in the R13B04 release. > I've done a little research and found that the problem was with one of the constants: tv_pd_int_def.hrl: -define(NOF_GRIDROWS, 35). %% 29 You can reproduce the problem by resizing table window vertically, when NofRowsShown (a variable from tv_pg_gridfcns:resize_grid) become more than 35 (that's around 32-33 rows in a grid), you have to get your window crashed. So the easiest way to fix this problem, is to increase this constant, but it'll be yet another work-around. Other way is not only about adding new rows to Column Frames, but there is a need to fix button's code to be able to create new buttons on the fly. For my bad, I stuck in debugging of the new rows adding. Maybe you can help me by advice on how to debug gs objects. -- wbr, dym From bgustavsson@REDACTED Fri Jan 15 14:52:22 2010 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Fri, 15 Jan 2010 14:52:22 +0100 Subject: [erlang-patches] What's cooking in erlang/otp (2010-01-08) In-Reply-To: <4B4F4A30.8010901@quicheaters.org> References: <4B473FD6.7040307@gmail.com> <4B4F4A30.8010901@quicheaters.org> Message-ID: <6672d0161001150552x536c8a4dpdd51a7d29bd139ed@mail.gmail.com> 2010/1/14 Julien Barbot : > MIN and MAX macros are now defined when compiling on windows. > > git fetch git://github.com/klyr/otp.git atom_table_size_env Thanks! I will include the branch in 'pu' next I'll push. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From bgustavsson@REDACTED Fri Jan 15 16:04:36 2010 From: bgustavsson@REDACTED (=?ISO-8859-1?Q?Bj=F6rn_Gustavsson?=) Date: Fri, 15 Jan 2010 16:04:36 +0100 Subject: What's cooking in erlang/otp (2010-01-15) Message-ID: <4B508404.5040800@gmail.com> ------------------------------------------------------------ [Included in ccase/r13b04] * bd/http_chunk_fix (inets) (2009-11-27) 1 commit . http_chunk data handling/passing improvement. (c2553be) * km/http-host-header-fix (inets) (2009-12-21) 1 commit . Fix inets HTTP client bug crafting Host header when port is not 80 (75a3f7c) The changes in these two topic branches has been included in the development branch and will be included in R13B04. The authors of the patches will be credited in the release notes. ------------------------------------------------------------ [Graduated] * egil/binary-gc (erts) (2010-01-07) 4 commits + Add documentation for binary heap size settings. (51964ac) + Add tracing capabilities for binary virtual heap (97e5d25) + Add min heap size start options to beam and erl (647a2b4) + Improve binary garbage collection (6fd44e6) ------------------------------------------------------------ [New topics] * bg/compiler-beam_validator (compiler, erts, kernel, orber, otp, stdlib) (2010-01-15) 2 commits - Update primary bootstrap (10737ba) - beam_validator: fix incorrect assumptions about GC guard BIFs (31e231d) * gc/hipe_darwin_amd64 (erts) (2010-01-12) 4 commits - Fix hipe memory allocation problems on darwin/amd64. (32ca14f) - Porting x86 darwin fixes to amd64 darwin hipe asm/m4 code. (427f1db) - Automatically enable hipe for darwin/amd64 builds. (43ae4b7) - Allow configure to enable_hipe for darwin/amd64 builds. (733ce7a) ------------------------------------------------------------ [Reinstated] * fh/common_test-includes (common_test, otp) (2009-12-24) 2 commits - make it possible to include ct.hrl using include_lib (28440a9) - Include test_servers's include files in the bootstrap (4bcf607) * jb/atom_table_size_env (erts, otp) (2009-12-21) 1 commit - Added ERL_ATOM_TABLE_SIZE environment variable (ca57c14) ------------------------------------------------------------ [Cooking] * at/odbc_osx_fix (odbc) (2009-11-30) 1 commit - Workaround broken ODBC implementation on OSX 10.5 (88c71c9) * cf/compile_warning_as_error (compiler, erts) (2009-12-15) 3 commits - Add option -Werror in erlc(1) (d29a335) - compile: add flag warnings_as_errors to treat warnings as errors (13124f5) - compile.erl: remove trailing whitespace (8a944af) * cf/epp-macro-overloading (otp, stdlib) (2009-12-10) 4 commits - update the documentation on preprocessor in the reference manual (162ec27) - epp: change rules to choose the right version of a macro (8dcc9f8) - epp: Add support of macros overloading (f7a8959) - epp: fix bug in the function scan_undef (52543e0) Extend the pre-processor to allow overloading of macros with the same name but different arities. Now with documentation. * db/tv_nthtail_fix (tv) (2009-12-01) 1 commit - Fix for tv which restarts while trying to open a table (abe0759) We will cook this topic for a while and include it in the next release unless someone finds a problem with it or a better fix. * is/mnesia-send-compressed (mnesia) (2010-01-11) 2 commits - Update documentation to describe the new Mnesia option "send_compressed" (583d00b) - Add option to compress data when copying tables between Mnesia nodes (86f786e) * jp/dependencies_makefile (compiler, erts) (2010-01-12) 2 commits - squash! fix snprintf for Windows (bf2708d) - Add dependencies Makefile generation to erlc(1) and compile(3) (7cbc437) Now also builds on Windows. * pan/enable_m32_build (erts, otp) (2009-12-08) 1 commit - Teach configure --enable-m32-build for forcing a 32-bit build (15c7817) * po/odbc-update-delete-no-rows (odbc) (2009-11-26) 1 commit - SQL_NO_DATA and SQLSTATE 00000 indicate success for updates/deletes that affect no rows (1a564f8) * sc/sctp-connect-nowait (kernel) (2009-12-21) 1 commit - Implement a non-blocking SCTP connect (ae3d819) * uw/shell-tab-completion (stdlib) (2009-12-17) 1 commit - Shell tab completion now works for quoted module and function names (1c3a6c8) * va/rb-improvements (sasl) (2009-12-25) 4 commits - New function to filter reports by date (5391383) - New rb:filter/1 function to ease report filtering (ed28348) - Add rb:re/1 to grep reports using the re module (e5bd091) - Fix minor typo in read_report/1 (07c6ad4) * wt/ssl-resume-session (ssl) (2010-01-07) 1 commit - new_ssl fix session reuse (f8358aa) * wt/ssl_certreq_send_ca_list (public_key, ssl) (2010-01-06) 1 commit - Send CA list during Certificate Request in new_ssl (638ad46) * yh/fix-re-run-corruption (erts) (2010-01-07) 1 commit - Fix re:run/3 sometimes executes on corrupted data by garbage collection (9ac35e8) From tuncer.ayaz@REDACTED Fri Jan 15 17:59:27 2010 From: tuncer.ayaz@REDACTED (Tuncer Ayaz) Date: Fri, 15 Jan 2010 17:59:27 +0100 Subject: [RFC PATCH] Ignore {error,eexist} in filelib:ensure_dir/1 Message-ID: <4ac8254d1001150859w59dcb11cj3041ddc287185aba@mail.gmail.com> Ignore {error,eexist} in filelib:ensure_dir/1 This is about the non-atomicity of filelib:ensure_dir/1. When using filelib:ensure_dir/1 from multiple processes to create the same path or parts of the same directory structure (which happens with rebar's worker processes) it happens quite a lot that between a file:read_file_info/1 and file:make_dir/1 one of the other procs has already created the directory we want to create. mkdir(1) says one of the following depending on which Unix like system you're on: "no error if existing" "no error will be reported if a directory given as an operand already exists" I've seen more than one Erlang project where the return value of ensure_dir/1 is ignored completely. I think {error,eexist} is safe to ignore and letting ensure_dir/1 ignore eexist will lead to people either ditching their own eexist ignoring wrappers or start caring about ensure_dir/1's return value now that they can use 'ok = ensure_dir(Path)'. lib/stdlib/src/filelib.erl | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletions(-) git fetch git://github.com/tuncer/otp.git ensure_dir_eexist -- I couldn't completely agree on the indenting of nested cases based on the rest of filelib.erl so please let me know if this is not compliant :). -- From dmitriy.budashny@REDACTED Sat Jan 16 09:20:42 2010 From: dmitriy.budashny@REDACTED (Dmitriy Budashny) Date: Sat, 16 Jan 2010 10:20:42 +0200 Subject: [erlang-patches] Re: small patch for tv In-Reply-To: <891161a11001150209m2161403cj55f78b725c9301cb@mail.gmail.com> References: <891161a10910220722s2cbae812pddbe8fcc1387a263@mail.gmail.com> <891161a10910230139w78c1e1aaj8cc90b9f777641b1@mail.gmail.com> <891161a10911302243t594c529frcdfc2a949ab736a7@mail.gmail.com> <891161a10911302344x35055a57xca03d09707fcc7b5@mail.gmail.com> <6672d0160912010224i11ad621ei5e803bc618b832b3@mail.gmail.com> <891161a10912010441o66aaf8a0q8a4adc590d319e61@mail.gmail.com> <6672d0160912010521scbebe49nb1b923d30d23e83f@mail.gmail.com> <891161a11001150209m2161403cj55f78b725c9301cb@mail.gmail.com> Message-ID: <891161a11001160020p3ce06c15ubcc0703f005217bd@mail.gmail.com> I don't know if I'll be able to find in the nearest future some more time to look at this problem, so I decided to send not fully finished patch: git fetch git://github.com/dym/otp.git tv_resize_fix Here you can find only fix for vertical resize, but there is also some problems with horizontal resizing: =ERROR REPORT==== 16-Jan-2010::10:05:28 === Error in process <0.176.0> on node 'nonode@REDACTED' with exit value: {function_clause,[{tv_pg_gridfcns,update_row_ids,[[[{1119,<0.166.0>},{1131,<0.166.0>},{1143,<0.166.0>},{1163,<0.166.0>},{1187,<0.166.0>},{1199,<0.166.0>},{1211,<0.166.0>},{1223,<0.166.0>},{1235,<0.166.0>},{1247,<0.166.0>}],[{1121,<0.166.0>},{1133,<0.166.0>},{1145,<0.166.0>},{1167,<0.166.0>},{1189,<0.166.0>},{1201,<0.166.0>},{1213,<0.166.0>},{1225,<0.166.0>},{1237,<0.166.0>},{1249,<0.166.0>}],[{1123,<0.166.0>},{1135,<0.166.0>},{1147,<0.166.0>},{1171,<0.166.0>},{1191,<0.166.0>},{1203,<0.166.0>},{1215,<0.166.0>},{1227,<0.166.0>},{1239,<0.166.0>},{1251,<0.166.0>}],[{1125,<0.166.0>},{1137,<0.166.0>},{1151,<0.166.0>},{1175,<0.166.0>},{1193,<0.166.0>},{1205,<0.166.0>},{1217,<0.166.0>},{1229,<0.166.0>},{1241,<0.166.0>},{1253,<0.166.0>}],[{1127,<0.166.0>},{1139,<0.166.0>},{1155,<0.166.0>},{1179,<0.166.0>},{1195,<0.166.0>},{1207,<0.166.0>},{1219,<0.166.0>},{1231,<0.166.0>... Internal error... restarting. PS: that error was the reason why I asked how to debug those gs objects, they look so easy to understand :) 2010/1/15 Dmitriy Budashny > 2009/12/1 Bj?rn Gustavsson > >> I cannot reproduce the problem. I assume it has something >> >> to do with your window manager. >> >> We'll let it in cook in the 'pu' branch for a while. >> >> Unless someone finds any problem with the fix or a better >> way to correct the bug, I think we should include this fix >> in the R13B04 release. >> > > I've done a little research and found that the problem was with one of the > constants: > > tv_pd_int_def.hrl: > -define(NOF_GRIDROWS, 35). %% 29 > > You can reproduce the problem by resizing table window vertically, when > NofRowsShown (a variable from tv_pg_gridfcns:resize_grid) become more than > 35 (that's around 32-33 rows in a grid), you have to get your window > crashed. > > So the easiest way to fix this problem, is to increase this constant, but > it'll be yet another work-around. > Other way is not only about adding new rows to Column Frames, but there is > a need to fix button's code to be able to create new buttons on the fly. > > For my bad, I stuck in debugging of the new rows adding. Maybe you can help > me by advice on how to debug gs objects. > > -- > wbr, dym > -- wbr, dym From rory@REDACTED Sat Jan 16 18:46:25 2010 From: rory@REDACTED (Rory Byrne) Date: Sat, 16 Jan 2010 18:46:25 +0100 Subject: Fixes for unicode handling in re module Message-ID: <20100116174625.GA20358@almeida.jinsky.com> Hi, I've added fixes for three unicode-related bugs in the re module: git fetch git://github.com/jinsky/otp.git stdlib_re_unicode_fixes There's actually a forth bug that's in re:split/3, but it won't show up in tests at the moment due to a bug in re:compile where the unicode flag is being ignored (which I mentioned on the erlang-bugs mailing list). It's pretty much the same as the one fixed in 5073a1b7b and it's mentioned in the comment for that commit. On a side note, I think it would be really helpful if re:run/3 was changed to accept chardata (charlists or binaries) rather than just charlists. At the moment it's a hazard that it won't accept binaries for Subject input when unicode REs are used. Is this sensible? Eshell V5.7.5 (abort with ^G) 1> re:run("hello", "\x{400}", [unicode]). nomatch 2> re:run(<<"hello">>, "\x{400}", [unicode]). ** exception error: bad argument in function re:run/3 called as re:run(<<"hello">>,[1024],[unicode]) 3> re:run([<<"hello">>], "\x{400}", [unicode]). nomatch 4> I've already fallen victim to this on a number of occasions, and you can see from the patches that I'm not alone. I'm not a C coder so I can't offer a patch for the re:run BIF. But if you want to rename the BIF to 'do_run', or whatever, I'd happily write up a run/3 in erlang that normalises input and then calls it! By the way, both the unicode and the re modules are amazingly useful. Thanks so much for adding them! Cheers, Rory From bgustavsson@REDACTED Sun Jan 17 17:01:59 2010 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Sun, 17 Jan 2010 17:01:59 +0100 Subject: [erlang-patches] [RFC PATCH] Ignore {error,eexist} in filelib:ensure_dir/1 In-Reply-To: <4ac8254d1001150859w59dcb11cj3041ddc287185aba@mail.gmail.com> References: <4ac8254d1001150859w59dcb11cj3041ddc287185aba@mail.gmail.com> Message-ID: <6672d0161001170801k4dbd7c7vafe3333965d35c71@mail.gmail.com> On Fri, Jan 15, 2010 at 5:59 PM, Tuncer Ayaz wrote: > git fetch git://github.com/tuncer/otp.git ensure_dir_eexist > > -- > I couldn't completely agree on the indenting of nested cases > based on the rest of filelib.erl so please let me know if > this is not compliant :). We use 8-step tabs and indent 4 steps using a mixture of TABs and spaces. (As done automatically by the Erlang mode in Emacs.) I have fixed the indentation and included your patch in 'pu'. However, one problem with the patch is that if there already is a file with the same directory that you are trying to create, 'ok' will be returned. One way to fix the problem would be change to unconditionally attempt to create each directory. If creation fails with eexist, it should be tested whether there already is a directory. If yes, return 'ok', otherwise return {error,eexist}. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From bgustavsson@REDACTED Sun Jan 17 17:07:57 2010 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Sun, 17 Jan 2010 17:07:57 +0100 Subject: [erlang-patches] Fixes for unicode handling in re module In-Reply-To: <20100116174625.GA20358@almeida.jinsky.com> References: <20100116174625.GA20358@almeida.jinsky.com> Message-ID: <6672d0161001170807i30da57afoe40473c9cc7f9084@mail.gmail.com> On Sat, Jan 16, 2010 at 6:46 PM, Rory Byrne wrote: > I've added fixes for three unicode-related bugs in the re module: > > ? ?git fetch git://github.com/jinsky/otp.git stdlib_re_unicode_fixes Thanks! I have removed some trailing whitespace (using "git rebase --whitespace=fix") and included the result in 'pu'. I also thinks that the commit that introduces a failing test case should be combined with the commit that corrects the bug, in order to keep the history bisectable: http://www.kernel.org/pub/software/scm/git/docs/git-bisect-lk2009.html If you agree that is a good change, you can either combine the commits yourself or I could do it for you. If you have a strong reason for keeping the commits separate, I would like to hear about it. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From rory@REDACTED Sun Jan 17 21:14:25 2010 From: rory@REDACTED (Rory Byrne) Date: Sun, 17 Jan 2010 21:14:25 +0100 Subject: [erlang-patches] Fixes for unicode handling in re module In-Reply-To: <6672d0161001170807i30da57afoe40473c9cc7f9084@mail.gmail.com> References: <20100116174625.GA20358@almeida.jinsky.com> <6672d0161001170807i30da57afoe40473c9cc7f9084@mail.gmail.com> Message-ID: <20100117201425.GA9715@almeida.jinsky.com> On Sun, Jan 17, 2010 at 05:07:57PM +0100, Bj?rn Gustavsson wrote: > On Sat, Jan 16, 2010 at 6:46 PM, Rory Byrne wrote: > > I've added fixes for three unicode-related bugs in the re module: > > > > ? ?git fetch git://github.com/jinsky/otp.git stdlib_re_unicode_fixes > > Thanks! > > I have removed some trailing whitespace (using > "git rebase --whitespace=fix") and included the result in 'pu'. Good tip, I fixed my branch. Sorry about that. > I also thinks that the commit that introduces a failing > test case should be combined with the commit that > corrects the bug, in order to keep the history bisectable: > > http://www.kernel.org/pub/software/scm/git/docs/git-bisect-lk2009.html > > If you agree that is a good change, you can either > combine the commits yourself or I could do it for you. > If you have a strong reason for keeping the commits > separate, I would like to hear about it. Sounds good, don't know what I was thinking. I used "git rebase -i" to squash the commits and then did a "git push --force ..." to update the remote branch. Hope this is what you had in mind. Thanks, Rory From tuncer.ayaz@REDACTED Mon Jan 18 00:41:56 2010 From: tuncer.ayaz@REDACTED (Tuncer Ayaz) Date: Mon, 18 Jan 2010 00:41:56 +0100 Subject: [erlang-patches] [RFC PATCH] Ignore {error,eexist} in filelib:ensure_dir/1 In-Reply-To: <6672d0161001170801k4dbd7c7vafe3333965d35c71@mail.gmail.com> References: <4ac8254d1001150859w59dcb11cj3041ddc287185aba@mail.gmail.com> <6672d0161001170801k4dbd7c7vafe3333965d35c71@mail.gmail.com> Message-ID: <4ac8254d1001171541t516d9270md6907c80c035ab4b@mail.gmail.com> 2010/1/17 Bj?rn Gustavsson : > > I have fixed the indentation and included your patch in 'pu'. > > > However, one problem with the patch is that > if there already is a file with the same directory > that you are trying to create, 'ok' will be returned. > > One way to fix the problem would be change > to unconditionally attempt to create each directory. > If creation fails with eexist, it should be tested > whether there already is a directory. If yes, > return 'ok', otherwise return {error,eexist}. Redid the branch with a new commit which should address this and also made sure indentation is correct. git fetch git://github.com/tuncer/otp.git ensure_dir_eexist -----8<----- This is about the non-atomicity of filelib:ensure_dir/1. When using filelib:ensure_dir/1 from multiple processes to create the same path or parts of the same directory structure (which happens with rebar's worker processes) it happens quite a lot that between a file:read_file_info/1 and file:make_dir/1 one of the other procs has already created the directory we want to create. mkdir(1) says one of the following for -p depending on which Unix like system you're on: "no error if existing" "no error will be reported if a directory given as an operand already exists" I've seen more than one Erlang project where the return value of ensure_dir/1 is ignored completely. I think {error,eexist} is safe to ignore and letting ensure_dir/1 ignore eexist will lead to people either removing their own eexist ignoring wrappers or start caring about ensure_dir/1's return value now that they can use 'ok = ensure_dir(Path)'. Signed-off-by: Tuncer Ayaz --- lib/stdlib/src/filelib.erl | 12 +++++++++++- 1 files changed, 11 insertions(+), 1 deletions(-) diff --git a/lib/stdlib/src/filelib.erl b/lib/stdlib/src/filelib.erl index d65588f..3acc40e 100644 --- a/lib/stdlib/src/filelib.erl +++ b/lib/stdlib/src/filelib.erl @@ -228,7 +228,17 @@ ensure_dir(F) -> ok; false -> ensure_dir(Dir), - file:make_dir(Dir) + case file:make_dir(Dir) of + {error,eexist}=EExist -> + case do_is_dir(Dir, file) of + true -> + ok; + false -> + EExist + end; + Err -> + Err + end end. ----->8----- From bgustavsson@REDACTED Mon Jan 18 08:42:59 2010 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Mon, 18 Jan 2010 08:42:59 +0100 Subject: [erlang-patches] [RFC PATCH] Ignore {error,eexist} in filelib:ensure_dir/1 In-Reply-To: <4ac8254d1001171541t516d9270md6907c80c035ab4b@mail.gmail.com> References: <4ac8254d1001150859w59dcb11cj3041ddc287185aba@mail.gmail.com> <6672d0161001170801k4dbd7c7vafe3333965d35c71@mail.gmail.com> <4ac8254d1001171541t516d9270md6907c80c035ab4b@mail.gmail.com> Message-ID: <6672d0161001172342h48c013c3t6a4764039076ed65@mail.gmail.com> 2010/1/18 Tuncer Ayaz : > Redid the branch with a new commit which should > address this and also made sure indentation is correct. > > git fetch git://github.com/tuncer/otp.git ensure_dir_eexist Thanks! The code looks good and I have included your updated branch in 'pu'. However, I think that the commit message needs some attention now that you have made the code more safe. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From bgustavsson@REDACTED Mon Jan 18 08:44:32 2010 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Mon, 18 Jan 2010 08:44:32 +0100 Subject: [erlang-patches] Fixes for unicode handling in re module In-Reply-To: <20100117201425.GA9715@almeida.jinsky.com> References: <20100116174625.GA20358@almeida.jinsky.com> <6672d0161001170807i30da57afoe40473c9cc7f9084@mail.gmail.com> <20100117201425.GA9715@almeida.jinsky.com> Message-ID: <6672d0161001172344p5ec07f28h2c2dcbc76816f02e@mail.gmail.com> On Sun, Jan 17, 2010 at 9:14 PM, Rory Byrne wrote: > I used "git rebase -i" to squash the commits and then did a > "git push --force ..." to update the remote branch. > > Hope this is what you had in mind. Excellent! That was what I had in mind. Included in 'pu'. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From tuncer.ayaz@REDACTED Mon Jan 18 18:19:23 2010 From: tuncer.ayaz@REDACTED (Tuncer Ayaz) Date: Mon, 18 Jan 2010 18:19:23 +0100 Subject: [erlang-patches] [RFC PATCH] Ignore {error,eexist} in filelib:ensure_dir/1 In-Reply-To: <6672d0161001172342h48c013c3t6a4764039076ed65@mail.gmail.com> References: <4ac8254d1001150859w59dcb11cj3041ddc287185aba@mail.gmail.com> <6672d0161001170801k4dbd7c7vafe3333965d35c71@mail.gmail.com> <4ac8254d1001171541t516d9270md6907c80c035ab4b@mail.gmail.com> <6672d0161001172342h48c013c3t6a4764039076ed65@mail.gmail.com> Message-ID: <4ac8254d1001180919u74c52bdai74bf6ffc51b429de@mail.gmail.com> 2010/1/18 Bj?rn Gustavsson : > 2010/1/18 Tuncer Ayaz : >> Redid the branch with a new commit which should >> address this and also made sure indentation is correct. >> >> git fetch git://github.com/tuncer/otp.git ensure_dir_eexist > > Thanks! The code looks good and I have included your > updated branch in 'pu'. > > However, I think that the commit message needs some > attention now that you have made the code more safe. Thanks, rewritten the commit message. Please fetch again. From bgustavsson@REDACTED Wed Jan 20 08:45:30 2010 From: bgustavsson@REDACTED (=?ISO-8859-1?Q?Bj=F6rn_Gustavsson?=) Date: Wed, 20 Jan 2010 08:45:30 +0100 Subject: What's cooking in erlang/otp (2010-01-20) Message-ID: <4B56B49A.10806@gmail.com> ------------------------------------------------------------ [Included in ccase/r13b04] * wt/ssl-resume-session (ssl) (2010-01-07) 1 commit . new_ssl fix session reuse (f8358aa) * wt/ssl_certreq_send_ca_list (public_key, ssl) (2010-01-06) 1 commit . Send CA list during Certificate Request in new_ssl (638ad46) Both of those commits have been included in ccase/r13b04 along with some minor clean-ups. [Graduated] * bg/compiler-beam_validator (compiler, erts) (2010-01-15) 1 commit + beam_validator: fix incorrect assumptions about GC guard BIFs (31e231d) * cf/compile_warning_as_error (compiler, erts) (2009-12-15) 3 commits + Add option -Werror in erlc(1) (96773eb) + compile: add flag warnings_as_errors to treat warnings as errors (5fdb43e) + compile.erl: remove trailing whitespace (fb499f1) * fh/common_test-includes (common_test, otp) (2009-12-24) 2 commits + make it possible to include ct.hrl using include_lib (f229496) + Include test_servers's include files in the bootstrap (4bcf607) * uw/shell-tab-completion (stdlib) (2009-12-17) 1 commit + Shell tab completion now works for quoted module and function names (1c3a6c8) ------------------------------------------------------------ [New topics] * bg/avoid-etop-in-include (erts) (2010-01-20) 1 commit - system test: fix build of test suites on Windows (7a4cf4b) * bg/public_key-include_lib (public_key) (2010-01-19) 1 commit - public_key: fix build of test suites on Windows (2c6d9b5) * rb/stdlib_re_unicode_fixes (stdlib) (2010-01-16) 4 commits - Refactor out repeated block in re module (8642f80) - Fix re:replace/4 to handle unicode charlist Replacement argument (5f413fe) - Fix re:replace/4 to handle unicode charlist RE argument (92c5849) - Fix re:replace/4 to handle binary unicode output when nothing replaced (dcabe28) * ta/ensure_dir_eexist (stdlib) (2010-01-15) 1 commit - Don't return a false {error,eexist} in filelib:ensure_dir/1 (ecd339d) ------------------------------------------------------------ [Cooking] * at/odbc_osx_fix (odbc) (2009-11-30) 1 commit - Workaround broken ODBC implementation on OSX 10.5 (88c71c9) * cf/epp-macro-overloading (otp, stdlib) (2009-12-10) 4 commits - update the documentation on preprocessor in the reference manual (162ec27) - epp: change rules to choose the right version of a macro (8dcc9f8) - epp: Add support of macros overloading (f7a8959) - epp: fix bug in the function scan_undef (52543e0) Extend the pre-processor to allow overloading of macros with the same name but different arities. * db/tv_nthtail_fix (tv) (2009-12-01) 1 commit - Fix for tv which restarts while trying to open a table (abe0759) The author of this topic branch has found the real reason for the problem and has made some progress in resolving it. * gc/hipe_darwin_amd64 (erts) (2010-01-12) 4 commits - Fix hipe memory allocation problems on darwin/amd64. (32ca14f) - Porting x86 darwin fixes to amd64 darwin hipe asm/m4 code. (427f1db) - Automatically enable hipe for darwin/amd64 builds. (43ae4b7) - Allow configure to enable_hipe for darwin/amd64 builds. (733ce7a) * is/mnesia-send-compressed (mnesia) (2010-01-11) 2 commits - Update documentation to describe the new Mnesia option "send_compressed" (583d00b) - Add option to compress data when copying tables between Mnesia nodes (86f786e) * jb/atom_table_size_env (erts, otp) (2009-12-21) 1 commit - Added ERL_ATOM_TABLE_SIZE environment variable (ca57c14) * jp/dependencies_makefile (compiler, erts) (2010-01-12) 2 commits - squash! fix snprintf for Windows (bf2708d) - Add dependencies Makefile generation to erlc(1) and compile(3) (7cbc437) Now also builds on Windows. * pan/enable_m32_build (erts, otp) (2009-12-08) 1 commit - Teach configure --enable-m32-build for forcing a 32-bit build (15c7817) * po/odbc-update-delete-no-rows (odbc) (2009-11-26) 1 commit - SQL_NO_DATA and SQLSTATE 00000 indicate success for updates/deletes that affect no rows (1a564f8) * sc/sctp-connect-nowait (kernel) (2009-12-21) 1 commit - Implement a non-blocking SCTP connect (ae3d819) * va/rb-improvements (sasl) (2009-12-25) 4 commits - New function to filter reports by date (5391383) - New rb:filter/1 function to ease report filtering (ed28348) - Add rb:re/1 to grep reports using the re module (e5bd091) - Fix minor typo in read_report/1 (07c6ad4) * yh/fix-re-run-corruption (erts) (2010-01-07) 1 commit - Fix re:run/3 sometimes executes on corrupted data by garbage collection (9ac35e8) ------------------------------------------------------------ [Dropped] * jp/gcc-detection-in-makefiles (erts) (2009-12-16) 1 commit . Fix GCC detection in ERTS configure script and Makefiles (84e0caf) This feature has now been implemented in a slightly different way in commit 9ef7d5424fee7cd703f6fad30786358ec36a3749. From fritchie@REDACTED Wed Jan 20 10:52:55 2010 From: fritchie@REDACTED (Scott Lystig Fritchie) Date: Wed, 20 Jan 2010 03:52:55 -0600 Subject: erl_interface: Allow erl_match() to match ERL_LONGLONG and ERL_U_LONGLONG terms. Message-ID: <62150.1263981175@snookles.snookles.com> Hi, all. I've created a tiny github fork & branch to allow the erl_interface's erl_match() function to grok ERL_LONGLONG and ERL_U_LONGLONG term types. The Erlang/OTP distro now includes 90% of what's required to handle signed and unsigned ints up to 8 bytes long, so add this remaining (?) 10%. git fetch git@REDACTED:slfritchie/otp.git erl_match-longlong -Scott From bgustavsson@REDACTED Wed Jan 20 11:15:44 2010 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Wed, 20 Jan 2010 11:15:44 +0100 Subject: [erlang-patches] erl_interface: Allow erl_match() to match ERL_LONGLONG and ERL_U_LONGLONG terms. In-Reply-To: <62150.1263981175@snookles.snookles.com> References: <62150.1263981175@snookles.snookles.com> Message-ID: <6672d0161001200215j17aa12b9n82d39aa51e58d3fd@mail.gmail.com> On Wed, Jan 20, 2010 at 10:52 AM, Scott Lystig Fritchie wrote: > Hi, all. I've created a tiny github fork & branch to allow the > erl_interface's erl_match() function to grok ERL_LONGLONG and > ERL_U_LONGLONG term types. The Erlang/OTP distro now includes 90% of > what's required to handle signed and unsigned ints up to 8 bytes long, > so add this remaining (?) 10%. > > git fetch git@REDACTED:slfritchie/otp.git erl_match-longlong Thanks! Included in 'pu'. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From andrew@REDACTED Wed Jan 20 17:43:36 2010 From: andrew@REDACTED (Andrew Thompson) Date: Wed, 20 Jan 2010 11:43:36 -0500 Subject: [erlang-patches] Re: patch for sys:get_status to call format_status/2 In-Reply-To: <65b2728e0911271331o19f3c266kb454c461eb2ae049@mail.gmail.com> References: <65b2728e0908260612yfd6c1c9ke8f6f3d9a5b652f8@mail.gmail.com> <65b2728e0911271031s16821809sc005c421956609ac@mail.gmail.com> <6672d0160911271154y6f7bdc9dqcf2d1bfb10bf6469@mail.gmail.com> <65b2728e0911271331o19f3c266kb454c461eb2ae049@mail.gmail.com> Message-ID: <20100120164336.GC1036@hijacked.us> On Fri, Nov 27, 2009 at 04:31:50PM -0500, Steve Vinoski wrote: > 2009/11/27 Bj?rn Gustavsson > > > On Fri, Nov 27, 2009 at 7:31 PM, Steve Vinoski wrote: > > > Since I never got a response on the patch below that I submitted in > > August, > > > I've just resubmitted the patch below via a fork and a pull request on > > > github.com. Let me know if anything's missing or if more is needed. For > > > example, this is undocumented, and I wasn't sure if this should be > > > documented in sys, gen_server, gen_fsm, or all the above so I left it > > > undocumented. > > > > Thanks! > > > > If we are going to include it in OTP, it should be documented so that > > people will know about it. I think that it should be documented in all > > the places you mentioned (get_status() and callback function in sys, > > the callback functions for the other modules). > > > > Running the test suite with your modified sys, there is one failing > > test case in gen_fsm_SUITE in the Stdlib test suite. Can you have > > a look at that? > > > > I have just added a new wiki page on how to run the tests: > > > > http://wiki.github.com/erlang/otp/running-tests > > > Yes, I'll happily look at the test and also work on the documentation. > Thanks! > Steve, I'd love to see this patch make it in to erlang ASAP, are you making any progress or can I provide some help in getting it ready? Andrew From vinoski@REDACTED Wed Jan 20 19:02:30 2010 From: vinoski@REDACTED (Steve Vinoski) Date: Wed, 20 Jan 2010 13:02:30 -0500 Subject: [erlang-patches] Re: patch for sys:get_status to call format_status/2 In-Reply-To: <20100120164336.GC1036@hijacked.us> References: <65b2728e0908260612yfd6c1c9ke8f6f3d9a5b652f8@mail.gmail.com> <65b2728e0911271031s16821809sc005c421956609ac@mail.gmail.com> <6672d0160911271154y6f7bdc9dqcf2d1bfb10bf6469@mail.gmail.com> <65b2728e0911271331o19f3c266kb454c461eb2ae049@mail.gmail.com> <20100120164336.GC1036@hijacked.us> Message-ID: <65b2728e1001201002h299ae278xc5f8c5a8d37e7164@mail.gmail.com> On Wed, Jan 20, 2010 at 11:43 AM, Andrew Thompson wrote: > > Steve, > > I'd love to see this patch make it in to erlang ASAP, are you making any > progress or can I provide some help in getting it ready? According to the github tree, these changes were incorporated around the end of November. Have a look at sys.erl and gen_fsm.erl here, for example: --steve From jay@REDACTED Thu Jan 21 16:23:05 2010 From: jay@REDACTED (Jay Nelson) Date: Thu, 21 Jan 2010 07:23:05 -0800 Subject: Questions about git and commit Message-ID: <789DE303-6C80-4715-8350-1F5B560F3FDD@duomark.com> I have modified a file in release/tests but if I try to use 'git add' it says it is a new file. How do I add and commit test SUITE files? jay From egil@REDACTED Thu Jan 21 17:30:20 2010 From: egil@REDACTED (=?ISO-8859-1?Q?Bj=F6rn-Egil_Dahlberg?=) Date: Thu, 21 Jan 2010 17:30:20 +0100 Subject: [erlang-patches] Questions about git and commit In-Reply-To: <789DE303-6C80-4715-8350-1F5B560F3FDD@duomark.com> References: <789DE303-6C80-4715-8350-1F5B560F3FDD@duomark.com> Message-ID: <4B58811C.8060704@erix.ericsson.se> Jay Nelson wrote: > I have modified a file in release/tests but if I try to use 'git add' it > says it is a new file. > > How do I add and commit test SUITE files? > > jay The test suites are located under $ERL_TOP/lib/*/test. The files under $ERL_TOP/release/tests are the "built-out" files and not part of the source. They are just derivatives. Regards, Bj?rn-Egil > > > ________________________________________________________________ > erlang-patches mailing list. See http://www.erlang.org/faq.html > erlang-patches (at) erlang.org > From tuncer.ayaz@REDACTED Sat Jan 23 00:41:47 2010 From: tuncer.ayaz@REDACTED (Tuncer Ayaz) Date: Sat, 23 Jan 2010 00:41:47 +0100 Subject: Remove mutex lock around sys_gettimeofday() in os:timestamp/0 Message-ID: <4ac8254d1001221541u2f22421cs6e75c87a21aa61fa@mail.gmail.com> Remove mutex lock around sys_gettimeofday() in os:timestamp/0 In the erlang-questions thread "os:timestamp() uses mutex lock" Jonas Falkevik questioned the need for a mutex lock in os:timestamp/0. Kenneth Lundin confirmed that the lock is not needed and asked for a patch. git fetch git://github.com/tuncer/otp.git os_timestamp_no_mutex From bgustavsson@REDACTED Sat Jan 23 09:14:15 2010 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Sat, 23 Jan 2010 09:14:15 +0100 Subject: [erlang-patches] erl_interface: Allow erl_match() to match ERL_LONGLONG and ERL_U_LONGLONG terms. In-Reply-To: <6672d0161001200215j17aa12b9n82d39aa51e58d3fd@mail.gmail.com> References: <62150.1263981175@snookles.snookles.com> <6672d0161001200215j17aa12b9n82d39aa51e58d3fd@mail.gmail.com> Message-ID: <6672d0161001230014m58ccac9ap7a8bd98f028c164b@mail.gmail.com> 2010/1/20 Bj?rn Gustavsson : > On Wed, Jan 20, 2010 at 10:52 AM, Scott Lystig Fritchie > wrote: >> Hi, all. ?I've created a tiny github fork & branch to allow the >> erl_interface's erl_match() function to grok ERL_LONGLONG and >> ERL_U_LONGLONG term types. ?The Erlang/OTP distro now includes 90% of >> what's required to handle signed and unsigned ints up to 8 bytes long, >> so add this remaining (?) 10%. >> >> git fetch git@REDACTED:slfritchie/otp.git erl_match-longlong > > Thanks! Included in 'pu'. I now see that you seems to have forgot to configure your name and email address in git. I can change the author identification in the existing commit if you want. Is it OK that I change it to the following: Scott Lystig Fritchie Instructions for setting up the author identification can be found at the beginning of this page: http://wiki.github.com/erlang/otp/submitting-patches -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From bgustavsson@REDACTED Sat Jan 23 10:33:54 2010 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Sat, 23 Jan 2010 10:33:54 +0100 Subject: [erlang-patches] Remove mutex lock around sys_gettimeofday() in os:timestamp/0 In-Reply-To: <4ac8254d1001221541u2f22421cs6e75c87a21aa61fa@mail.gmail.com> References: <4ac8254d1001221541u2f22421cs6e75c87a21aa61fa@mail.gmail.com> Message-ID: <6672d0161001230133i6d5a4782lc076364f5f303884@mail.gmail.com> On Sat, Jan 23, 2010 at 12:41 AM, Tuncer Ayaz wrote: > Remove mutex lock around sys_gettimeofday() in os:timestamp/0 > > In the erlang-questions thread "os:timestamp() uses mutex lock" > Jonas Falkevik questioned the need for a mutex lock in os:timestamp/0. > Kenneth Lundin confirmed that the lock is not needed and asked for > a patch. > > git fetch git://github.com/tuncer/otp.git os_timestamp_no_mutex Thanks! Since you seems to have based your branch on 'pu', I have rebased your branch on ccase/r13b04_dev. Since I have touched the commit anyway, I also edited the commit message to be more informative regarding the technical details: In the erlang-questions thread "os:timestamp() uses mutex lock" Jonas Falkevik questioned the need for a mutex lock in os:timestamp/0. The mutex lock *is* needed in erlang:now() to guarantee the uniqueness of the returned time, but serves no useful purpose in os:timestamp(). If you are not happy with this change, please edit the text and submit the branch again. (I will push 'pu' with your branch included later today.) -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From tuncer.ayaz@REDACTED Sat Jan 23 11:22:01 2010 From: tuncer.ayaz@REDACTED (Tuncer Ayaz) Date: Sat, 23 Jan 2010 11:22:01 +0100 Subject: [erlang-patches] Remove mutex lock around sys_gettimeofday() in os:timestamp/0 In-Reply-To: <6672d0161001230133i6d5a4782lc076364f5f303884@mail.gmail.com> References: <4ac8254d1001221541u2f22421cs6e75c87a21aa61fa@mail.gmail.com> <6672d0161001230133i6d5a4782lc076364f5f303884@mail.gmail.com> Message-ID: <4ac8254d1001230222p5dfd360fhc96dc6396662fe83@mail.gmail.com> 2010/1/23 Bj?rn Gustavsson : > On Sat, Jan 23, 2010 at 12:41 AM, Tuncer Ayaz wrote: >> Remove mutex lock around sys_gettimeofday() in os:timestamp/0 >> >> In the erlang-questions thread "os:timestamp() uses mutex lock" >> Jonas Falkevik questioned the need for a mutex lock in os:timestamp/0. >> Kenneth Lundin confirmed that the lock is not needed and asked for >> a patch. >> >> git fetch git://github.com/tuncer/otp.git os_timestamp_no_mutex > > Thanks! > > Since you seems to have based your branch on 'pu', I have rebased > your branch on ccase/r13b04_dev. Thanks, I wondered why Kenneth wrote "provide it as a patch to the pu branch" and due to that confusion branched off pu. My last patch was branched off ccase/r13b04_dev :). > Since I have touched the commit anyway, I also edited the > commit message to be more informative regarding the > technical details: > > ? ?In the erlang-questions thread "os:timestamp() uses mutex lock" > ? ?Jonas Falkevik questioned the need for a mutex lock in > ? ?os:timestamp/0. The mutex lock *is* needed in erlang:now() > ? ?to guarantee the uniqueness of the returned time, but serves > ? ?no useful purpose in os:timestamp(). > > If you are not happy with this change, please edit the text and > submit the branch again. I can redo the branch with the changed commit message if you prefer. > (I will push 'pu' with your branch included later today.) From tuncer.ayaz@REDACTED Sat Jan 23 11:32:17 2010 From: tuncer.ayaz@REDACTED (Tuncer Ayaz) Date: Sat, 23 Jan 2010 11:32:17 +0100 Subject: [erlang-patches] Remove mutex lock around sys_gettimeofday() in os:timestamp/0 In-Reply-To: <4ac8254d1001230222p5dfd360fhc96dc6396662fe83@mail.gmail.com> References: <4ac8254d1001221541u2f22421cs6e75c87a21aa61fa@mail.gmail.com> <6672d0161001230133i6d5a4782lc076364f5f303884@mail.gmail.com> <4ac8254d1001230222p5dfd360fhc96dc6396662fe83@mail.gmail.com> Message-ID: <4ac8254d1001230232w285040e4r6669310775c009aa@mail.gmail.com> 2010/1/23 Tuncer Ayaz : > 2010/1/23 Bj?rn Gustavsson : >> On Sat, Jan 23, 2010 at 12:41 AM, Tuncer Ayaz wrote: >>> Remove mutex lock around sys_gettimeofday() in os:timestamp/0 >>> >>> In the erlang-questions thread "os:timestamp() uses mutex lock" >>> Jonas Falkevik questioned the need for a mutex lock in os:timestamp/0. >>> Kenneth Lundin confirmed that the lock is not needed and asked for >>> a patch. >>> >>> git fetch git://github.com/tuncer/otp.git os_timestamp_no_mutex >> >> Thanks! >> >> Since you seems to have based your branch on 'pu', I have rebased >> your branch on ccase/r13b04_dev. > > Thanks, I wondered why Kenneth wrote > "provide it as a patch to the pu branch" > and due to that confusion branched off pu. > My last patch was branched off ccase/r13b04_dev :). > >> Since I have touched the commit anyway, I also edited the >> commit message to be more informative regarding the >> technical details: >> >> ? ?In the erlang-questions thread "os:timestamp() uses mutex lock" >> ? ?Jonas Falkevik questioned the need for a mutex lock in >> ? ?os:timestamp/0. The mutex lock *is* needed in erlang:now() >> ? ?to guarantee the uniqueness of the returned time, but serves >> ? ?no useful purpose in os:timestamp(). >> >> If you are not happy with this change, please edit the text and >> submit the branch again. > > I can redo the branch with the changed commit message > if you prefer. Rebuilt the branch with the changes. From bgustavsson@REDACTED Sat Jan 23 11:36:08 2010 From: bgustavsson@REDACTED (=?ISO-8859-1?Q?Bj=F6rn_Gustavsson?=) Date: Sat, 23 Jan 2010 11:36:08 +0100 Subject: What's cooking in erlang/otp (2010-01-23) Message-ID: <4B5AD118.2040209@gmail.com> There is new section in this email called "[Stalled]", in which topic branches that will need some attention in order to have a chance to graduate will be listed. ------------------------------------------------------------ [Graduated] * bg/avoid-etop-in-include (erts) (2010-01-20) 2 commits + epmd tests: fix build of test suites on Windows (862e0eb) + system test: fix build of test suites on Windows (e7433c7) * bg/public_key-include_lib (public_key) (2010-01-19) 1 commit + public_key: fix build of test suites on Windows (2c6d9b5) ------------------------------------------------------------ [Bug fixed in a different way] * yh/fix-re-run-corruption (erts) (2010-01-07) 1 commit . Fix re:run/3 sometimes executes on corrupted data by garbage collection (9ac35e8) The solution is good (and we have saved the branch in case we'll need it in the future), but we chose a simpler way to fix the problem. The author will be credited in the release notes. ------------------------------------------------------------ [New topics] * sf/erl_match-longlong (erl_interface) (2010-01-20) 1 commit - erl_interface: Allow erl_match() to match ERL_LONGLONG and ERL_U_LONGLONG terms (938ccfe) * ta/os_timestamp_no_mutex (erts) (2010-01-23) 1 commit - Remove mutex lock around sys_gettimeofday() in os:timestamp/0 (ed188cb) ------------------------------------------------------------ [Stalled] * jb/atom_table_size_env (erts, otp) (2009-12-21) 1 commit - Added ERL_ATOM_TABLE_SIZE environment variable (ca57c14) The OTP Technical Board approves adding a mechanism for adjusting the size of the atom table (downwards and upwards), but the mechanism should be an emulator option (similar to how other limits such as the minimum heap size can be changed) rather than a new environment variable. Since any emulator option can be set in the ERL_FLAGS environment variable, there is no need to introduce a new environment variable. ------------------------------------------------------------ [Cooking] * at/odbc_osx_fix (odbc) (2009-11-30) 1 commit - Workaround broken ODBC implementation on OSX 10.5 (88c71c9) * cf/epp-macro-overloading (otp, stdlib) (2009-12-10) 4 commits - update the documentation on preprocessor in the reference manual (ce896bc) - epp: change rules to choose the right version of a macro (2b3416e) - epp: Add support of macros overloading (9966991) - epp: fix bug in the function scan_undef (9a63fb0) Extend the pre-processor to allow overloading of macros with the same name but different arities. Approved by the OTP Technical Board. Should graduate soon. * db/tv_nthtail_fix (tv) (2009-12-01) 1 commit - Fix for tv which restarts while trying to open a table (abe0759) The author of this topic branch has found the real reason for the problem and has made some progress in resolving it. * gc/hipe_darwin_amd64 (erts) (2010-01-12) 4 commits - Fix hipe memory allocation problems on darwin/amd64. (32ca14f) - Porting x86 darwin fixes to amd64 darwin hipe asm/m4 code. (427f1db) - Automatically enable hipe for darwin/amd64 builds. (43ae4b7) - Allow configure to enable_hipe for darwin/amd64 builds. (733ce7a) * is/mnesia-send-compressed (mnesia) (2010-01-11) 2 commits - Update documentation to describe the new Mnesia option "send_compressed" (583d00b) - Add option to compress data when copying tables between Mnesia nodes (86f786e) * jp/dependencies_makefile (compiler, erts) (2010-01-12) 2 commits - squash! fix snprintf for Windows (bf2708d) - Add dependencies Makefile generation to erlc(1) and compile(3) (7cbc437) Approved in principle by the OTP Technical Board; now awaits a closer review of the implementation. * pan/enable_m32_build (erts, otp) (2009-12-08) 1 commit - Teach configure --enable-m32-build for forcing a 32-bit build (15c7817) * po/odbc-update-delete-no-rows (odbc) (2009-11-26) 1 commit - SQL_NO_DATA and SQLSTATE 00000 indicate success for updates/deletes that affect no rows (1a564f8) * rb/stdlib_re_unicode_fixes (stdlib) (2010-01-16) 4 commits - Refactor out repeated block in re module (8642f80) - Fix re:replace/4 to handle unicode charlist Replacement argument (5f413fe) - Fix re:replace/4 to handle unicode charlist RE argument (92c5849) - Fix re:replace/4 to handle binary unicode output when nothing replaced (dcabe28) * sc/sctp-connect-nowait (kernel) (2009-12-21) 1 commit - Implement a non-blocking SCTP connect (ae3d819) * ta/ensure_dir_eexist (stdlib) (2010-01-23) 2 commits - filelib_SUITE: strenghten tests of filelib:ensure_dir/1 (67657ed) - Don't return a false {error,eexist} in filelib:ensure_dir/1 (ecd339d) * va/rb-improvements (sasl) (2009-12-25) 4 commits - New function to filter reports by date (5391383) - New rb:filter/1 function to ease report filtering (ed28348) - Add rb:re/1 to grep reports using the re module (e5bd091) - Fix minor typo in read_report/1 (07c6ad4) From klas.johansson@REDACTED Sun Jan 24 20:39:02 2010 From: klas.johansson@REDACTED (Klas Johansson) Date: Sun, 24 Jan 2010 20:39:02 +0100 Subject: [erlang-patches] Re: [erlang-questions] Bug in epmd_srv.c? In-Reply-To: <6672d0160912220016w7f8120edg28ce2b29d56b5a42@mail.gmail.com> References: <6672d0160912210306y43ebcc4dg63ea136b6a573bea@mail.gmail.com> <6672d0160912220016w7f8120edg28ce2b29d56b5a42@mail.gmail.com> Message-ID: Hi, Sorry for the delay... 2009/12/22 Bj?rn Gustavsson : > 2009/12/22 Klas Johansson : > >> I've amended my previous patch to incorporate the fix for the >> what-if-extra-contains-null-characters issue. ?Get it here: >> >> ? git fetch git://github.com/klajo/otp.git epmd_port2resp_trunc_extra > > Thanks! Included in 'pu'. I've seen that it has graduated now, great! > Is there any special reason to fix this bug? I mean, besides > fixing a bug, is there anything that will work better or something > that now will be possible to do that was not possible to do > before, or does it increase security? > > If the answer to any of those questions is "yes", it would be > good to mention it in the commit message. I see what you're asking for here, but I was just fooling around with the distribution protocol and another programming language. Perhaps Dave has some input here? >> I've also attached a new version of the erlang test case which >> tests the null issue as well. > > It would be nice if you could turn that code into a test case. I've done a new commit here (where I've added two more testcases to epmd_SUITE.erl): git fetch git://github.com/klajo/otp.git epmd_port2resp_trunc_extra I didn't amend my previous commit, since it had already graduated from 'pu'. Thanks and Regards, Klas From raimo+erlang-patches@REDACTED Mon Jan 25 16:12:05 2010 From: raimo+erlang-patches@REDACTED (Raimo Niskanen) Date: Mon, 25 Jan 2010 16:12:05 +0100 Subject: [erlang-patches] Non-blocking SCTP connect [Was: [erlang-patches] SCTP improvements] In-Reply-To: <32461-1261465043-568221@sneakemail.com> References: <17551-1260988040-19738@sneakemail.com> <32461-1261465043-568221@sneakemail.com> Message-ID: <20100125151205.GA24872@erix.ericsson.se> On Mon, Dec 21, 2009 at 10:57:22PM -0800, Simon Cornish wrote: > Just in time for Christmas, a non-blocking SCTP connect. > > git fetch git://github.com/dotsimon/otp.git sctp_connect_nowait > > I decided to name the functions connect_init to better reflect the > behaviour since there can actually be some waiting if the peer address > needs resolving. > > The commit comment hopefully contains enough information to update the > documentation. I did not want to mess with the XML directly since > there is no way to build and see it looks ok. > > Regards, > Simon commit: ffbf3fe3ce632567cacacdff73a3cc87ab6d9c6d Sorry about the long delay again. This diff looks functionally fine and the name choice is fine. Just a matter of coding style: All functions in the module gen_sctp are careful to type check in the API function or erlang:error(badarg, ArgList) if the type checks fail; from the API function. (Perhaps not the same arity but anyway...) So the helper function do_connect/6 calling erlang:error(badarg, _) with an incomplete argument list should be improved. This would be confusing since the API user did not call do_connect/6. The alternative way would be to let do_connect/6 just bail out in a function clause, but that is not the style of this module. So, maybe something like this in gen_sctp.erl: connect(S, Addr, Port, Opts, Timeout) -> case do_connect(S, Addr, Port, Opts, Timeout, true) of Reason when is_atom(Reason) -> erlang:error(Reason, [S, Addr, Port, Opts, Timeout); Result -> Result end. : connect_init(S, Addr, Port, Opts, Timeout) -> case do_connect(S, Addr, Port, Opts, Timeout, false) of Reason when is_atom(Reason) -> erlang:error(Reason, [S, Addr, Port, Opts, Timeout); Result -> Result end. : do_connect(S, Addr, Port, Opts, Timeout, ConnWait) when is_port(S), is_list(Opts) -> case inet_db:lookup_socket(S) of {ok,Mod} -> case Mod:getserv(Port) of {ok,Port} -> try inet:start_timer(Timeout) of Timer -> try Mod:getaddr(Addr, Timer) of {ok,IP} -> ConnectTimer = if ConnWait -> Timer; true -> nowait end, Mod:connect(S, IP, Port, Opts, ConnectTimer); Error -> Error after inet:stop_timer(Timer) end catch error:Reason -> Reason end; Error -> Error end; Error -> Error end; do_connect(S, Addr, Port, Opts, Timeout) -> badarg. > > ps. I see that unfortunately somewhere between GitX, git and github > the line-wrapping in my commit comment has been horribly mangled. I > think it's just readable! > > On Wed, Dec 16, 2009 at 10:27 AM, Simon Cornish > zl9d97p02-at-sneakemail.com |erlang-mail/gmail| > <6g9sko63ub0t@REDACTED> wrote: > > Hi Raimo, > > > > I'm taking this as a separate thread for each topic. > > > > On Wed, Dec 16, 2009 at 4:42 AM, Raimo Niskanen > > raimo+erlang-patches-at-erix.ericsson.se wrote: > > [...] > >> http://github.com/erlang/otp/commit/92f3ceea0fa51df308f6f2689ff82857b6442c30 > >> Implement a non-blocking gen_sctp:connect > > > > I think there are plenty of examples in OTP where library functions > > return a different type based on the argument(s). But, subjective > > comments on style aside (since I have no style :-) I had not > > considered that this was changing existing interface semantics in a > > service release. > > > > I'm happy to rewrite it as new connect_nowait functions as you > > suggest. What's the best way to do this? Amended commit? New commit? > > New branch? Maybe Bj?rn has an opinion since he has to do the messy > > part... > > > > Regards, > > ?Simon > > > >> > >> lib/kernel/src/inet_sctp.erl: 74/82 > >> ?Comparision Timeout /= 0 should have been Timeout =/= 0 > >> ?just to be certain... > >> > >> ?To compare Timeout =/= 0 is unfortunately also wrong since > >> ?time may have elapsed since inet:start_timer/1 was > >> ?called and inet:timeout/1 may return 0 when the original > >> ?Timeout actually was nonzero. > >> > >> And, furthermore; having gen_sctp:connect/4,5 to return a > >> different type for some value (i.e 0) of an argument > >> (i.e Timeout) is considered ugly. And introducing such > >> a change in a service release is out of the question. > >> > >> Therefore; can you rewrite your patch to introduce a new > >> function gen_sctp:connect_nowait/4 that does exactly > >> what your gen_sctp:connect(S, Add, Port, Opts, 0) did? > >> > >> There will be some code duplication, but you can maybe > >> also avoid creating a timer alltogether and perhaps > >> use a special value (e.g 0) to inet_sctp:connect/5, > >> last argument, to not have to duplicate everything. > >> inet_sctp is a non-public interface so it can be altered. > >> Doing it this way also avoids fixing inet6_sctp.erl. > >> > > > > ________________________________________________________________ > > erlang-patches mailing list. See http://www.erlang.org/faq.html > > erlang-patches (at) erlang.org > > > > > > ________________________________________________________________ > erlang-patches mailing list. See http://www.erlang.org/faq.html > erlang-patches (at) erlang.org > -- / Raimo Niskanen, Erlang/OTP, Ericsson AB From bgustavsson@REDACTED Mon Jan 25 18:05:54 2010 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Mon, 25 Jan 2010 18:05:54 +0100 Subject: [erlang-patches] Re: [erlang-questions] Bug in epmd_srv.c? In-Reply-To: References: <6672d0160912210306y43ebcc4dg63ea136b6a573bea@mail.gmail.com> <6672d0160912220016w7f8120edg28ce2b29d56b5a42@mail.gmail.com> Message-ID: <6672d0161001250905s779a316w35fdfa6c567875dd@mail.gmail.com> 2010/1/24 Klas Johansson : > I've done a new commit here (where I've added two more testcases to > epmd_SUITE.erl): > > git fetch git://github.com/klajo/otp.git epmd_port2resp_trunc_extra > Thanks! I have added your commit directly to ccase/r13b04. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From jay@REDACTED Mon Jan 25 20:21:30 2010 From: jay@REDACTED (Jay Nelson) Date: Mon, 25 Jan 2010 11:21:30 -0800 Subject: Commit of supervisor_child_count_only Message-ID: <9B5BFC05-ADD5-4B6E-8F40-1FDF06E05487@duomark.com> Committed the addition of supervisor:count_children/1 to determine how many and what types of children a supervisor has without generating the list that which_children/1 returns. Includes documentation update and test suite additions. Also cleaned up warnings from list/1 guard by changing to is_list/1 guard in supervisor_SUITE.erl. git fetch git://github.com/jaynel/otp.git supervisor_child_count_only How do I test that the .xml changes build the documentation properly? jay From bgustavsson@REDACTED Tue Jan 26 08:02:46 2010 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Tue, 26 Jan 2010 08:02:46 +0100 Subject: [erlang-patches] Commit of supervisor_child_count_only In-Reply-To: <9B5BFC05-ADD5-4B6E-8F40-1FDF06E05487@duomark.com> References: <9B5BFC05-ADD5-4B6E-8F40-1FDF06E05487@duomark.com> Message-ID: <6672d0161001252302u35bd37d5h50f30ebe1d7a6b3c@mail.gmail.com> On Mon, Jan 25, 2010 at 8:21 PM, Jay Nelson wrote: > Committed the addition of supervisor:count_children/1 to determine how many > and what types of children a supervisor has without generating the list that > which_children/1 returns. ?Includes documentation update and test suite > additions. ?Also cleaned up warnings from list/1 guard by changing to > is_list/1 guard in supervisor_SUITE.erl. > > git fetch git://github.com/jaynel/otp.git supervisor_child_count_only > I can't see your commit on that branch. Did you forget to push after you committed? -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From raimo+erlang-patches@REDACTED Tue Jan 26 10:14:34 2010 From: raimo+erlang-patches@REDACTED (Raimo Niskanen) Date: Tue, 26 Jan 2010 10:14:34 +0100 Subject: [erlang-patches] Non-blocking SCTP connect [Was: [erlang-patches] SCTP improvements] In-Reply-To: <3867-1264434760-792744@sneakemail.com> References: <17551-1260988040-19738@sneakemail.com> <32461-1261465043-568221@sneakemail.com> <20100125151205.GA24872@erix.ericsson.se> <3867-1264434760-792744@sneakemail.com> Message-ID: <20100126091434.GA30687@erix.ericsson.se> On Mon, Jan 25, 2010 at 07:52:39AM -0800, Simon Cornish wrote: > Hi, > Is this something you would like me to refine my commit for and push > back at Bj?rn? I ask because the whole workflow here is still not Yes please refine, I was unclear. > clear to me. Nor, really, is the level of volunteer work to fix > something that is clearly broken in the current releases. We are grateful of any level of volunteer work we can get. Without voluenteer work this fix of something that is clearly broken would have to be weighed against other equally or more important matters. We have no paying customers that need this from SCTP... > A question about your suggestion inline with the code below: > Regards, > Simon > > On Mon, Jan 25, 2010 at 7:12 AM, Raimo Niskanen > raimo+erlang-patches-at-erix.ericsson.se |erlang-mail/gmail| > wrote: > > > > On Mon, Dec 21, 2009 at 10:57:22PM -0800, Simon Cornish wrote: > > > Just in time for Christmas, a non-blocking SCTP connect. > > > > > > git fetch git://github.com/dotsimon/otp.git sctp_connect_nowait > > > > > > I decided to name the functions connect_init to better reflect the > > > behaviour since there can actually be some waiting if the peer address > > > needs resolving. > > > > > > The commit comment hopefully contains enough information to update the > > > documentation. I did not want to mess with the XML directly since > > > there is no way to build and see it looks ok. > > > > > > Regards, > > > ?Simon > > > > commit: ffbf3fe3ce632567cacacdff73a3cc87ab6d9c6d > > > > Sorry about the long delay again. This diff looks functionally fine > > and the name choice is fine. Just a matter of coding style: > > All functions in the module gen_sctp are careful to type > > check in the API function or erlang:error(badarg, ArgList) > > if the type checks fail; from the API function. > > (Perhaps not the same arity but anyway...) > > > > So the helper function do_connect/6 calling erlang:error(badarg, _) > > with an incomplete argument list should be improved. This would > > be confusing since the API user did not call do_connect/6. > > The alternative way would be to let do_connect/6 just bail out > > in a function clause, but that is not the style of this module. > > > > So, maybe something like this in gen_sctp.erl: > > > > connect(S, Addr, Port, Opts, Timeout) -> > > ? ?case do_connect(S, Addr, Port, Opts, Timeout, true) of > > ? ? ? ?Reason when is_atom(Reason) -> > > ? ? ? ? ? ?erlang:error(Reason, [S, Addr, Port, Opts, Timeout); > > ? ? ? ?Result -> > > ? ? ? ? ? ?Result > > ? ?end. > > > > Shouldn't the Reason here be just badarg? do_connect may return ok > which is also an atom, and generically speaking the badarg from the > function clause is the only case for erlang:error You are quite right. My mistake to be over-general. This is partly why I think it is better you finish this. It is more likely I make a silly mistake than you since you already are into the code. > > /Simon > > > : > > > > connect_init(S, Addr, Port, Opts, Timeout) -> > > ? ?case do_connect(S, Addr, Port, Opts, Timeout, false) of > > ? ? ? ?Reason when is_atom(Reason) -> > > ? ? ? ? ? ?erlang:error(Reason, [S, Addr, Port, Opts, Timeout); > > ? ? ? ?Result -> > > ? ? ? ? ? ?Result > > ? ?end. > > > > : > > > > do_connect(S, Addr, Port, Opts, Timeout, ConnWait) when is_port(S), is_list(Opts) -> > > ? ?case inet_db:lookup_socket(S) of > > ? ? ? ?{ok,Mod} -> > > ? ? ? ? ? ?case Mod:getserv(Port) of > > ? ? ? ? ? ? ? ?{ok,Port} -> > > ? ? ? ? ? ? ? ? ? ?try inet:start_timer(Timeout) of > > ? ? ? ? ? ? ? ? ? ? ? ?Timer -> > > ? ? ? ? ? ? ? ? ? ? ? ? ? ?try Mod:getaddr(Addr, Timer) of > > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?{ok,IP} -> > > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?ConnectTimer = > > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?if ?ConnWait -> > > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Timer; > > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?true -> > > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?nowait > > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?end, > > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Mod:connect(S, IP, Port, Opts, ConnectTimer); > > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Error -> Error > > ? ? ? ? ? ? ? ? ? ? ? ? ? ?after > > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?inet:stop_timer(Timer) > > ? ? ? ? ? ? ? ? ? ? ? ? ? ?end > > ? ? ? ? ? ? ? ? ? ?catch > > ? ? ? ? ? ? ? ? ? ? ? ?error:Reason -> > > ? ? ? ? ? ? ? ? ? ? ? ? ? ?Reason > > ? ? ? ? ? ? ? ? ? ?end; > > ? ? ? ? ? ? ? ?Error -> Error > > ? ? ? ? ? ?end; > > ? ? ? ?Error -> Error > > ? ?end; > > do_connect(S, Addr, Port, Opts, Timeout) -> > > ? ?badarg. > > > > > > > > > > ps. I see that unfortunately somewhere between GitX, git and github > > > the line-wrapping in my commit comment has been horribly mangled. I > > > think it's just readable! > > > > > > On Wed, Dec 16, 2009 at 10:27 AM, Simon Cornish > > > zl9d97p02-at-sneakemail.com |erlang-mail/gmail| > > > <6g9sko63ub0t@REDACTED> wrote: > > > > Hi Raimo, > > > > > > > > I'm taking this as a separate thread for each topic. > > > > > > > > On Wed, Dec 16, 2009 at 4:42 AM, Raimo Niskanen > > > > raimo+erlang-patches-at-erix.ericsson.se wrote: > > > > [...] > > > >> http://github.com/erlang/otp/commit/92f3ceea0fa51df308f6f2689ff82857b6442c30 > > > >> Implement a non-blocking gen_sctp:connect > > > > > > > > I think there are plenty of examples in OTP where library functions > > > > return a different type based on the argument(s). But, subjective > > > > comments on style aside (since I have no style :-) I had not > > > > considered that this was changing existing interface semantics in a > > > > service release. > > > > > > > > I'm happy to rewrite it as new connect_nowait functions as you > > > > suggest. What's the best way to do this? Amended commit? New commit? > > > > New branch? Maybe Bj?rn has an opinion since he has to do the messy > > > > part... > > > > > > > > Regards, > > > > ?Simon > > > > > > > >> > > > >> lib/kernel/src/inet_sctp.erl: 74/82 > > > >> ?Comparision Timeout /= 0 should have been Timeout =/= 0 > > > >> ?just to be certain... > > > >> > > > >> ?To compare Timeout =/= 0 is unfortunately also wrong since > > > >> ?time may have elapsed since inet:start_timer/1 was > > > >> ?called and inet:timeout/1 may return 0 when the original > > > >> ?Timeout actually was nonzero. > > > >> > > > >> And, furthermore; having gen_sctp:connect/4,5 to return a > > > >> different type for some value (i.e 0) of an argument > > > >> (i.e Timeout) is considered ugly. And introducing such > > > >> a change in a service release is out of the question. > > > >> > > > >> Therefore; can you rewrite your patch to introduce a new > > > >> function gen_sctp:connect_nowait/4 that does exactly > > > >> what your gen_sctp:connect(S, Add, Port, Opts, 0) did? > > > >> > > > >> There will be some code duplication, but you can maybe > > > >> also avoid creating a timer alltogether and perhaps > > > >> use a special value (e.g 0) to inet_sctp:connect/5, > > > >> last argument, to not have to duplicate everything. > > > >> inet_sctp is a non-public interface so it can be altered. > > > >> Doing it this way also avoids fixing inet6_sctp.erl. > > > >> > > > > > > > > ________________________________________________________________ > > > > erlang-patches mailing list. See http://www.erlang.org/faq.html > > > > erlang-patches (at) erlang.org > > > > > > > > > > > > > > ________________________________________________________________ > > > erlang-patches mailing list. See http://www.erlang.org/faq.html > > > erlang-patches (at) erlang.org > > > > > > > -- > > > > / Raimo Niskanen, Erlang/OTP, Ericsson AB -- / Raimo Niskanen, Erlang/OTP, Ericsson AB From jay@REDACTED Tue Jan 26 16:56:36 2010 From: jay@REDACTED (Jay Nelson) Date: Tue, 26 Jan 2010 07:56:36 -0800 Subject: [erlang-patches] Commit of supervisor_child_count_only In-Reply-To: <6672d0161001252302u35bd37d5h50f30ebe1d7a6b3c@mail.gmail.com> References: <9B5BFC05-ADD5-4B6E-8F40-1FDF06E05487@duomark.com> <6672d0161001252302u35bd37d5h50f30ebe1d7a6b3c@mail.gmail.com> Message-ID: <1C2FF3BA-4978-44DD-B1A9-8EF0C7C6CF36@duomark.com> Still trying to figure out git. You are right. It is now pushed. jay On Jan 25, 2010, at 11:02 PM, Bj?rn Gustavsson wrote: > On Mon, Jan 25, 2010 at 8:21 PM, Jay Nelson wrote: >> Committed the addition of supervisor:count_children/1 to determine >> how many >> and what types of children a supervisor has without generating the >> list that >> which_children/1 returns. Includes documentation update and test >> suite >> additions. Also cleaned up warnings from list/1 guard by changing to >> is_list/1 guard in supervisor_SUITE.erl. >> >> git fetch git://github.com/jaynel/otp.git supervisor_child_count_only >> > > I can't see your commit on that branch. Did you forget to push > after you > committed? > > -- > Bj?rn Gustavsson, Erlang/OTP, Ericsson AB > From bgustavsson@REDACTED Wed Jan 27 08:54:28 2010 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Wed, 27 Jan 2010 08:54:28 +0100 Subject: [erlang-patches] Commit of supervisor_child_count_only In-Reply-To: <9B5BFC05-ADD5-4B6E-8F40-1FDF06E05487@duomark.com> References: <9B5BFC05-ADD5-4B6E-8F40-1FDF06E05487@duomark.com> Message-ID: <6672d0161001262354p55de6690u910b561fc4c6a9b9@mail.gmail.com> On Mon, Jan 25, 2010 at 8:21 PM, Jay Nelson wrote: > git fetch git://github.com/jaynel/otp.git supervisor_child_count_only Thanks! I removed some trailing whitespace (using "git rebase --whitespace=fix HEAD^") and included your branch in 'pu'. > How do I test that the .xml changes build the documentation properly? We will soon add instructions to the wiki on how to build the documentation. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From bgustavsson@REDACTED Wed Jan 27 17:27:52 2010 From: bgustavsson@REDACTED (=?ISO-8859-1?Q?Bj=F6rn_Gustavsson?=) Date: Wed, 27 Jan 2010 17:27:52 +0100 Subject: What's cooking in erlang/otp (2010-01-27) Message-ID: <4B606988.20309@gmail.com> We hope to soon have building of documentation working in a git repository or source directory. We will soon update the wiki with build instructions. ------------------------------------------------------------ [Graduated] * kj/epmd_port2resp-trunc-extra-tests (erts) (2010-01-24) 1 commit + Test that "extra" is handled according to specs in ALIVE2_REQ and PORT2_RESP (ec181b5) * rb/stdlib_re_unicode_fixes (erts, stdlib) (2010-01-25) 5 commits + Fix lost unicode option in re:compile() (6b83b64) + Refactor out repeated block in re module (ff65b85) + Fix re:replace/4 to handle unicode charlist Replacement argument (cf7e585) + Fix re:replace/4 to handle unicode charlist RE argument (1d2a481) + Fix re:replace/4 to handle binary unicode output when nothing replaced (98cb178) Patrik Nyblom (the implementator/maintainer of the re module) fixed one of the found bugs in a different way, and corrected another rebport bug in a separate commit. * ta/os_timestamp_no_mutex (erts) (2010-01-23) 1 commit + Remove mutex lock around sys_gettimeofday() in os:timestamp/0 (ed188cb) ------------------------------------------------------------ [New topics] * bg/cleanup-tests (eunit, kernel, stdlib) (2010-01-24) 5 commits - file_SUITE: eliminate a warning for an unused variable (3deaf78) - kernel tests: modernize guard tests (2085a15) - unicode_SUITE: replace deprecated concat_binary/1 with list_to_binary/1 (19f0ce0) - stdlib tests: modernize guard tests (1001c05) - Test suites: fix creation of Emakefiles (3aad381) * bg/hipe-fixes (compiler, stdlib) (2010-01-25) 3 commits - compiler: make ignore_native_errors also handle internal hipe errors (a44b1f9) - re tests: disable native-code compilation for huge modules (9f78cfe) - Teach the compiler the {native,false} option (af6c948) * jn/supervisor_child_count_only (stdlib) (2010-01-25) 1 commit - Add count_children/1 to supervisor.erl to determine the number of children being managed without the memory impact of which_children/1 (10ef53f) * ks/bsl_system_limit (hipe) (2010-01-26) 1 commit - Fix a HiPE compiler bug evaluating an expression that throws system_limit. (dcada69) * mp/hipe-smp-fixes (erts, kernel) (2010-01-27) 2 commits - work around hipe_mfa_info_table lock omission (24146d3) - fix hipe loader SMP non-atomicity error (38cec58) ------------------------------------------------------------ [Stalled] * jb/atom_table_size_env (erts, otp) (2009-12-21) 1 commit - Added ERL_ATOM_TABLE_SIZE environment variable (ca57c14) The OTP Technical Board approves adding a mechanism for adjusting the size of the atom table (downwards and upwards), but the mechanism should be an emulator option (similar to how other limits such as the minimum heap size can be changed) rather than a new environment variable. Since any emulator option can be set in the ERL_FLAGS environment variable, there is no need to introduce a new environment variable. * sc/sctp-connect-nowait (kernel) (2009-12-21) 1 commit - Implement a non-blocking SCTP connect (ae3d819) Approved in principle, but the implementation needs some finish touches as pointed out by Raimo, and also documentation and test cases. ------------------------------------------------------------ [Cooking] * at/odbc_osx_fix (odbc) (2009-11-30) 1 commit - Workaround broken ODBC implementation on OSX 10.5 (88c71c9) * cf/epp-macro-overloading (otp, stdlib) (2009-12-10) 4 commits - update the documentation on preprocessor in the reference manual (218d912) - epp: change rules to choose the right version of a macro (2b3416e) - epp: Add support of macros overloading (9966991) - epp: fix bug in the function scan_undef (9a63fb0) Extend the pre-processor to allow overloading of macros with the same name but different arities. Approved by the OTP Technical Board. Will probably graduate before the R13B04 release. * db/tv_nthtail_fix (tv) (2009-12-01) 1 commit - Fix for tv which restarts while trying to open a table (abe0759) The author of this topic branch has found the real reason for the problem and has made some progress in resolving it. * gc/hipe_darwin_amd64 (erts) (2010-01-12) 4 commits - Fix hipe memory allocation problems on darwin/amd64. (32ca14f) - Porting x86 darwin fixes to amd64 darwin hipe asm/m4 code. (427f1db) - Automatically enable hipe for darwin/amd64 builds. (43ae4b7) - Allow configure to enable_hipe for darwin/amd64 builds. (733ce7a) * is/mnesia-send-compressed (mnesia) (2010-01-11) 2 commits - Update documentation to describe the new Mnesia option "send_compressed" (583d00b) - Add option to compress data when copying tables between Mnesia nodes (86f786e) * jp/dependencies_makefile (compiler, erts) (2010-01-12) 2 commits - squash! fix snprintf for Windows (bf2708d) - Add dependencies Makefile generation to erlc(1) and compile(3) (7cbc437) Approved in principle by the OTP Technical Board; now awaits a closer review of the implementation. * pan/enable_m32_build (erts, otp) (2009-12-08) 1 commit - Teach configure --enable-m32-build for forcing a 32-bit build (15c7817) * po/odbc-update-delete-no-rows (odbc) (2009-11-26) 1 commit - SQL_NO_DATA and SQLSTATE 00000 indicate success for updates/deletes that affect no rows (1a564f8) * sf/erl_match-longlong (erl_interface) (2010-01-20) 1 commit - erl_interface: Allow erl_match() to match ERL_LONGLONG and ERL_U_LONGLONG terms (938ccfe) * ta/ensure_dir_eexist (stdlib) (2010-01-23) 2 commits - filelib_SUITE: strenghten tests of filelib:ensure_dir/1 (67657ed) - Don't return a false {error,eexist} in filelib:ensure_dir/1 (ecd339d) * va/rb-improvements (sasl) (2009-12-25) 4 commits - New function to filter reports by date (5391383) - New rb:filter/1 function to ease report filtering (ed28348) - Add rb:re/1 to grep reports using the re module (e5bd091) - Fix minor typo in read_report/1 (07c6ad4) From jay@REDACTED Thu Jan 28 01:31:42 2010 From: jay@REDACTED (Jay Nelson) Date: Wed, 27 Jan 2010 16:31:42 -0800 Subject: Commit of sasl_format_report Message-ID: <44F2962C-E971-4B05-BABF-748BE86FBED4@duomark.com> Committed the addition of sasl_report:format_report/3 which generates a string in the same format that sasl_report:write_report/3 would write to the io device. Maintains backwards compatibility for existing code. git fetch git://github.com/jaynel/otp.git sasl_format_report I noticed commented out code in rb_format_supp.erl which calls sasl_report:write_report/2 which is a non-existent function. I left the comments there as I was not certain the purpose they serve. jay From bgustavsson@REDACTED Fri Jan 29 06:53:00 2010 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Fri, 29 Jan 2010 06:53:00 +0100 Subject: [erlang-patches] Commit of sasl_format_report In-Reply-To: <44F2962C-E971-4B05-BABF-748BE86FBED4@duomark.com> References: <44F2962C-E971-4B05-BABF-748BE86FBED4@duomark.com> Message-ID: <6672d0161001282153keb7252dj7f2998af3d881e88@mail.gmail.com> On Thu, Jan 28, 2010 at 1:31 AM, Jay Nelson wrote: > Committed the addition of sasl_report:format_report/3 which generates a > string in the same format that sasl_report:write_report/3 would write to the > io device. ?Maintains backwards compatibility for existing code. > > git fetch git://github.com/jaynel/otp.git sasl_format_report Thanks! Included in 'pu'. Before we can think about including this patch in a release, we will also need updated documentation. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From jay@REDACTED Fri Jan 29 08:14:49 2010 From: jay@REDACTED (Jay Nelson) Date: Thu, 28 Jan 2010 23:14:49 -0800 Subject: [erlang-patches] Commit of sasl_format_report In-Reply-To: <6672d0161001282153keb7252dj7f2998af3d881e88@mail.gmail.com> References: <44F2962C-E971-4B05-BABF-748BE86FBED4@duomark.com> <6672d0161001282153keb7252dj7f2998af3d881e88@mail.gmail.com> Message-ID: I could find neither documentation nor test cases for sasl_report functions. The sasl_report module does not seem to be publicly documented. jay On Jan 28, 2010, at 9:53 PM, Bj?rn Gustavsson wrote: > On Thu, Jan 28, 2010 at 1:31 AM, Jay Nelson wrote: >> Committed the addition of sasl_report:format_report/3 which >> generates a >> string in the same format that sasl_report:write_report/3 would >> write to the >> io device. Maintains backwards compatibility for existing code. >> >> git fetch git://github.com/jaynel/otp.git sasl_format_report > > Thanks! Included in 'pu'. > > Before we can think about including this patch in a release, > we will also need updated documentation. > -- > Bj?rn Gustavsson, Erlang/OTP, Ericsson AB > From klyr@REDACTED Fri Jan 29 11:53:24 2010 From: klyr@REDACTED (Julien Barbot) Date: Fri, 29 Jan 2010 11:53:24 +0100 Subject: Added the +t emulator option to change the maximum number of atoms Message-ID: <4B62BE24.9060601@quicheaters.org> Hi, > What's cooking in erlang/otp (2010-01-23) > > [Stalled] > > * jb/atom_table_size_env (erts, otp) (2009-12-21) 1 commit > - Added ERL_ATOM_TABLE_SIZE environment variable (ca57c14) > > The OTP Technical Board approves adding a mechanism for > adjusting the size of the atom table (downwards and upwards), > but the mechanism should be an emulator option (similar to > how other limits such as the minimum heap size can be changed) > rather than a new environment variable. Since any emulator option > can be set in the ERL_FLAGS environment variable, there is > no need to introduce a new environment variable. It is now an emulator option: +t. You can change the atom table size by using for exemple ./erl +t 5242880 Bj?rn: warning, the branch name is not the same it is now atom_table_size instead of atom_table_size_env : git fetch git://github.com/klyr/otp.git atom_table_size Regards, -- Julien Barbot From bgustavsson@REDACTED Fri Jan 29 15:29:54 2010 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Fri, 29 Jan 2010 15:29:54 +0100 Subject: [erlang-patches] Commit of sasl_format_report In-Reply-To: References: <44F2962C-E971-4B05-BABF-748BE86FBED4@duomark.com> <6672d0161001282153keb7252dj7f2998af3d881e88@mail.gmail.com> Message-ID: <6672d0161001290629l760918d3jd257065e9c8b8078@mail.gmail.com> 2010/1/29 Jay Nelson : > I could find neither documentation nor test cases for sasl_report functions. > ?The sasl_report module does not seem to be publicly documented. Yes, you are right. In that case we don't need documentation. The test suite for the sasl application is not included in the git repository yet (and it will probably not be included before the R13B04 release), so it is not possible to submit a test case. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From bgustavsson@REDACTED Fri Jan 29 15:49:23 2010 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Fri, 29 Jan 2010 15:49:23 +0100 Subject: Documentation building progress Message-ID: <6672d0161001290649r18496c3doaf5f65ed0603f07a@mail.gmail.com> We have some remaining issues with the building of the documentation, for instance that it will not work with newer versions of xsltproc (for instance the version on Snow Leopard). If you have xsltproc and fop installed, the following procedure for building a single application *may* work (depending on the version of xsltproc): cd lib/Application/doc/src make local_docs We hope to sort out those issues next week and to update the wiki with build instructions (also for building all documentation). -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From bgustavsson@REDACTED Fri Jan 29 17:04:11 2010 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Fri, 29 Jan 2010 17:04:11 +0100 Subject: Added the +t emulator option to change the maximum number of atoms In-Reply-To: <4B62BE24.9060601@quicheaters.org> References: <4B62BE24.9060601@quicheaters.org> Message-ID: <6672d0161001290804j6be194e3ua77580ac7e884f96@mail.gmail.com> 2010/1/29 Julien Barbot : > > It is now an emulator option: +t. > You can change the atom table size by using for exemple > > ./erl +t 5242880 > > Bj?rn: warning, the branch name is not the same it is now > atom_table_size instead of atom_table_size_env : > > git fetch git://github.com/klyr/otp.git atom_table_size Thanks! I have included the new branch with a new name and removed the old branch. There was a merge conflict in erl_init.c because your version was based on R13B03, so I rebased your branch on top of ccase/r13b04_dev. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From bgustavsson@REDACTED Sat Jan 30 11:06:42 2010 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Sat, 30 Jan 2010 11:06:42 +0100 Subject: [erlang-patches] Commit of supervisor_child_count_only In-Reply-To: <6672d0161001262354p55de6690u910b561fc4c6a9b9@mail.gmail.com> References: <9B5BFC05-ADD5-4B6E-8F40-1FDF06E05487@duomark.com> <6672d0161001262354p55de6690u910b561fc4c6a9b9@mail.gmail.com> Message-ID: <6672d0161001300206g196e9120x146f2da68c8057f7@mail.gmail.com> 2010/1/27 Bj?rn Gustavsson : > On Mon, Jan 25, 2010 at 8:21 PM, Jay Nelson wrote: >> git fetch git://github.com/jaynel/otp.git supervisor_child_count_only > > Thanks! I removed some trailing whitespace (using "git rebase > --whitespace=fix HEAD^") > and included your branch in 'pu'. > We run our daily builds with different +M flags on different weekdays. When we run with +Meamin, your new test case fails because erlang:memory/0 throws a notsup exception. The easiest way to reproduce the problem is to do export ERL_FLAGS="+Meamin" before you run the test suite. I suggest you that fix the problem by catching the call and return {skip, Reason}, where Reason is a short text string explaining the reason why the test case has been skipped. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From bgustavsson@REDACTED Sat Jan 30 11:58:41 2010 From: bgustavsson@REDACTED (=?ISO-8859-1?Q?Bj=F6rn_Gustavsson?=) Date: Sat, 30 Jan 2010 11:58:41 +0100 Subject: What's cooking in erlang/otp (2010-01-30) Message-ID: <4B6410E1.9010709@gmail.com> We still have a few issues to solve regarding building of documentation in a git repository. We hope to sort them out next week. ------------------------------------------------------------ [Graduated] * mp/hipe-smp-fixes (erts, kernel) (2010-01-27) 2 commits + work around hipe_mfa_info_table lock omission (24146d3) + fix hipe loader SMP non-atomicity error (38cec58) * ta/ensure_dir_eexist (stdlib) (2010-01-23) 2 commits + filelib_SUITE: strenghten tests of filelib:ensure_dir/1 (67657ed) + Don't return a false {error,eexist} in filelib:ensure_dir/1 (ecd339d) ------------------------------------------------------------ [New topics] * bg/skip-native-compilation (compiler, stdlib) (2010-01-29) 2 commits - lists_SUITE: Don't native-compile (45ed02b) - andor_SUITE: Don't native-compile (67c05d8) This branch is never supposed to graduate. Its purpose is to avoid some failed test cases until there is a proper fix. * dgud/emacs-mode (tools) (2010-01-26) 2 commits - Added the old style skeletons, and a variable to change. (2cbe853) - Move code skeletons to a separate file. Use the updated skeletons from the Erlware Mode. (b4fd161) * jb/atom-table-size (erts) (2010-01-29) 1 commit - Add the +t emulator option to change the maximum number of atoms (704b917) (Replacement for the jb/atom_table_size_env branch.) This branch will probably be graduated next week after a final review of the implementation. * jn/sasl-format_report (sasl) (2010-01-27) 1 commit - Added sasl_report:format_report/3 to return a string rather than send an io (ee8f29f) ------------------------------------------------------------ [Stalled] * sc/sctp-connect-nowait (kernel) (2009-12-21) 1 commit - Implement a non-blocking SCTP connect (ae3d819) Approved in principle, but the implementation needs some finish touches as pointed out by Raimo, and also documentation and test cases. ------------------------------------------------------------ [Cooking] * at/odbc_osx_fix (odbc) (2009-11-30) 1 commit - Workaround broken ODBC implementation on OSX 10.5 (88c71c9) * bg/cleanup-tests (eunit, kernel, stdlib) (2010-01-24) 5 commits - file_SUITE: eliminate a warning for an unused variable (a656a27) - kernel tests: modernize guard tests (fc1ddbb) - unicode_SUITE: replace deprecated concat_binary/1 with list_to_binary/1 (0cd1623) - stdlib tests: modernize guard tests (ac3d53f) - Test suites: fix creation of Emakefiles (b8b3a8c) * bg/hipe-fixes (compiler, stdlib) (2010-01-25) 3 commits - compiler: make ignore_native_errors also handle internal hipe errors (659e022) - re tests: disable native-code compilation for huge modules (42c7c83) - Teach the compiler the no_native option (75c1622) * cf/epp-macro-overloading (otp, stdlib) (2009-12-10) 4 commits - update the documentation on preprocessor in the reference manual (218d912) - epp: change rules to choose the right version of a macro (2b3416e) - epp: Add support of macros overloading (9966991) - epp: fix bug in the function scan_undef (9a63fb0) Extend the pre-processor to allow overloading of macros with the same name but different arities. Approved by the OTP Technical Board. Will probably graduate before the R13B04 release. * db/tv_nthtail_fix (tv) (2009-12-01) 1 commit - Fix for tv which restarts while trying to open a table (abe0759) The author of this topic branch has found the real reason for the problem and has made some progress in resolving it. * gc/hipe_darwin_amd64 (erts) (2010-01-12) 4 commits - Fix hipe memory allocation problems on darwin/amd64. (32ca14f) - Porting x86 darwin fixes to amd64 darwin hipe asm/m4 code. (427f1db) - Automatically enable hipe for darwin/amd64 builds. (43ae4b7) - Allow configure to enable_hipe for darwin/amd64 builds. (733ce7a) * is/mnesia-send-compressed (mnesia) (2010-01-11) 2 commits - Update documentation to describe the new Mnesia option "send_compressed" (583d00b) - Add option to compress data when copying tables between Mnesia nodes (86f786e) * jn/supervisor_child_count_only (stdlib) (2010-01-25) 1 commit - Add count_children/1 to supervisor.erl to determine the number of children being managed without the memory impact of which_children/1 (10ef53f) * jp/dependencies_makefile (compiler, erts) (2010-01-12) 2 commits - squash! fix snprintf for Windows (bf2708d) - Add dependencies Makefile generation to erlc(1) and compile(3) (7cbc437) Approved in principle by the OTP Technical Board; now awaits a closer review of the implementation. * ks/bsl_system_limit (hipe) (2010-01-26) 1 commit - Fix a HiPE compiler bug evaluating an expression that throws system_limit. (dcada69) * pan/enable_m32_build (erts, otp) (2009-12-08) 1 commit - Teach configure --enable-m32-build for forcing a 32-bit build (15c7817) * po/odbc-update-delete-no-rows (odbc) (2009-11-26) 1 commit - SQL_NO_DATA and SQLSTATE 00000 indicate success for updates/deletes that affect no rows (1a564f8) * sf/erl_match-longlong (erl_interface) (2010-01-20) 1 commit - erl_interface: Allow erl_match() to match ERL_LONGLONG and ERL_U_LONGLONG terms (938ccfe) * va/rb-improvements (sasl) (2009-12-25) 4 commits - New function to filter reports by date (5391383) - New rb:filter/1 function to ease report filtering (ed28348) - Add rb:re/1 to grep reports using the re module (e5bd091) - Fix minor typo in read_report/1 (07c6ad4)