From bgustavsson@REDACTED Tue Dec 1 06:18:16 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Tue, 1 Dec 2009 06:18:16 +0100 Subject: What's cooking in erlang/otp (#2) Message-ID: <6672d0160911302118q45218fccq6e667f4dc91c89bf@mail.gmail.com> This is the second in the What's cooking in erlang/otp series of emails. [Intro/news/blog] Since the last email there have been some substantial updates to the wiki at http://wiki.github.com/erlang/otp Thanks to everyone that have helped editing the pages (and even created new pages)! I would want to write about how patches can be refined using "git rebase -i" and other powerful git commands, but I realize that I will not have time to do that in the foreseeable future. So instead I created a placeholder page: http://wiki.github.com/erlang/otp/refining-patches-using-git Feel free to go there and do something great! ============================================================== [Graduated to ccase/r13b04_dev] * ng/readme (2009-11-25) 1 commit + Clean up formatting issues in the README I combined the original two commits to one. * egil/readme-debug-emulator (2009-11-25) 1 commit: + README: Add build instructions for a debug-enabled emulator I amended his commit to correct a few grammos/typos. * bg/on_load-types (2009-11-27) 1 commit: + Add type information for on_load * ks/dialyzer-wx-fix (2009-11-28) 1 commit: + dialyzer: make -wx always start the SMP emulator * bg/make_stub_module-fix (2009-11-29) 1 commit: + Fix glitches when native code modules are used ============================================================== [New topics] * as/c_nc-fix (2009-11-29) 1 commit: - Fix c:nc to use outdir or cwd to find compiled object file * mh/to_erl-error-messages (2009-11-27) 1 commit: - to_erl: Include strerror(errno) in error messages ============================================================== [Cooking] * sv/sys_get_status (2009-11-27) 2 commits: - Teach sys:get_status/0 to call Mod:format_status/2 - gen_fsm: Fix format_status/2 to handle Pids Steve fixed the documentation and found and fixed an independent bug in gen_fsm that caused a gen_fsm test case to fail. Except that it would be nice with a test case that would verify that Mod:format_status/2 really gets called (to ensure that the feature doesn't get broken again in the future), this branch should be ready for graduation. * bd/http_chunk_fix (2009-11-27) 1 commit: - http_chunk data handling/passing improvement. * po/odbc-update-delete-no-rows (2009-11-26) 1 commit: - SQL_NO_DATA and SQLSTATE 00000 indicate success for updates/deletes that affect no rows * egil/misc-egd (2009-11-26) 3 commits: - re-added egd color specs and removed commented code - added test cases for egd_primitives - egd speed optimizations and code reduction Waiting for Bj?rn-Egil to squeeze the series down to one or two commits and revise the commit messages. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From dmitriy.budashny@REDACTED Tue Dec 1 07:43:44 2009 From: dmitriy.budashny@REDACTED (Dmitriy Budashny) Date: Tue, 1 Dec 2009 08:43:44 +0200 Subject: small patch for tv In-Reply-To: <891161a10910230139w78c1e1aaj8cc90b9f777641b1@mail.gmail.com> References: <891161a10910220722s2cbae812pddbe8fcc1387a263@mail.gmail.com> <891161a10910230139w78c1e1aaj8cc90b9f777641b1@mail.gmail.com> Message-ID: <891161a10911302243t594c529frcdfc2a949ab736a7@mail.gmail.com> Guys, could you please have a look at this problem? Maybe my patch is look like a workaround for a problem, but I just wanted to point you at the existing situation. Thanks in advance PS: I didn't use new git-based mechanism of proposing patches, because as I said it looks like a workaround for me and not a solution. On Fri, Oct 23, 2009 at 10:39 AM, Dmitriy Budashny < dmitriy.budashny@REDACTED> wrote: > My last letter was written w/o testing for other problems, I've found there > were other calls to lists:nthtail/2. > I've attached a new patch file in this letter > > 2009/10/22 Dmitriy Budashny > > Hi there >> I've found some strange issue with tv while using stumpwm. tv was crashing >> while I was trying to load some table, so I got such output to my console: >> ### log begins here ### >> =ERROR REPORT==== 22-Oct-2009::16:31:05 === >> Error in process <0.571.0> with exit value: >> {function_clause,[{lists,nthtail,[6,[]]},{tv_pg_gridfcns,resize_grid,3},{tv_pg,loop,1}]} >> >> Internal error... restarting. >> 10> >> =ERROR REPORT==== 22-Oct-2009::16:31:06 === >> Error in process <0.578.0> with exit value: >> {function_clause,[{lists,nthtail,[6,[]]},{tv_pg_gridfcns,resize_grid,3},{tv_pg,loop,1}]} >> >> Internal error... restarting. >> ### log ends here ### >> >> So it continued restarting over and over again. The problem was with call >> to lists:nthtail(6,[]) which raised exception: >> ** exception error: no function clause matching lists:nthtail(6,[]) >> So I've made small changes to tv_pg_gridfcns.erl file. Patch attached. >> >> -- >> wbr, dym >> > > > > -- > wbr, dym > -- wbr, dym From max.lapshin@REDACTED Tue Dec 1 08:00:21 2009 From: max.lapshin@REDACTED (Max Lapshin) Date: Tue, 1 Dec 2009 10:00:21 +0300 Subject: [erlang-patches] Re: small patch for tv In-Reply-To: <891161a10911302243t594c529frcdfc2a949ab736a7@mail.gmail.com> References: <891161a10910220722s2cbae812pddbe8fcc1387a263@mail.gmail.com> <891161a10910230139w78c1e1aaj8cc90b9f777641b1@mail.gmail.com> <891161a10911302243t594c529frcdfc2a949ab736a7@mail.gmail.com> Message-ID: On Tue, Dec 1, 2009 at 9:43 AM, Dmitriy Budashny wrote: > PS: I didn't use new git-based mechanism of proposing patches, because as I > said it looks like a workaround for me and not a solution. Dmitry, how do you think, erlang team, will apply your patch, if they have already migrated to git? Maybe it is the time to stop using CVS? From dmitriy.budashny@REDACTED Tue Dec 1 08:44:17 2009 From: dmitriy.budashny@REDACTED (Dmitriy Budashny) Date: Tue, 1 Dec 2009 09:44:17 +0200 Subject: [erlang-patches] Re: small patch for tv In-Reply-To: References: <891161a10910220722s2cbae812pddbe8fcc1387a263@mail.gmail.com> <891161a10910230139w78c1e1aaj8cc90b9f777641b1@mail.gmail.com> <891161a10911302243t594c529frcdfc2a949ab736a7@mail.gmail.com> Message-ID: <891161a10911302344x35055a57xca03d09707fcc7b5@mail.gmail.com> On Tue, Dec 1, 2009 at 9:00 AM, Max Lapshin wrote: > On Tue, Dec 1, 2009 at 9:43 AM, Dmitriy Budashny > wrote: > > PS: I didn't use new git-based mechanism of proposing patches, because as > I > > said it looks like a workaround for me and not a solution. > > Dmitry, how do you think, erlang team, will apply your patch, if they > have already migrated to git? > Actually I didn't see any changes were done on the exact file, so I don't see any difference to pull it from git or to take it from the released archive file. (correct me if I've mistaken) Btw, yes I can branch from git, made a patch there, send a link. But 1) I didn't see any attention before, so I don't know if the other mail will be not directing towards /dev/null 2) I think about my patch as a workaround for problem which points to the exact places in code which do the harm And answer to your question: no I don't think so. But if I will see any words about `redo it in git`, I'll do so w/o any probs. > Maybe it is the time to stop using CVS? > Ehhh, is there any context for such a question? -- wbr, dym From dgud@REDACTED Tue Dec 1 08:53:19 2009 From: dgud@REDACTED (Dan Gudmundsson) Date: Tue, 1 Dec 2009 08:53:19 +0100 Subject: [erlang-patches] Re: small patch for tv In-Reply-To: <891161a10911302344x35055a57xca03d09707fcc7b5@mail.gmail.com> References: <891161a10910220722s2cbae812pddbe8fcc1387a263@mail.gmail.com> <891161a10910230139w78c1e1aaj8cc90b9f777641b1@mail.gmail.com> <891161a10911302243t594c529frcdfc2a949ab736a7@mail.gmail.com> <891161a10911302344x35055a57xca03d09707fcc7b5@mail.gmail.com> Message-ID: <93df43b60911302353n7289d930w47d09041fe9ec541@mail.gmail.com> I have seen your email but havn't had time to look at the patch yet, sorry. Git-patches are preferred in the future, it's simpler and we hopefully won't forget them, but even with git-patches we must have time to take a look them. /Dan On Tue, Dec 1, 2009 at 8:44 AM, Dmitriy Budashny wrote: > On Tue, Dec 1, 2009 at 9:00 AM, Max Lapshin wrote: > >> On Tue, Dec 1, 2009 at 9:43 AM, Dmitriy Budashny >> wrote: >> > PS: I didn't use new git-based mechanism of proposing patches, because as >> I >> > said it looks like a workaround for me and not a solution. >> >> Dmitry, how do you think, erlang team, will apply your patch, if they >> have already migrated to git? >> > Actually I didn't see any changes were done on the exact file, so I don't > see any difference to pull it from git or to take it from the released > archive file. (correct me if I've mistaken) > Btw, yes I can branch from git, made a patch there, send a link. But > 1) I didn't see any attention before, so I don't know if the other mail will > be not directing towards /dev/null > 2) I think about my patch as a workaround for problem which points to the > exact places in code which do the harm > And answer to your question: no I don't think so. But if I will see any > words about `redo it in git`, I'll do so w/o any probs. > > >> Maybe it is the time to stop using CVS? >> > > Ehhh, is there any context for such a question? > -- > wbr, dym > From bgustavsson@REDACTED Tue Dec 1 11:24:20 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Tue, 1 Dec 2009 11:24:20 +0100 Subject: [erlang-patches] Re: small patch for tv In-Reply-To: <891161a10911302344x35055a57xca03d09707fcc7b5@mail.gmail.com> References: <891161a10910220722s2cbae812pddbe8fcc1387a263@mail.gmail.com> <891161a10910230139w78c1e1aaj8cc90b9f777641b1@mail.gmail.com> <891161a10911302243t594c529frcdfc2a949ab736a7@mail.gmail.com> <891161a10911302344x35055a57xca03d09707fcc7b5@mail.gmail.com> Message-ID: <6672d0160912010224i11ad621ei5e803bc618b832b3@mail.gmail.com> On Tue, Dec 1, 2009 at 8:44 AM, Dmitriy Budashny wrote: > On Tue, Dec 1, 2009 at 9:00 AM, Max Lapshin wrote: > >> On Tue, Dec 1, 2009 at 9:43 AM, Dmitriy Budashny > Btw, yes I can branch from git, made a patch there, send a link. But > 1) I didn't see any attention before, so I don't know if the other mail will > be not directing towards /dev/null Except for obviously wrong or inappropriate patches, we will include everything in the 'pu' branch. See http://wiki.github.com/erlang/otp/submitting-patches > 2) I think about my patch as a workaround for problem which points to the > exact places in code which do the harm By submitting in your patch in git, it will be much easier for everyone else to testing your patch and the patch will be listed in "What's cooking in erlang/otp", so it will not be forgotten. If you also could provide some instructions how to reproduce the problem, it would help to find the real problem (please put all information in the commit message) > And answer to your question: no I don't think so. But if I will see any > words about `redo it in git`, I'll do so w/o any probs. Please redo it in git. :) Actually, I would suggest copying nthtail/2 from lists and modify it like this (NOT TESTED): safe_nthtail(_, []) -> []; safe_nthtail(1, [_|T]) -> T; safe_nthtail(N, [_|T]) when N > 1 -> safe_nthtail(N - 1, T); safe_nthtail(0, L) when is_list(L) -> L. rather than traversing the list twice. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From bgustavsson@REDACTED Tue Dec 1 14:21:23 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Tue, 1 Dec 2009 14:21:23 +0100 Subject: [erlang-patches] Re: small patch for tv In-Reply-To: <891161a10912010441o66aaf8a0q8a4adc590d319e61@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> Message-ID: <6672d0160912010521scbebe49nb1b923d30d23e83f@mail.gmail.com> 2009/12/1 Dmitriy Budashny : > 2009/12/1 Bj?rn Gustavsson > > git fetch git://github.com/dym/otp.git tv_nthtail_fix > Thanks! Pulled and included in the 'pu' branch. 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. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From dale@REDACTED Tue Dec 1 23:44:41 2009 From: dale@REDACTED (Dale Harvey) Date: Tue, 1 Dec 2009 22:44:41 +0000 Subject: [erlang-patches] Minor Documentation Fixes Message-ID: git fetch git://github.com/daleharvey/otp.git docs_fixes I dont think theres anything controversial, just some minor bugs in the documentation xml that prevent it being parsed Reasonably new to git so just say if anything was done wrongly Cheers, Dale From bgustavsson@REDACTED Wed Dec 2 08:00:36 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Wed, 2 Dec 2009 08:00:36 +0100 Subject: [erlang-patches] Minor Documentation Fixes In-Reply-To: References: Message-ID: <6672d0160912012300x74b67d7du941437af8c2d1bf8@mail.gmail.com> On Tue, Dec 1, 2009 at 11:44 PM, Dale Harvey wrote: > git fetch git://github.com/daleharvey/otp.git docs_fixes > > I dont think theres anything controversial, just some minor bugs in the > documentation xml that prevent it being parsed Thanks! I have merged your branch to 'pu' and I will talk to the people maintaining those applications. I suspect that at least some of those files are not actually used in the documentation (for instance, the file for ASN1 contains historical release notes and I could not find a link to it from the current documentation), so we might fix the problem by removing the files in questions. Thanks for pointing out the problem. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From andrew@REDACTED Wed Dec 2 21:00:20 2009 From: andrew@REDACTED (Andrew Thompson) Date: Wed, 2 Dec 2009 15:00:20 -0500 Subject: [erlang-patches] Erlang ODBC fix for OSX 10.5 In-Reply-To: <20091130054102.GC8574@hijacked.us> References: <20091130053700.GB8574@hijacked.us> <20091130054102.GC8574@hijacked.us> Message-ID: <20091202200020.GC2417@hijacked.us> Did this fall through the cracks? I notice that patches submitted after mine have received some response, but not this one? I'm trying not to take it personally ;) Andrew From bgustavsson@REDACTED Wed Dec 2 22:17:01 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Wed, 2 Dec 2009 22:17:01 +0100 Subject: [erlang-patches] Erlang ODBC fix for OSX 10.5 In-Reply-To: <20091202200020.GC2417@hijacked.us> References: <20091130053700.GB8574@hijacked.us> <20091130054102.GC8574@hijacked.us> <20091202200020.GC2417@hijacked.us> Message-ID: <6672d0160912021317nea0b2c6g21be0b065c27e863@mail.gmail.com> On Wed, Dec 2, 2009 at 9:00 PM, Andrew Thompson wrote: > Did this fall through the cracks? I notice that patches submitted after > mine have received some response, but not this one? I'm trying not to > take it personally ;) Yes, it did fall through the cracks. Thanks for reminding me. Now included in 'pu'. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From puzza007@REDACTED Thu Dec 3 13:26:53 2009 From: puzza007@REDACTED (Paul Oliver) Date: Thu, 3 Dec 2009 12:26:53 +0000 Subject: Patch: Add Blowfish ECB, CBC and OFB modes Message-ID: Hi, My patch that was accepted into R13B02 only implemented CFB64 mode. This branch consists of two patches. One implements the remaining Blowfish modes, which are supported by all versions of OpenSSL. The second adds a crypto test suite with a blowfish batch. git fetch git://github.com/puzza007/otp.git blowfish_ecb_cbc_ofb Cheers, Paul. From bgustavsson@REDACTED Thu Dec 3 14:13:47 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Thu, 3 Dec 2009 14:13:47 +0100 Subject: [erlang-patches] Patch: Add Blowfish ECB, CBC and OFB modes In-Reply-To: References: Message-ID: <6672d0160912030513s3769fc04la6d5bdec8f0ac14a@mail.gmail.com> On Thu, Dec 3, 2009 at 1:26 PM, Paul Oliver wrote: > My patch that was accepted into R13B02 only implemented CFB64 mode. > This branch consists of two patches. One implements the remaining > Blowfish modes, which are supported by all versions of OpenSSL. The > second adds a crypto test suite with a blowfish batch. > > git fetch git://github.com/puzza007/otp.git blowfish_ecb_cbc_ofb > Thanks! Included in the 'pu' branch. And a special thanks for writing test cases. There are few minor issues that I would like have corrected. I can fix them for you, if it's OK for you: 1) Consistent user name. Can you set up your config files so that you always have the same user name and email (that part I can't help you with :) Is "Paul Oliver " what you would prefer? In that case I can fix that in the branches you have submitted so far. 2) Using shorter lines in the commit message (it is difficult to read in gitk). I can fix that for you. 3) It seems that the gist and the test suite contains the same test code, so perhaps the link to the gist is not necessary in the commit comment? If you agree I can fix that for you, otherwise the link can stay. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From puzza007@REDACTED Thu Dec 3 14:18:06 2009 From: puzza007@REDACTED (Paul Oliver) Date: Thu, 3 Dec 2009 13:18:06 +0000 Subject: [erlang-patches] Patch: Add Blowfish ECB, CBC and OFB modes In-Reply-To: <6672d0160912030513s3769fc04la6d5bdec8f0ac14a@mail.gmail.com> References: <6672d0160912030513s3769fc04la6d5bdec8f0ac14a@mail.gmail.com> Message-ID: 2009/12/3 Bj?rn Gustavsson : > On Thu, Dec 3, 2009 at 1:26 PM, Paul Oliver wrote: >> My patch that was accepted into R13B02 only implemented CFB64 mode. >> This branch consists of two patches. ?One implements the remaining >> Blowfish modes, which are supported by all versions of OpenSSL. ?The >> second adds a crypto test suite with a blowfish batch. >> >> git fetch git://github.com/puzza007/otp.git blowfish_ecb_cbc_ofb >> > > Thanks! Included in the 'pu' branch. > > And a special thanks for writing test cases. My pleasure. :) > There are few minor issues that I would like have corrected. I can fix > them for you, if it's OK for you: > > 1) Consistent user name. Can you set up your config files so that > you always have the same user name and email (that part I can't > help you with :) Is "Paul Oliver " what you > would prefer? In that case I can fix that in the branches you have > submitted so far. Please do. I'll update my config on all the boxes I dev against. > 2) Using shorter lines in the commit message (it is difficult to read > in gitk). I can fix that for you. Thanks. I'll keep it to 80 wide in future. > 3) It seems that the gist and the test suite contains the same > test code, so perhaps the link to the gist is not necessary in > the commit comment? If you agree I can fix that for you, otherwise > the link can stay. Please do. ;} My bad. Cheers, Paul. From zl9d97p02@REDACTED Thu Dec 3 20:33:53 2009 From: zl9d97p02@REDACTED (Simon Cornish) Date: Thu, 3 Dec 2009 11:33:53 -0800 Subject: Fwd: Fix crash when decoding commercial certificates In-Reply-To: References: Message-ID: <22007-1259868834-879745@sneakemail.com> (first sent by mistake to erlang-bugs) The Erlang ssl application assumes that it is fully aware of all existing extensions, that they are in its list of SSL extensions, and it is able to decode them. However since this is not true commercial certificates containing the id-pe-logotype extension crash the decoder. This is only one example of an extension that the ssl application is unaware of. This patch improves the behaviour by returning the OID tuple and raw extension data for extensions that cannot be decoded. git fetch git://github.com/dotsimon/otp.git ssl_pkix_extensions The attached bare certificate (ie. the BEGIN/END CERTIFICATE lines have been removed) can be used to test the fault and fix as shown: {ok, Bin} = file:read_file("server.bare"). Cert = base64:decode(binary_to_list(Bin)). ssl_pkix:decode_cert(Cert,[ssl]). -------------- next part -------------- A non-text attachment was scrubbed... Name: server.bare Type: application/octet-stream Size: 866 bytes Desc: not available URL: From zl9d97p02@REDACTED Thu Dec 3 20:44:18 2009 From: zl9d97p02@REDACTED (Simon Cornish) Date: Thu, 3 Dec 2009 11:44:18 -0800 Subject: SCTP improvements Message-ID: <22189-1259869459-721251@sneakemail.com> This branch contains one fix, to correctly type sctp_assoc_id as signed, not unsigned. And one enhancement to implement a non-blocking gen_sctp:connect git fetch git://github.com/dotsimon/otp.git sctp_connect_enhancement The fix for the sctp_assoc_id type is correct for all platforms but only noticeable when using the SCTP NKE under OSX. The non-blocking connect enhancement offers a way to avoid an race-condition noted in the existing code. More detail (and some spelling mistakes!) can be found in the commit message: http://github.com/dotsimon/otp/commit/bb9d9a9e813242275e868457c4b30f40f13d65e8 /Simon From bgustavsson@REDACTED Thu Dec 3 21:27:31 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Thu, 3 Dec 2009 21:27:31 +0100 Subject: [erlang-patches] SCTP improvements In-Reply-To: <22189-1259869459-721251@sneakemail.com> References: <22189-1259869459-721251@sneakemail.com> Message-ID: <6672d0160912031227s39df54d4pb7a7a015325e5bdf@mail.gmail.com> On Thu, Dec 3, 2009 at 8:44 PM, Simon Cornish wrote: > git fetch git://github.com/dotsimon/otp.git sctp_connect_enhancement Thanks! There are the same issues as in your other patch (long lines and a local email address). Should I fix those issues? -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From bgustavsson@REDACTED Fri Dec 4 16:28:00 2009 From: bgustavsson@REDACTED (=?ISO-8859-1?Q?Bj=F6rn_Gustavsson?=) Date: Fri, 04 Dec 2009 16:28:00 +0100 Subject: What's cooking in erlang/otp (2009-12-04) Message-ID: <4B192A80.9050604@gmail.com> Thanks, noss, for filling the placeholder page I mentioned in the previous email. Now real information can be found at: http://wiki.github.com/erlang/otp/refining-patches-using-git ------------------------------------------------------------ [Graduated] * egil/misc-egd (2009-11-26) 2 commits - Add test cases for egd_primitives (998ccfc) - Optimize egd render speed and reduce code size (8d2bc78) * mh/to_erl-error-messages (2009-11-27) 1 commit - to_erl: Include strerror(errno) in error messages (ace6e42) * sv/sys_get_status (2009-11-27) 2 commits - Teach sys:get_status/1,2 to call Mod:format_status/2 (88b530e) - gen_fsm: Fix format_status/2 to handle Pids (2a9b7a1) ------------------------------------------------------------ [New topics] * at/odbc_osx_fix (2009-11-30) 1 commit - Workaround broken ODBC implementation on OSX 10.5 (88c71c9) * bg/otp_build-improvements (2009-12-02) 3 commits - Support updating the primary bootstrap in a git repository (d6a3861) - Determine which VCS is being used (c16fcaf) - .gitignore: Don't ignore script/boot files in bootstrap/bin (2bcfe0d) * bg/slimmer-history (2009-12-02) 2 commits - beam_makepos: Do not put any dates in generated files (a910f28) - compiler: Teach 'slim' to omit compilation info (2c76865) We don't want the compiler to put the date/time or the compiler's version numbers into the beam files in the checked-in bootstrap, because then all beam files in the bootstrap will have to be replaced every time the primary bootstrap is updated. The only potential problem this might cause is *if* the primary bootstrap should need to be native-code compiled (the hipe compiler checks the version number to make sure that the beam file was compiled by a supported compiler, I think). * db/tv_nthtail_fix (2009-12-01) 1 commit - Fix for tv which restarts while trying to open a table (bfc18a8) 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. * dh/doc-fixes (2009-12-01) 1 commit - fix for minor documentation xml issues (185bb92) The problems were in two XML files that are not currently used and will soon be removed. The third file (in wx) is not a complete XML, but merely a template. It should have another extension. We will keep this branch as a reminder until the real problems has been fixed. * po/blowfish_ecb_cbc_ofb (2009-12-03) 2 commits - Add Blowfish tests (24300da) - Add Blowfish ECB, CBC and OFB modes (b120895) The crypto test suite is now included in ccase/r13b04_dev, so I have rebased this branch and resolved the conflicts in Makefile and crypto.spec. * sc/sctp_connect_enhancement (2009-12-02) 2 commits - Implement a non-blocking gen_sctp:connect (92f3cee) - Correctly type sctp_assoc_id as signed, not unsigned (2666b68) Raimo (the maintainer of the sctp code in OTP) is quite busy with the new erlang.org site (demo.erlang.org), so there might be a while before he will look at this branch, but it will definitely happend before the next release. * sc/ssl_pkix_extensions (2009-12-02) 1 commit - Fix crash when decoding commercial certificates (31ccb1d) Dan G says that the pkix stuff is deprecated, but that doesn't seem to be documented and the replacement application public_key is not documented either. We should probably include this correction anyway. We will keep this branch until some sort of decision has been made. ------------------------------------------------------------ [Cooking] * as/c_nc-fix (2009-11-29) 1 commit - Fix c:nc to use outdir or cwd to find compiled object file (0d4f83c) I think there should be a test case before we graduate this topic, so that we'll know that it will continue to work. * bd/http_chunk_fix (2009-11-27) 1 commit - http_chunk data handling/passing improvement. (c2553be) * po/odbc-update-delete-no-rows (2009-11-26) 1 commit - SQL_NO_DATA and SQLSTATE 00000 indicate success for updates/deletes that affect no rows (1a564f8) From tranniec@REDACTED Fri Dec 4 18:03:05 2009 From: tranniec@REDACTED (Trannie Carter) Date: Fri, 4 Dec 2009 12:03:05 -0500 Subject: Detect reliable floating point exceptions on Mac OS X Tiger Message-ID: <20091204170305.GE12393@xserve.internal.designvox.com> This is a repost of a patch I sent this past January. http://www.erlang.org/pipermail/erlang-patches/2009-January/000360.html You can grab it from GitHub: git fetch git://github.com/nottwo/otp.git premodern-fpe thanks, trannie From bgustavsson@REDACTED Sun Dec 6 13:05:50 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Sun, 6 Dec 2009 13:05:50 +0100 Subject: [erlang-patches] Detect reliable floating point exceptions on Mac OS X Tiger In-Reply-To: <20091204170305.GE12393@xserve.internal.designvox.com> References: <20091204170305.GE12393@xserve.internal.designvox.com> Message-ID: <6672d0160912060405n324c7806n1444db6b6a99e854@mail.gmail.com> On Fri, Dec 4, 2009 at 6:03 PM, Trannie Carter wrote: > git fetch git://github.com/nottwo/otp.git premodern-fpe Thanks! Unfortunately, the test fails on my Mac (a Mac Pro from 2008 running 10.6.2). I have attached the relevant part of config.log. Despite it not working on my Mac, I have included your branch in the 'pu' branch, in case someone wants to test it or improve it. Obviously, if I don't receive an improved version within a reasonable time, I will drop it. (Unfortunately, for the moment I am too busy to spend time on investigating this issue myself, even though it certainly would be nice to have native-code compilation working on Intel Macs.) -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB -------------- next part -------------- A non-text attachment was scrubbed... Name: config.log Type: application/octet-stream Size: 4372 bytes Desc: not available URL: From aleksey@REDACTED Tue Dec 8 03:25:28 2009 From: aleksey@REDACTED (Aleksey Yeschenko) Date: Tue, 8 Dec 2009 04:25:28 +0200 Subject: erlang:split_binary/2 docfix Message-ID: <5c6f8a090912071825y157b37c9pd977df1a1a0be7ab@mail.gmail.com> http://github.com/iamaleksey/otp/tree/split_binary_docfix Fixes split_binary documentation. 0 is a valid value for the Pos argument: 1> split_binary(<<1,2,3,4>>, 0). {<<>>,<<1,2,3,4>>} A one byte change (one bit, actually), doesnt' break anything (obviously). From bgustavsson@REDACTED Tue Dec 8 07:43:02 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Tue, 8 Dec 2009 07:43:02 +0100 Subject: [erlang-patches] erlang:split_binary/2 docfix In-Reply-To: <5c6f8a090912071825y157b37c9pd977df1a1a0be7ab@mail.gmail.com> References: <5c6f8a090912071825y157b37c9pd977df1a1a0be7ab@mail.gmail.com> Message-ID: <6672d0160912072243q7350b04fnf3f2487998bcfe0a@mail.gmail.com> On Tue, Dec 8, 2009 at 3:25 AM, Aleksey Yeschenko wrote: > http://github.com/iamaleksey/otp/tree/split_binary_docfix > > Fixes split_binary documentation. 0 is a valid value for the Pos argument: > > 1> split_binary(<<1,2,3,4>>, 0). > {<<>>,<<1,2,3,4>>} Thanks! Included in 'pu', will soon be graduated to the development branch. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From christopher.faulet@REDACTED Tue Dec 8 20:16:11 2009 From: christopher.faulet@REDACTED (Christopher Faulet) Date: Tue, 08 Dec 2009 20:16:11 +0100 Subject: macros overloading in epp Message-ID: <4B1EA5FB.8010908@capflam.org> Hi all, Here is the patch to support macros overloading in epp that I have sent some weeks ago: git fetch git://github.com/capflam/otp.git epp_fix I have also updated the epp testsuite. Best regards, -- Christopher Faulet -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 261 bytes Desc: OpenPGP digital signature URL: From bgustavsson@REDACTED Tue Dec 8 20:48:22 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Tue, 8 Dec 2009 20:48:22 +0100 Subject: [erlang-patches] macros overloading in epp In-Reply-To: <4B1EA5FB.8010908@capflam.org> References: <4B1EA5FB.8010908@capflam.org> Message-ID: <6672d0160912081148y1727814fk7f01fc0af99f2daf@mail.gmail.com> On Tue, Dec 8, 2009 at 8:16 PM, Christopher Faulet wrote: > Here is the patch to support macros overloading in epp that I have sent > some weeks ago: > > git fetch git://github.com/capflam/otp.git epp_fix Thanks! I will include it in 'pu'. Two things: 1. Your last commit did not have the same author information as the previous two commits. I changed it to "Christopher Faulet ". 2. To include the patch in OTP (assuming that we don't find any problems), the documentation will need to be updated. The file to update is system/doc/reference_manual/macros.xml. (Unfortunately it is not possible to build the documentation (easily) for verification, but we are working on it.) -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From tranniec@REDACTED Tue Dec 8 23:28:44 2009 From: tranniec@REDACTED (Trannie Carter) Date: Tue, 8 Dec 2009 17:28:44 -0500 Subject: [erlang-patches] Detect reliable floating point exceptions on Mac OS X Tiger In-Reply-To: <6672d0160912060405n324c7806n1444db6b6a99e854@mail.gmail.com> References: <20091204170305.GE12393@xserve.internal.designvox.com> <6672d0160912060405n324c7806n1444db6b6a99e854@mail.gmail.com> Message-ID: <20091208222844.GD14582@xserve.internal.designvox.com> Hi Bj?rn, On Sun, Dec 06, 2009 at 01:05:50PM +0100, Bj?rn Gustavsson wrote: > On Fri, Dec 4, 2009 at 6:03 PM, Trannie Carter wrote: > > git fetch git://github.com/nottwo/otp.git premodern-fpe > > Unfortunately, the test fails on my Mac (a Mac Pro from 2008 running 10.6.2). > I have attached the relevant part of config.log. Thanks for testing the patch on 10.6. Apparently, Apple has deprecated some of the ucontext functions with Snow Leopard, and including triggers a preprocessor error. Because of this, I'm assuming that reliable floating point exceptions are also not being detected on 10.6. Do you have time to verify that in your config.log? The search string "unreliable" will find the test. >From my reading of the source, HiPE will never be enabled on 10.6 because of its inclusion of & the breaking of the reliable fpe test. I've updated the premodern-fpe branch to add -D_XOPEN_SOURCE to CPPFLAGS if configure is run on a darwin platform, as the #error suggests. git fetch git://github.com/nottwo/otp.git premodern-fpe thanks, trannie From bgustavsson@REDACTED Wed Dec 9 08:38:15 2009 From: bgustavsson@REDACTED (=?ISO-8859-1?Q?Bj=F6rn_Gustavsson?=) Date: Wed, 09 Dec 2009 08:38:15 +0100 Subject: What's cooking in erlang/otp (2009-12-09) Message-ID: <4B1F53E7.60301@gmail.com> There is now an HTML page with an overview of what's in the 'pu' branch: http://erlang.github.com/otp/ The comments about the branches on that page will be taken from the latest What's cooking email. ------------------------------------------------------------ [Graduated] * ay/split_binary_docfix (erts) (2009-12-08) 1 commit + documentation: Fix erlang:split_binary/2 Pos argument (1556a6a) ------------------------------------------------------------ [New topics] * cf/epp-macro-overloading (stdlib) (2009-12-07) 3 commits - 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. * tc/premodern-fpe (erts) (2009-12-08) 2 commits - Add -D_XOPEN_SOURCE to CPPFLAGS on Darwin platforms (ea2fae6) - Test for reliable fpes on Darwin platforms without DARWIN_MODERN_MCONTEXT (b95cf92) 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. Is it still possible to enable hipe on PPC macs? ------------------------------------------------------------ [Cooking] * as/c_nc-fix (stdlib) (2009-11-29) 1 commit - Fix c:nc to use outdir or cwd to find compiled object file (0d4f83c) I think there should be a test case before we graduate this topic, so that we'll know that it will continue to work. * 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) (2009-12-02) 3 commits - Support updating the primary bootstrap in a git repository (d6a3861) - Determine which VCS is being used (c16fcaf) - .gitignore: Don't ignore script/boot files in bootstrap/bin (2bcfe0d) * bg/slimmer-history (compiler, erts) (2009-12-02) 2 commits - beam_makepos: Do not put any dates in generated files (a910f28) - compiler: Teach 'slim' to omit compilation info (2c76865) We don't want the compiler to put the date/time or the compiler's version numbers into the beam files in the checked-in bootstrap, because then all beam files in the bootstrap will have to be replaced every time the primary bootstrap is updated. The only potential problem this might cause is *if* the primary bootstrap should need to be native-code compiled (the hipe compiler checks the version number to make sure that the beam file was compiled by a supported compiler, I think). * db/tv_nthtail_fix (tv) (2009-12-01) 1 commit - Fix for tv which restarts while trying to open a table (bfc18a8) 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. * po/blowfish_ecb_cbc_ofb (crypto) (2009-12-08) 3 commits - Eliminate signed/unsigned compiler warnings (5747f67) - Add Blowfish tests (24300da) - Add Blowfish ECB, CBC and OFB modes (b120895) This branch is currently being tested in our daily builds and if no problems turns up this branch will likely be graduated soon. I eliminated some warnings in a separate commit; I intend to squash those changes into commit b120895 before graduation. * 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_enhancement (erts, kernel) (2009-12-02) 2 commits - Implement a non-blocking gen_sctp:connect (92f3cee) - Correctly type sctp_assoc_id as signed, not unsigned (2666b68) Raimo (the maintainer of the sctp code in OTP) is quite busy with the new erlang.org site (demo.erlang.org), so there might be a while before he will look at this branch, but it will definitely happen before the next release. * sc/ssl_pkix_extensions (ssl) (2009-12-02) 1 commit - Fix crash when decoding commercial certificates (31ccb1d) The pkix stuff is in the ssl application is deprecated and has been replaced with public key application. That functionality in public_key is also documented. It seems unlikely that we include this branch in OTP, but we will keep it in 'pu' for a little bit longer. ------------------------------------------------------------ [Dropped] * dh/doc-fixes (asn1, debugger, wx) (2009-12-01) 1 commit . fix for minor documentation xml issues (7e10c60) Thanks for noticing those issues. Two problems were in XML files that were not used; they have now been removed. Another problem was in a template file (intentionally containing incomplete XML cod); that file has now been renamed to have the extension .xml.src instead of .src.xml. From christopher.faulet@REDACTED Thu Dec 10 11:18:55 2009 From: christopher.faulet@REDACTED (christopher faulet) Date: Thu, 10 Dec 2009 11:18:55 +0100 Subject: [erlang-patches] macros overloading in epp In-Reply-To: <6672d0160912081148y1727814fk7f01fc0af99f2daf@mail.gmail.com> References: <4B1EA5FB.8010908@capflam.org> <6672d0160912081148y1727814fk7f01fc0af99f2daf@mail.gmail.com> Message-ID: <4B20CB0F.8070302@capflam.org> Bj?rn Gustavsson wrote: > 2. To include the patch in OTP (assuming that we don't find any > problems), the documentation > will need to be updated. The file to update is > system/doc/reference_manual/macros.xml. > (Unfortunately it is not possible to build the documentation (easily) > for verification, but we are working on it.) Hi Bj?rn, I updated the documentation. You can fetch it if you want: git fetch git://github.com/capflam/otp.git epp_fix Thanks. -- Christopher Faulet -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 260 bytes Desc: OpenPGP digital signature URL: From bgustavsson@REDACTED Thu Dec 10 15:18:36 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Thu, 10 Dec 2009 15:18:36 +0100 Subject: Change in the on_load mechanism Message-ID: <6672d0160912100618t66fe8e21pbfedf3de1990c29e@mail.gmail.com> I have now changed the expected return value for an on_load function as described here: http://github.com/erlang/otp/commit/7390bb7c178f3bed10283ef15065cea3bdc11090 Compared to my suggestion in another discussion thread, there is a slight change. There will be a message sent to the error_logger if anything else than an atom is returned. That way, exceptions will always cause an error_logger message. By explicitly returning an atom (other than 'ok'), you can silently prevent the module from loading. You can try out the new on_load mechanism by building from the 'pu' branch (which will also include Sverker's update of the NIFs). If you have any comments or suggestions regarding this change, please send them as soon as possible. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From BWhittle@REDACTED Fri Dec 11 02:36:36 2009 From: BWhittle@REDACTED (Blaine Whittle) Date: Thu, 10 Dec 2009 17:36:36 -0800 Subject: win32 memory allocation fix / mmap emulation Message-ID: This patch attempts to address the win32 memory fragmentation / OMM problem. Additionally the link step now uses LARGEADDRESSAWARE which flags the OS to allocate 3 gigs of VM to the process instead of the standard 2 (XP requires a small config change to use it, but newer OS's should be fine. Google "largeaddressaware 3g" for more info). The memory fragmentation problem results in Erlang crashing with an OOM error. Often this occurs when the process only has between 1.1gb and 1.3gb allocated. Here's a post where someone ran into memory issues while running mnesia on windows. http://old.nabble.com/Is-mnesia-erlang-ETP-strong-enough--td21960047.html The reason for the memory fragmentation is that most of Erlang's memory manager code is disabled / ifdef out for windows builds. I assume the reason for this config is the lack of MMAP on win32. However, anonymous mmap can "mostly" be emulated via VirtualAlloc and VirtualFree. The two significant differences between VirtualAlloc and anonymous mmap are 1) Virtual memory is allocated in a much large page sizes then the standard OS page size. 2) An allocated block cannot be released piecemeal, it's all or nothing (fortunately mseg already has code to handle non-partial frees via the CAN_PARTLY_DESTROY define). Credit for mmap emulation code goes to http://www.genesys-e.de/jwalter/mix4win.htm The Erlang patch / commit can be found here http://github.com/bwhittle/otp/tree/win32_memfix or fetched via git fetch git://github.com/bwhittle/otp.git win32_memfix In order to create a build with the memory fix do the following... 1) make clean 2) ./otp_build autoconf 3) ./otp_build configure 4) Manually edit erts/win32/config.h and append the following two lines #define HAVE_MMAP 1 #define EMULATE_MMAP_WIN32 1 5) Then continue with the normal build process ./otp_build boot -a, etc I left this part of the build manual as I'm unsure exactly where the defines should be placed (i.e. either standard windows defines in erl_win_sys.h, a change to the compiler params in the win32 makefile , or via a change to the configure script). As for a test case I just used copy and pasted a simple line into the console. V = <<0:829967295>>,V1 = <<1:829967295>>,V2 = <<2:829967295>>,V3 = <<3:829967295>>,V4 = <<4:829967295>>,V5 = <<5:829967295>>,V6 = <<6:829967295>>,V7 = <<7:829967295>>,V8 = <<8:829967295>>,V9 = <<9:829967295>>. Without the fix, Erlang exits on my machine with an OOM error after executing the above line 3 times (at which point the Erlang process is only using 1.2 to 1.3gb of memory). With the fix, I'm able to run the line 10 or 11 times before failure (at which point the process is using around 2.4gb of memory). Using other tests and smaller bit strings, I've been able to reach 2.8gb before running out of memory. From bgustavsson@REDACTED Fri Dec 11 07:35:42 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Fri, 11 Dec 2009 07:35:42 +0100 Subject: [erlang-patches] win32 memory allocation fix / mmap emulation In-Reply-To: References: Message-ID: <6672d0160912102235w72d433dao99047dcd2aeeadc5@mail.gmail.com> On Fri, Dec 11, 2009 at 2:36 AM, Blaine Whittle wrote: > This patch attempts to address the win32 memory fragmentation / OMM problem. Thanks! I have included the current version in 'pu' so that it can be tested and reviewed. For the next version of the patch, I would want most of the information in your email in the commit message itself. > ?Additionally the link step now uses LARGEADDRESSAWARE which flags the OS to allocate 3 gigs of VM to the process instead of the standard 2 (XP requires a small config change to use it, but newer OS's should be fine. ?Google "largeaddressaware 3g" for more info). Will an emulator built in that way work on Windows XP without the config change? If the answer is no, this change should be made optional and possible to enable using a configure option. If this change is totally separate from the other changes, it would be best to split it out into a separate commit (on the same branch). > > I left this part of the build manual as I'm unsure exactly where the defines should be placed (i.e. either standard windows defines in erl_win_sys.h, a change to the compiler params in the win32 makefile , or via a change to the configure script). I cannot give you a definite answer about this yet. I'll have to consult to consult with the experts on Windows and the memory manager. My gut feeling, though, is that lying about Windows having MMAP might not be the best way to got, as MMAP could possibly be used in other places in a future version of OTP. So it may be better to change the memory management code to test some other define that covers both the mmap() case and the virtual allocation functions on Windows. (For ease of reviewing, it would be a good idea to put such re-factoring into a separate commit.) Assuming that this patch works well, will there be any reason for someone wanting to turn it off? If the answer is yes, there should be a configure option to do that. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From bgustavsson@REDACTED Fri Dec 11 18:08:58 2009 From: bgustavsson@REDACTED (=?ISO-8859-1?Q?Bj=F6rn_Gustavsson?=) Date: Fri, 11 Dec 2009 18:08:58 +0100 Subject: What's cooking in erlang/otp (2009-12-11) Message-ID: <4B227CAA.7030002@gmail.com> The .gitignore files have been updated, so that the output of "git status" is now much cleaner. To also exclude directories with target dependent names created by the "configure" script (such as "i386-apple-darwin10.2.0"), add the name of the directory to the file .git/info/exclude. If you have forked the erlang/otp repository and cloned your fork, you might be asking yourself: "How do I pull in the latest changes from the erlang/otp repository?" The answer can be found here: http://help.github.com/forking/ ------------------------------------------------------------ [Graduated] * bg/slimmer-history (compiler, erts) (2009-12-02) 2 commits + beam_makepos: Do not put any dates in generated files (47bd30c) + compiler: Teach 'slim' to omit compilation info (12ce303) * po/blowfish_ecb_cbc_ofb (crypto) (2009-12-03) 2 commits + Add Blowfish tests (b113de7) + Add Blowfish ECB, CBC and OFB modes (8ca11d9) ------------------------------------------------------------ [New topics] * bg/compiler-bopt-bug (compiler) (2009-12-10) 1 commit - Fix crash in beam_bool (af198c4) * bg/on_load (erts, kernel, otp) (2009-12-10) 2 commits - Test on_load functions that don't return 'ok' (d523ce8) - Change the expected return value for on_load functions (7390bb7) A backwards-incompatible improvement of the experimental on_load mechanism. It will soon be graduated to the development branch. * bw/win32-address-space-fix (erts) (2009-12-10) 1 commit - win32 mmap emulation for mseg support + largeaddressaware linking (357167e) ------------------------------------------------------------ [Cooking] * as/c_nc-fix (stdlib) (2009-11-29) 1 commit - Fix c:nc to use outdir or cwd to find compiled object file (0d4f83c) I think there should be a test case before we graduate this topic, so that we'll know that it will continue to work. * 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) (2009-12-02) 3 commits - Support updating the primary bootstrap in a git repository (6840b32) - Determine which VCS is being used (5770b7b) - stdlib makefile: Add explicit rule (b197d92) * 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 (bfc18a8) 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. * 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_enhancement (erts, kernel) (2009-12-02) 2 commits - Implement a non-blocking gen_sctp:connect (92f3cee) - Correctly type sctp_assoc_id as signed, not unsigned (2666b68) Raimo (the maintainer of the sctp code in OTP) is quite busy with the new erlang.org site (demo.erlang.org), so there might be a while before he will look at this branch, but it will definitely happen before the next release. * sc/ssl_pkix_extensions (ssl) (2009-12-02) 1 commit - Fix crash when decoding commercial certificates (31ccb1d) The pkix stuff is in the ssl application is deprecated and has been replaced with public key application. That functionality in public_key is also documented. It seems unlikely that we will include this branch in OTP, but we will keep it in 'pu' for a little while longer. * tc/premodern-fpe (erts) (2009-12-08) 2 commits - Add -D_XOPEN_SOURCE to CPPFLAGS on Darwin platforms (ea2fae6) - Test for reliable fpes on Darwin platforms without DARWIN_MODERN_MCONTEXT (b95cf92) 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. From BWhittle@REDACTED Fri Dec 11 19:50:59 2009 From: BWhittle@REDACTED (Blaine Whittle) Date: Fri, 11 Dec 2009 10:50:59 -0800 Subject: [erlang-patches] win32 memory allocation fix / mmap emulation In-Reply-To: <6672d0160912102235w72d433dao99047dcd2aeeadc5@mail.gmail.com> References: <6672d0160912102235w72d433dao99047dcd2aeeadc5@mail.gmail.com> Message-ID: -----Original Message----- From: Bj?rn Gustavsson [mailto:bgustavsson@REDACTED] Sent: Thursday, December 10, 2009 10:36 PM To: Blaine Whittle Cc: erlang-patches@REDACTED Subject: Re: [erlang-patches] win32 memory allocation fix / mmap emulation >> This patch attempts to address the win32 memory fragmentation / OMM problem. >Thanks! I have included the current version in 'pu' so that it can be tested and reviewed. Awesome, thank you. >For the next version of the patch, I would want most of the information in your email in the commit message itself. >> ?Additionally the link step now uses LARGEADDRESSAWARE which flags the OS to allocate 3 gigs of VM to the process instead of the standard 2 (XP requires a small config change to use it, but newer OS's should be fine. ?Google "largeaddressaware 3g" for more info). > Will an emulator built in that way work on Windows XP without the config change? Yes, It's just a flag, either the OS can ignore the 3G flag or use it. It's also my understanding that the flag only matters on the host process, so linking the DLL's with LARGEADDRESSAWARE should have no effect. The flag can also be set / unset in a post build step via the visual studio command line tool editbin. This change could have been broken out into its own commit, however without the MMAP change Erlang would still die around 1.1 or 1.3 GB on Windows. >If the answer is no, this change should be made optional and possible to enable using a configure option. If this change is totally separate from the other changes, it would be best to split it out into a separate commit (on the same branch). >> I left this part of the build manual as I'm unsure exactly where the defines should be placed (i.e. either standard windows defines in erl_win_sys.h, a change to the compiler params in the win32 makefile , or via a change to the configure script). > I cannot give you a definite answer about this yet. I'll have to consult to consult with the experts on Windows and the memory manager. > My gut feeling, though, is that lying about Windows having MMAP might not be the best way to got, as MMAP could possibly be used in other places in a future version of OTP. So it may be better to change the memory management code to test some other define that covers both the mmap() case and the virtual allocation functions on Windows. (For ease of reviewing, it would be a good idea to put such re-factoring into a separate commit.) Ya, I was unsure the best way to handle the defines for that very reason. The only files that involved the MMAP change are erl_mseg.h and erl_mseg.c. However any win32 specific should go in win32\erl_win_sys.h and win32\sys.c > Assuming that this patch works well, will there be any reason for someone wanting to turn it off? If the answer is yes, there should be a configure option to do that. There are no reasons to turn it off that I'm aware of. We switched our win32 erlang VM's to a build with the MMAP stuff enabled and so far our Erlang nodes appears to be much more stable as we were having a large number of OOM crashes before the change. Blaine From rickard@REDACTED Fri Dec 11 23:21:20 2009 From: rickard@REDACTED (Rickard Green) Date: Fri, 11 Dec 2009 23:21:20 +0100 Subject: [erlang-patches] win32 memory allocation fix / mmap emulation Message-ID: <4B22C5E0.508@erlang.org> Nice! Blaine Whittle wrote: > Bj?rn Gustavsson wrote: >> My gut feeling, though, is that lying about Windows having MMAP might >> not be the best way to >> got, as MMAP could possibly be used in other places in a future >> version of OTP. So it may be >> better to change the memory management code to test some other define >> that covers both the >> mmap() case and the virtual allocation functions on Windows. (For ease >> of reviewing, it would >> be a good idea to put such re-factoring into a separate commit.) > > Ya, I was unsure the best way to handle the defines for that very reason. > The only files that involved the MMAP change are erl_mseg.h and > erl_mseg.c. However any win32 specific should go in win32\erl_win_sys.h > and win32\sys.c > However, apart from the above, the mmap()/munmap() emulation implementation is copyright GeNeSys mbH and without any specific license which makes it hard to include into Erlang/OTP. The best solution would be to drop the mmap()/munmap() emulation and just implement mseg_create()/mseg_destroy() (in erl_mseg.c) using VirtualAlloc()/VirtualFree() (which should be straightforward since they map onto each other very well). When this have been done, change the following in erl_mseg.h: #if HAVE_MMAP # define HAVE_ERTS_MSEG 1 #else # define HAVE_ERTS_MSEG 0 #endif to: #if HAVE_MMAP || defined(__WIN32__) # define HAVE_ERTS_MSEG 1 #else # define HAVE_ERTS_MSEG 0 #endif which will make other allocators use mseg_alloc for retrieving raw memory. Regards, Rickard -- Rickard Green, Erlang/OTP, Ericsson AB. From i.am@REDACTED Sat Dec 12 18:49:39 2009 From: i.am@REDACTED (Alex Suraci) Date: Sat, 12 Dec 2009 12:49:39 -0500 Subject: [erlang-patches] What's cooking in erlang/otp (2009-12-11) In-Reply-To: <4B227CAA.7030002@gmail.com> References: <4B227CAA.7030002@gmail.com> Message-ID: On Dec 11, 2009, at 12:08 PM, Bj?rn Gustavsson wrote: > [Cooking] > > * as/c_nc-fix (stdlib) (2009-11-29) 1 commit > - Fix c:nc to use outdir or cwd to find compiled object file (0d4f83c) > > I think there should be a test case before we graduate this topic, > so that we'll know that it will continue to work. I've just made a fix to my patch. Should I just make another commit or amend my previous commit (if that's possible)? Also, re: a test case, I'm working on adding one into lib/stdlib/test/c_SUITE.erl, mirroring the c_X tests. Can't quite figure out how to just run single testcases, though. My guesses with test:run are thus far unfruitful. I'm trying ts:run(stdlib, c, nc_2, [batch]), but it fails just as swiftly as with junk suite names. I must have it wrong. - Alex From i.am@REDACTED Sat Dec 12 19:55:45 2009 From: i.am@REDACTED (Alex Suraci) Date: Sat, 12 Dec 2009 13:55:45 -0500 Subject: Fix for c:nc In-Reply-To: <4B227CAA.7030002@gmail.com> References: <4B227CAA.7030002@gmail.com> Message-ID: I have amended my commit to fix both the patch itself (concat -> filename:join, and now the objfile is correctly determined). I have also added testcases for c:nc to the c_SUITE, mirroring the normal tests for c:c. git fetch git://github.com/vito/otp.git cncfix From bgustavsson@REDACTED Sat Dec 12 23:28:00 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Sat, 12 Dec 2009 23:28:00 +0100 Subject: [erlang-patches] What's cooking in erlang/otp (2009-12-11) In-Reply-To: References: <4B227CAA.7030002@gmail.com> Message-ID: <6672d0160912121428m7fccfcctf11ed78b35e52a96@mail.gmail.com> On Sat, Dec 12, 2009 at 6:49 PM, Alex Suraci wrote: > Also, re: a test case, I'm working on adding one into lib/stdlib/test/c_SUITE.erl, mirroring the c_X tests. Can't quite figure out how to just run single testcases, though. My guesses with test:run are thus far unfruitful. I'm trying ts:run(stdlib, c, nc_2, [batch]), but it fails just as swiftly as with junk suite names. I must have it wrong. To run single test case, both the module name and test case name must be spelled out. I have edited the wiki page to point that out. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From bgustavsson@REDACTED Sat Dec 12 23:44:28 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Sat, 12 Dec 2009 23:44:28 +0100 Subject: [erlang-patches] Re: Fix for c:nc In-Reply-To: References: <4B227CAA.7030002@gmail.com> Message-ID: <6672d0160912121444l6c1d49e5pf4bfb35c46d43983@mail.gmail.com> On Sat, Dec 12, 2009 at 7:55 PM, Alex Suraci wrote: > I have amended my commit to fix both the patch itself (concat -> filename:join, and now the objfile is correctly determined). > > I have also added testcases for c:nc to the c_SUITE, mirroring the normal tests for c:c. > > git fetch git://github.com/vito/otp.git cncfix Thanks! I have included your new version in 'pu'. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From bgustavsson@REDACTED Sun Dec 13 09:56:50 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Sun, 13 Dec 2009 09:56:50 +0100 Subject: [erlang-patches] Re: Fix for c:nc In-Reply-To: <6672d0160912121444l6c1d49e5pf4bfb35c46d43983@mail.gmail.com> References: <4B227CAA.7030002@gmail.com> <6672d0160912121444l6c1d49e5pf4bfb35c46d43983@mail.gmail.com> Message-ID: <6672d0160912130056k29d116a7lefba8e7a8ec656ad@mail.gmail.com> 2009/12/12 Bj?rn Gustavsson : > On Sat, Dec 12, 2009 at 7:55 PM, Alex Suraci wrote: >> I have amended my commit to fix both the patch itself (concat -> filename:join, and now the objfile is correctly determined). >> >> I have also added testcases for c:nc to the c_SUITE, mirroring the normal tests for c:c. >> >> git fetch git://github.com/vito/otp.git cncfix > > Thanks! I have included your new version in 'pu'. Now that there are test cases, I have looked at the code properly for the first time and fixed a few style issues in a separate commit. I intend to squash that commit into your commit (you will retain authorship) before merging the branch into the development branch. Here is my fix-up commit: http://github.com/erlang/otp/commit/0b2f209c6c1414f823ffbf34d03fc19156284a1a If you see any problems with this, speak up as soon as possible, because I plan to merge your branch within a few days. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From i.am@REDACTED Sun Dec 13 20:13:50 2009 From: i.am@REDACTED (Alex Suraci) Date: Sun, 13 Dec 2009 14:13:50 -0500 Subject: [erlang-patches] Re: Fix for c:nc In-Reply-To: <6672d0160912130056k29d116a7lefba8e7a8ec656ad@mail.gmail.com> References: <4B227CAA.7030002@gmail.com> <6672d0160912121444l6c1d49e5pf4bfb35c46d43983@mail.gmail.com> <6672d0160912130056k29d116a7lefba8e7a8ec656ad@mail.gmail.com> Message-ID: On Dec 13, 2009, at 3:56 AM, Bj?rn Gustavsson wrote: > Now that there are test cases, I have looked at the > code properly for the first time and fixed a few style > issues in a separate commit. I intend to squash that > commit into your commit (you will retain authorship) > before merging the branch into the development branch. > > Here is my fix-up commit: > > http://github.com/erlang/otp/commit/0b2f209c6c1414f823ffbf34d03fc19156284a1a > > If you see any problems with this, speak up as soon > as possible, because I plan to merge your branch > within a few days. > > -- > Bj?rn Gustavsson, Erlang/OTP, Ericsson AB Looks good to me. Much cleaner. - Alex From vladdu55@REDACTED Mon Dec 14 13:00:37 2009 From: vladdu55@REDACTED (Vlad Dumitrescu) Date: Mon, 14 Dec 2009 13:00:37 +0100 Subject: Updated reference manual to refer to EEP8 Message-ID: <95be1d3b0912140400q3d9b77betd16176196145e372@mail.gmail.com> Hi! I added a short reference to EEP8 to the reference manual. It might not be the right place, but I couldn't think of a better one. I am also unsure if I used the tag properly (since I can't build the docs). git fetch git://github.com/vladdu/otp.git eep8_doc best regards, Vlad From bgustavsson@REDACTED Mon Dec 14 14:42:09 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Mon, 14 Dec 2009 14:42:09 +0100 Subject: [erlang-patches] Updated reference manual to refer to EEP8 In-Reply-To: <95be1d3b0912140400q3d9b77betd16176196145e372@mail.gmail.com> References: <95be1d3b0912140400q3d9b77betd16176196145e372@mail.gmail.com> Message-ID: <6672d0160912140542y1c62165eg36b2463ad094536d@mail.gmail.com> On Mon, Dec 14, 2009 at 1:00 PM, Vlad Dumitrescu wrote: > I added a short reference to EEP8 to the reference manual. > > It might not be the right place, but I couldn't think of a better one. > I am also unsure if I used the tag properly (since I can't > build the docs). > > git fetch git://github.com/vladdu/otp.git eep8_doc Thanks! Included in the 'pu' branch. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From bgustavsson@REDACTED Mon Dec 14 14:56:25 2009 From: bgustavsson@REDACTED (=?ISO-8859-1?Q?Bj=F6rn_Gustavsson?=) Date: Mon, 14 Dec 2009 14:56:25 +0100 Subject: What's cooking in erlang/otp (2009-12-14) Message-ID: <4B264409.5030701@gmail.com> ------------------------------------------------------------ [Graduated] * as/c_nc-fix (stdlib) (2009-12-13) 2 commits + c_SUITE: Use new style guard tests (b9993d7) + Fix c:nc to use outdir or cwd to find compiled object file (de623fd) * bg/compiler-bopt-bug (compiler) (2009-12-11) 2 commits + beam_bool: Fix generation of code that does not validate (88efa63) + Fix crash in beam_bool (af198c4) * bg/on_load (compiler, erts, kernel, otp) (2009-12-10) 2 commits + Test on_load functions that don't return 'ok' (1fe8944) + Change the expected return value for on_load functions (7ab33f4) ------------------------------------------------------------ [New topics] * vd/eep8_doc (otp) (2009-12-14) 1 commit - add reference to EEP8 (36d251b) ------------------------------------------------------------ [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) (2009-12-02) 3 commits - Support updating the primary bootstrap in a git repository (6840b32) - Determine which VCS is being used (5770b7b) - stdlib makefile: Add explicit rule (b197d92) * bw/win32-address-space-fix (erts) (2009-12-10) 1 commit - win32 mmap emulation for mseg support + largeaddressaware linking (357167e) The branch in its current shape cannot be included in OTP because it includes copyrighted code with an unknown license. It is also overkill to emulate mmap() (and it could cause other problems in the future); the easiest and most straightforward solution is to implement mseg_create()/mseg_destroy() (in erl_mseg.c) using VirtualAlloc()/VirtualFree(). * 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 (bfc18a8) 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. * 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_enhancement (erts, kernel) (2009-12-02) 2 commits - Implement a non-blocking gen_sctp:connect (92f3cee) - Correctly type sctp_assoc_id as signed, not unsigned (2666b68) Raimo (the maintainer of the sctp code in OTP) is quite busy with the new erlang.org site (demo.erlang.org), so there might be a while before he will look at this branch, but it will definitely happen before the next release. * sc/ssl_pkix_extensions (ssl) (2009-12-02) 1 commit - Fix crash when decoding commercial certificates (31ccb1d) The pkix stuff is in the ssl application is deprecated and has been replaced with public key application. That functionality in public_key is also documented. It seems unlikely that we will include this branch in OTP, but we will keep it in 'pu' for a little while longer. * tc/premodern-fpe (erts) (2009-12-08) 2 commits - Add -D_XOPEN_SOURCE to CPPFLAGS on Darwin platforms (ea2fae6) - Test for reliable fpes on Darwin platforms without DARWIN_MODERN_MCONTEXT (b95cf92) 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. From zl9d97p02@REDACTED Mon Dec 14 20:32:32 2009 From: zl9d97p02@REDACTED (Simon Cornish) Date: Mon, 14 Dec 2009 11:32:32 -0800 Subject: ei_skip_term() doesn't handle funs properly Message-ID: <22007-1260819158-203350@sneakemail.com> Fix ei_skip_term() handling of funs encoded as NEW_FUN_EXT git fetch git://github.com/dotsimon/otp.git ei_decode_skip_fun This seemed so obvious I couldn't think of anything else to add in the commit comment! /Simon From jean-sebastien.pedron@REDACTED Mon Dec 14 22:00:56 2009 From: jean-sebastien.pedron@REDACTED (=?UTF-8?B?SmVhbi1Tw6liYXN0aWVuIFDDqWRyb24=?=) Date: Mon, 14 Dec 2009 22:00:56 +0100 Subject: Add support for dependencies Makefile Message-ID: <4B26A788.5050303@dumbbell.fr> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hello, I committed my previous proposal for adding dependencies Makefile support to erlc(1) and compile(3) to github. To sum up what this is about, dependencies Makefiles may be used (eg. included in a main Makefile) to automate dependency tracking. Here is an example of a produced Makefile rule: module.beam: module.erl header.hrl \ ~ /usr/local/lib/erlang/lib/eunit-2.1.4/include/eunit.hrl You may find more informations regarding background, new options and examples on github's wiki: http://wiki.github.com/dumbbell/otp/dependencies-makefile The GIT branch may be fetched using the following command: git fetch git://github.com/dumbbell/otp.git dependencies_makefile The branch is named "dependencies_makefile". This branch also provides documentation and test suite updates. - -- Jean-S?bastien P?dron http://www.dumbbell.fr/ PGP Key: http://www.dumbbell.fr/pgp/pubkey.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (FreeBSD) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAksmp4gACgkQa+xGJsFYOlMkRgCfQFzNdgaN/XRoanFm4fkw6353 QCsAnR9fVuETqdeDEDUTmXNQwkguTaHj =wGkT -----END PGP SIGNATURE----- From zl9d97p02@REDACTED Mon Dec 14 23:59:25 2009 From: zl9d97p02@REDACTED (Simon Cornish) Date: Mon, 14 Dec 2009 14:59:25 -0800 Subject: make clean fails in erts Message-ID: <955-1260831565-905618@sneakemail.com> The Apple compiler creates DWARF debugging symbols in a bundle (ie. a directory) named .dSYM When building from ccase/r13b04_dev (and probably any build with debugging symbols enabled) make clean fails in erts trying to remove child_setup.dSYM In order for make clean to work correctly, the rm command needs -r also git fetch git://github.com/dotsimon/otp.git darwin_build_rm_dSYMN /Simon From bgustavsson@REDACTED Tue Dec 15 00:10:52 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Tue, 15 Dec 2009 00:10:52 +0100 Subject: [erlang-patches] Add support for dependencies Makefile In-Reply-To: <4B26A788.5050303@dumbbell.fr> References: <4B26A788.5050303@dumbbell.fr> Message-ID: <6672d0160912141510x1443389vf3a277d1594035a7@mail.gmail.com> On Mon, Dec 14, 2009 at 10:00 PM, Jean-S?bastien P?dron wrote: > The GIT branch may be fetched using the following command: > git fetch git://github.com/dumbbell/otp.git dependencies_makefile Thanks! It is good to see that you have written both documentation and a test suite. I have squashed your branch into one commit, retaining the commit message from the first commit, because your branch contains 4 commits and a merge without any good reason. If that is OK for you, you can base your further work on that version. See http://wiki.github.com/erlang/otp/branches for how you can set up local branch based on the branch I have merged into 'pu'. (If my squash is not OK, please clean up your commit history yourself and email me the reference to your branch.) The code style needs some work before we can consider including it in Erlang/OTP. Here are the major things I saw when glancing at your code: We always write two percent characters ("%%"), not only one ("%") for comment lines not preceded by code. We don't use spaces in around '=' in function heads. We prefer : makedep(#compile{code=Code,options=Opts}=St) In the compiler application, we import functions from the lists module; we don't write lists:member(...). In the compiler application, we don't have spaces after commas in terms (but we do put spaces after commas in function calls). In the same function, please use either proplists:get_value/2 or member/2 consistently. (I recommend proplists:get_value/2.) We write variables without underscores: LineLen, not Line_Len. Don't use throw from inside a try block in makedep_output/1. As far as I can see, the only function call that you will need to catch is the one to io:fwrite/2, so just put that function call in a try block. Don't use library calls like this File1 = case lists:prefix("./", File) of true -> lists:nthtail(2, File); false -> File end, when matching will do File1 = case File of "./"++File2 -> File2 _ -> File end, (NOT TESTED, but it should work) -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From bgustavsson@REDACTED Tue Dec 15 00:12:12 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Tue, 15 Dec 2009 00:12:12 +0100 Subject: [erlang-patches] ei_skip_term() doesn't handle funs properly In-Reply-To: <22007-1260819158-203350@sneakemail.com> References: <22007-1260819158-203350@sneakemail.com> Message-ID: <6672d0160912141512y55193532r4407a50680b7554b@mail.gmail.com> On Mon, Dec 14, 2009 at 8:32 PM, Simon Cornish wrote: > Fix ei_skip_term() handling of funs encoded as NEW_FUN_EXT > > git fetch git://github.com/dotsimon/otp.git ei_decode_skip_fun Thanks! Included in 'pu'. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From bgustavsson@REDACTED Tue Dec 15 00:16:56 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Tue, 15 Dec 2009 00:16:56 +0100 Subject: [erlang-patches] make clean fails in erts In-Reply-To: <955-1260831565-905618@sneakemail.com> References: <955-1260831565-905618@sneakemail.com> Message-ID: <6672d0160912141516h7c7bf35djc6f4164947d98daa@mail.gmail.com> On Mon, Dec 14, 2009 at 11:59 PM, Simon Cornish wrote: > In order for make clean to work correctly, the rm command needs -r also > > git fetch git://github.com/dotsimon/otp.git darwin_build_rm_dSYMN > Thanks for fixing "make clean"! Included in 'pu'. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From jean-sebastien.pedron@REDACTED Tue Dec 15 00:35:06 2009 From: jean-sebastien.pedron@REDACTED (=?UTF-8?B?SmVhbi1Tw6liYXN0aWVuIFDDqWRyb24=?=) Date: Tue, 15 Dec 2009 00:35:06 +0100 Subject: [erlang-patches] Add support for dependencies Makefile In-Reply-To: <6672d0160912141510x1443389vf3a277d1594035a7@mail.gmail.com> References: <4B26A788.5050303@dumbbell.fr> <6672d0160912141510x1443389vf3a277d1594035a7@mail.gmail.com> Message-ID: <4B26CBAA.9040501@dumbbell.fr> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Bj?rn Gustavsson wrote: | I have squashed your branch into one commit, retaining the commit | message from the first commit, because your branch contains 4 commits | and a merge without any good reason. I'm new to git. I tried to fix the commit message of the 3rd commit by using git commit --amend, but failed to do so properly :) | If that is OK for you, you can base your further work on that | version. Thank you for the feedback, I'll take a look at your cleanup tomorrow. | The code style needs some work before we can consider including it in | Erlang/OTP. Here are the major things I saw when glancing at your | code: Should I make a new branch from your 'pu' branch and use it to fix the style issues? - -- Jean-S?bastien P?dron http://www.dumbbell.fr/ PGP Key: http://www.dumbbell.fr/pgp/pubkey.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (FreeBSD) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAksmy6oACgkQa+xGJsFYOlPY1wCgrQLVcmElmcO/reCrpqXq+hic kjoAoMA2xtCYlJK3Kbm9ZVlJ9/AP3FYm =m0K3 -----END PGP SIGNATURE----- From andrew@REDACTED Tue Dec 15 02:43:40 2009 From: andrew@REDACTED (Andrew Thompson) Date: Mon, 14 Dec 2009 20:43:40 -0500 Subject: [erlang-patches] What's cooking in erlang/otp (2009-12-14) In-Reply-To: <4B264409.5030701@gmail.com> References: <4B264409.5030701@gmail.com> Message-ID: <20091215014340.GA1277@hijacked.us> What about the patches without a comment, will they just 'cook' forever or will something eventually happen to them? Andrew From andrew@REDACTED Tue Dec 15 07:38:42 2009 From: andrew@REDACTED (Andrew Thompson) Date: Tue, 15 Dec 2009 01:38:42 -0500 Subject: [erlang-patches] Erlang ODBC fix for OSX 10.5 In-Reply-To: <6672d0160912021317nea0b2c6g21be0b065c27e863@mail.gmail.com> References: <20091130053700.GB8574@hijacked.us> <20091130054102.GC8574@hijacked.us> <20091202200020.GC2417@hijacked.us> <6672d0160912021317nea0b2c6g21be0b065c27e863@mail.gmail.com> Message-ID: <20091215063842.GA26384@hijacked.us> On Wed, Dec 02, 2009 at 10:17:01PM +0100, Bj??rn Gustavsson wrote: > Yes, it did fall through the cracks. Thanks for reminding me. > > Now included in 'pu'. > I've just tested this on windows and it confirmed it doesn't break anything. I've got some fixes for building on win32 I'll get together in another branch, too. Andrew From bgustavsson@REDACTED Tue Dec 15 09:27:26 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Tue, 15 Dec 2009 09:27:26 +0100 Subject: [erlang-patches] Add support for dependencies Makefile In-Reply-To: <4B26CBAA.9040501@dumbbell.fr> References: <4B26A788.5050303@dumbbell.fr> <6672d0160912141510x1443389vf3a277d1594035a7@mail.gmail.com> <4B26CBAA.9040501@dumbbell.fr> Message-ID: <6672d0160912150027y3c513f93g4ef1ad3fd8ebf496@mail.gmail.com> 2009/12/15 Jean-S?bastien P?dron : > | The code style needs some work before we can consider including it in > | Erlang/OTP. Here are the major things I saw when glancing at your > | code: > > Should I make a new branch from your 'pu' branch and use it to fix the > style issues? No, you should not base it on the entire 'pu' branch, but only on your commit. To create a local branch, pointing to the fixed-up commit, use the following command: git branch jp/dependencies_makefile 4d67713^2 I found out the SHA1 4d67713 by running the command git log --oneline --first-parent ccase/r13b04_dev..pu as described here: http://wiki.github.com/erlang/otp/branches -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From bgustavsson@REDACTED Tue Dec 15 09:48:29 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Tue, 15 Dec 2009 09:48:29 +0100 Subject: [erlang-patches] What's cooking in erlang/otp (2009-12-14) In-Reply-To: <20091215014340.GA1277@hijacked.us> References: <4B264409.5030701@gmail.com> <20091215014340.GA1277@hijacked.us> Message-ID: <6672d0160912150048s70076099l5443d2330eff05e5@mail.gmail.com> On Tue, Dec 15, 2009 at 2:43 AM, Andrew Thompson wrote: > What about the patches without a comment, will they just 'cook' forever > or will something eventually happen to them? Something will eventually happen to them, I think. The maintainers for the odbc and inets applications both have several applications to maintain and are very busy, so they have not had much time to look at the corrections. When we'll get nearer the next release, we will have a look at the branches that are still cooking and take a decision. Regarding the odbc branches, I expect that we will include them unless they cause any problems in our daily build. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From hakan@REDACTED Tue Dec 15 09:57:17 2009 From: hakan@REDACTED (=?ISO-8859-1?Q?H=E5kan_Mattsson?=) Date: Tue, 15 Dec 2009 09:57:17 +0100 Subject: [erlang-patches] Add support for dependencies Makefile In-Reply-To: <6672d0160912141510x1443389vf3a277d1594035a7@mail.gmail.com> References: <4B26A788.5050303@dumbbell.fr> <6672d0160912141510x1443389vf3a277d1594035a7@mail.gmail.com> Message-ID: <922d05850912150057j236cf0d5xd56d649ca4cb5a0f@mail.gmail.com> The coding style that Bj?rn describes below applies for the compiler application. Other OTP applications may have other styles. Try to always follow the existing coding style in the module that you change. Ask the application responsible if you are hesitant. Several of the coding style issues that Bj?rn brought up are common for all applications in OTP. But when it comes to the use of import from other modules and spaces around '=' and ',' there is no commonly adopted style in OTP. /H?kan --- H?kan Mattsson (uabhams) Erlang/OTP, Ericsson AB 2009/12/15 Bj?rn Gustavsson : > The code style needs some work before we can consider including it in > Erlang/OTP. Here are the major things I saw when glancing at your > code: > > We always write two percent characters ("%%"), not only one ("%") for > comment lines not preceded by code. > > We don't use spaces in around '=' in function heads. We prefer : > > ? makedep(#compile{code=Code,options=Opts}=St) > > In the compiler application, we import functions from the lists > module; we don't write lists:member(...). > > In the compiler application, we don't have spaces after commas in > terms (but we do put spaces after commas in function calls). > > In the same function, please use either proplists:get_value/2 or > member/2 consistently. (I recommend proplists:get_value/2.) > > We write variables without underscores: LineLen, not Line_Len. > > Don't use throw from inside a try block in makedep_output/1. As far as > I can see, the only function call that you will need to catch is the > one to io:fwrite/2, so just put that function call in a try block. > > Don't use library calls like this > > ? ? ? ? ? ?File1 = case lists:prefix("./", File) of > ? ? ? ? ? ? ? ?true ?-> lists:nthtail(2, File); > ? ? ? ? ? ? ? ?false -> File > ? ? ? ? ? ?end, > > when matching will do > > ? ? ? ? ? ?File1 = case File of > ? ? ? ? ? ? ? ?"./"++File2 -> File2 > ? ? ? ? ? ? ? ?_ -> File > ? ? ? ? ? ?end, > > (NOT TESTED, but it should work) > > -- > Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From christopher.faulet@REDACTED Tue Dec 15 10:13:50 2009 From: christopher.faulet@REDACTED (christopher faulet) Date: Tue, 15 Dec 2009 10:13:50 +0100 Subject: Treat warnings as errors in compile Message-ID: <4B27534E.8070801@capflam.org> Hi, I added the flag 'warnings_as_errors' in compile.erl. With this flag, warnings are treated as errors, like gcc flag '-Werror'. git fetch git://github.com/capflam/otp.git compile_warning_as_error -- Christopher Faulet -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 260 bytes Desc: OpenPGP digital signature URL: From egil@REDACTED Tue Dec 15 10:18:48 2009 From: egil@REDACTED (=?ISO-8859-1?Q?Bj=F6rn-Egil_Dahlberg?=) Date: Tue, 15 Dec 2009 10:18:48 +0100 Subject: [erlang-patches] Add support for dependencies Makefile In-Reply-To: <922d05850912150057j236cf0d5xd56d649ca4cb5a0f@mail.gmail.com> References: <4B26A788.5050303@dumbbell.fr> <6672d0160912141510x1443389vf3a277d1594035a7@mail.gmail.com> <922d05850912150057j236cf0d5xd56d649ca4cb5a0f@mail.gmail.com> Message-ID: <4B275478.3000001@erix.ericsson.se> H?kan Mattsson wrote: > The coding style that Bj?rn describes below applies for the compiler > application. Other OTP applications may have other styles. Try to > always follow the existing coding style in the module that you change. > Ask the application responsible if you are hesitant. Agreed. Several coding styles exists in otp but the number one rule is "follow the local style". > Several of the coding style issues that Bj?rn brought up are common for > all applications in OTP. But when it comes to the use of import from other > modules and spaces around '=' and ',' there is no commonly adopted > style in OTP. I would prefer readability over concatenated one-liners. Spaces around '=' and ',' would improve readability in *my* view but it would break the #1 rule in this case. I think that we need to put up the Coding Conventions page soon. // Bj?rn-Egil Erlang/OTP > > /H?kan > --- > H?kan Mattsson (uabhams) > Erlang/OTP, Ericsson AB > > 2009/12/15 Bj?rn Gustavsson : > >> The code style needs some work before we can consider including it in >> Erlang/OTP. Here are the major things I saw when glancing at your >> code: >> >> We always write two percent characters ("%%"), not only one ("%") for >> comment lines not preceded by code. >> >> We don't use spaces in around '=' in function heads. We prefer : >> >> makedep(#compile{code=Code,options=Opts}=St) >> >> In the compiler application, we import functions from the lists >> module; we don't write lists:member(...). >> >> In the compiler application, we don't have spaces after commas in >> terms (but we do put spaces after commas in function calls). >> >> In the same function, please use either proplists:get_value/2 or >> member/2 consistently. (I recommend proplists:get_value/2.) >> >> We write variables without underscores: LineLen, not Line_Len. >> >> Don't use throw from inside a try block in makedep_output/1. As far as >> I can see, the only function call that you will need to catch is the >> one to io:fwrite/2, so just put that function call in a try block. >> >> Don't use library calls like this >> >> File1 = case lists:prefix("./", File) of >> true -> lists:nthtail(2, File); >> false -> File >> end, >> >> when matching will do >> >> File1 = case File of >> "./"++File2 -> File2 >> _ -> File >> end, >> >> (NOT TESTED, but it should work) >> >> -- >> Bj?rn Gustavsson, Erlang/OTP, Ericsson AB > > ________________________________________________________________ > erlang-patches mailing list. See http://www.erlang.org/faq.html > erlang-patches (at) erlang.org > From bgustavsson@REDACTED Tue Dec 15 15:42:56 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Tue, 15 Dec 2009 15:42:56 +0100 Subject: [erlang-patches] Treat warnings as errors in compile In-Reply-To: <4B27534E.8070801@capflam.org> References: <4B27534E.8070801@capflam.org> Message-ID: <6672d0160912150642m4b0bc768ka8023560a379d646@mail.gmail.com> On Tue, Dec 15, 2009 at 10:13 AM, christopher faulet wrote: > I added the flag 'warnings_as_errors' in compile.erl. With this flag, > warnings are treated as errors, like gcc flag '-Werror'. > > git fetch git://github.com/capflam/otp.git compile_warning_as_error Thanks! Included in 'pu', but I have separated out the whitespace changes into a separate commit to make the diff of your commit easier to read. While I recommend making sure that no *new* trailing whitespace is added by a patch, taking out *existing* trailing whitespace should be done in a separate commit if it is to be done at all. And whitespace should never be removed from the header, because it will only be added back again by a trigger when the patch is graduated to the development branch in Clearcase. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From christopher.faulet@REDACTED Tue Dec 15 17:29:13 2009 From: christopher.faulet@REDACTED (christopher faulet) Date: Tue, 15 Dec 2009 17:29:13 +0100 Subject: [erlang-patches] Treat warnings as errors in compile In-Reply-To: <6672d0160912150642m4b0bc768ka8023560a379d646@mail.gmail.com> References: <4B27534E.8070801@capflam.org> <6672d0160912150642m4b0bc768ka8023560a379d646@mail.gmail.com> Message-ID: <4B27B959.2070404@capflam.org> Bj?rn Gustavsson wrote: > On Tue, Dec 15, 2009 at 10:13 AM, christopher faulet > wrote: >> I added the flag 'warnings_as_errors' in compile.erl. With this flag, >> warnings are treated as errors, like gcc flag '-Werror'. >> >> git fetch git://github.com/capflam/otp.git compile_warning_as_error > > Thanks! Included in 'pu', but I have separated out the whitespace changes > into a separate commit to make the diff of your commit easier to read. > > While I recommend making sure that no *new* trailing whitespace is added > by a patch, taking out *existing* trailing whitespace should be done in a > separate commit if it is to be done at all. And whitespace should never > be removed from the header, because it will only be added back > again by a trigger when the patch is graduated to the development > branch in Clearcase. > Bj?rn, Thanks for your work and your feedback. On Jean-S?bastien p?dron suggestion, I updated my patch to add the option -Werror in erlc. -- Christopher Faulet -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 260 bytes Desc: OpenPGP digital signature URL: From andrew@REDACTED Tue Dec 15 20:47:37 2009 From: andrew@REDACTED (Andrew Thompson) Date: Tue, 15 Dec 2009 14:47:37 -0500 Subject: Fixes for windows build process Message-ID: <20091215194737.GB26384@hijacked.us> In trying to test my ODBC patch on windows I encountered some build issues (mainly related to using Visual Studio 2008). I've put a couple script tweaks and some documentation fixes in a branch: git fetch git://github.com/Vagabond/otp.git windows_build_fixes I've been able to do a clean build/install from scratch using this process (so long as I touch libs/gs/SKIP). Notes the changes are in the commit messages. Andrew From jean-sebastien.pedron@REDACTED Tue Dec 15 21:03:14 2009 From: jean-sebastien.pedron@REDACTED (=?UTF-8?B?SmVhbi1Tw6liYXN0aWVuIFDDqWRyb24=?=) Date: Tue, 15 Dec 2009 21:03:14 +0100 Subject: [erlang-patches] Add support for dependencies Makefile In-Reply-To: <6672d0160912150027y3c513f93g4ef1ad3fd8ebf496@mail.gmail.com> References: <4B26A788.5050303@dumbbell.fr> <6672d0160912141510x1443389vf3a277d1594035a7@mail.gmail.com> <4B26CBAA.9040501@dumbbell.fr> <6672d0160912150027y3c513f93g4ef1ad3fd8ebf496@mail.gmail.com> Message-ID: <4B27EB82.4070909@dumbbell.fr> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Bj?rn Gustavsson wrote: | No, you should not base it on the entire 'pu' branch, but only | on your commit. I updated my "dependencies_makefile" branch with the style fixes. git fetch git://github.com/dumbbell/otp.git dependencies_makefile Again, thanks for your feedback! - -- Jean-S?bastien P?dron http://www.dumbbell.fr/ PGP Key: http://www.dumbbell.fr/pgp/pubkey.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (FreeBSD) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAksn64IACgkQa+xGJsFYOlO1sACeP61Ea5yjQ6yRCTvLHov5vp9t sjYAoKt3ChQmearspAfmzU8zl7o577df =gbVM -----END PGP SIGNATURE----- From bgustavsson@REDACTED Wed Dec 16 08:45:42 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Wed, 16 Dec 2009 08:45:42 +0100 Subject: [erlang-patches] Add support for dependencies Makefile In-Reply-To: <4B27EB82.4070909@dumbbell.fr> References: <4B26A788.5050303@dumbbell.fr> <6672d0160912141510x1443389vf3a277d1594035a7@mail.gmail.com> <4B26CBAA.9040501@dumbbell.fr> <6672d0160912150027y3c513f93g4ef1ad3fd8ebf496@mail.gmail.com> <4B27EB82.4070909@dumbbell.fr> Message-ID: <6672d0160912152345q58011113uad49c915be6baf54@mail.gmail.com> 2009/12/15 Jean-S?bastien P?dron : > I updated my "dependencies_makefile" branch with the style fixes. Thanks! I have squashed that commit (using 'git rebase -i') with your previous commit. Included in 'pu'. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From bgustavsson@REDACTED Wed Dec 16 08:47:07 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Wed, 16 Dec 2009 08:47:07 +0100 Subject: [erlang-patches] Fixes for windows build process In-Reply-To: <20091215194737.GB26384@hijacked.us> References: <20091215194737.GB26384@hijacked.us> Message-ID: <6672d0160912152347j3021b0f2n4dbffe35637ee9f6@mail.gmail.com> On Tue, Dec 15, 2009 at 8:47 PM, Andrew Thompson wrote: > In trying to test my ODBC patch on windows I encountered some build > issues (mainly related to using Visual Studio 2008). I've put a couple > script tweaks and some documentation fixes in a branch: > > git fetch git://github.com/Vagabond/otp.git windows_build_fixes > Thanks! Included in 'pu'. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From bgustavsson@REDACTED Wed Dec 16 08:48:36 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Wed, 16 Dec 2009 08:48:36 +0100 Subject: [erlang-patches] Treat warnings as errors in compile In-Reply-To: <4B27B959.2070404@capflam.org> References: <4B27534E.8070801@capflam.org> <6672d0160912150642m4b0bc768ka8023560a379d646@mail.gmail.com> <4B27B959.2070404@capflam.org> Message-ID: <6672d0160912152348g3dfcc794h6b13f5a56db777@mail.gmail.com> 2009/12/15 christopher faulet : > > On Jean-S?bastien p?dron suggestion, I updated my patch to add the > option -Werror in erlc. Thanks! Updated and included in 'pu'. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From raimo+erlang-patches@REDACTED Wed Dec 16 13:42:37 2009 From: raimo+erlang-patches@REDACTED (Raimo Niskanen) Date: Wed, 16 Dec 2009 13:42:37 +0100 Subject: [erlang-patches] SCTP improvements In-Reply-To: <22189-1259869459-721251@sneakemail.com> References: <22189-1259869459-721251@sneakemail.com> Message-ID: <20091216124237.GA16054@erix.ericsson.se> On Thu, Dec 03, 2009 at 11:44:18AM -0800, Simon Cornish wrote: > This branch contains one fix, to correctly type sctp_assoc_id as > signed, not unsigned. > And one enhancement to implement a non-blocking gen_sctp:connect > > git fetch git://github.com/dotsimon/otp.git sctp_connect_enhancement > > The fix for the sctp_assoc_id type is correct for all platforms but > only noticeable when using the SCTP NKE under OSX. > > The non-blocking connect enhancement offers a way to avoid an > race-condition noted in the existing code. More detail (and some > spelling mistakes!) can be found in the commit message: > http://github.com/dotsimon/otp/commit/bb9d9a9e813242275e868457c4b30f40f13d65e8 I have now looked at the patches and there are some problems: http://github.com/erlang/otp/commit/92f3ceea0fa51df308f6f2689ff82857b6442c30 Implement a non-blocking gen_sctp:connect 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. http://github.com/erlang/otp/commit/2666b68aab2167266f49b462e3ed63e6f2045709 Correctly type sctp_assoc_id as signed, not unsigned Your patch seems to fix a bug when the returned assoc_id from gen_sctp is later rejected by gen_sctp. The patch would work, but I would rather change what inet_drv returns. Something like this: erts/emulator/drivers/common/inet_drv.c: # define GET_ASSOC_ID get_int32 # define ASSOC_ID_LEN 4 -# define LOAD_ASSOC_ID LOAD_INT -# define LOAD_ASSOC_ID_CNT LOAD_INT_CNT +# define LOAD_ASSOC_ID LOAD_UINT +# define LOAD_ASSOC_ID_CNT LOAD_UINT_CNT # define SCTP_ANC_BUFF_SIZE INET_DEF_BUFFER/2 /* XXX: not very good... */ #endif Motivation: The Sockets API Extensions for SCTP draft tries very hard not to specify any signedness for sctp_assoc_t, as you say the only defined value is 0, and that in fact is the only clue I find that is an integral type. You could if so inclined interpret it to be a struct and assume you should memset(, 0, ) to it to make it zero. Therefore it was decided to use unsigned integer in the Erlang representation of it, and hence the check in prim_inet for X band 16#ffffffff =:= X. The bug is that inet_drv converts it into a signed integer when it is delivered to Erlang (much thanks to the name confusion get_int32 returning an unsigned...) I think using an unsigned type when it is apparent that signedness is unimportant is the right thing to do... Can you rework that patch too, please? > > /Simon > > ________________________________________________________________ > 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 Wed Dec 16 14:32:11 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Wed, 16 Dec 2009 14:32:11 +0100 Subject: [erlang-patches] Updated reference manual to refer to EEP8 In-Reply-To: <95be1d3b0912140400q3d9b77betd16176196145e372@mail.gmail.com> References: <95be1d3b0912140400q3d9b77betd16176196145e372@mail.gmail.com> Message-ID: <6672d0160912160532t5d2644co8bef0d5e52158c38@mail.gmail.com> On Mon, Dec 14, 2009 at 1:00 PM, Vlad Dumitrescu wrote: > I added a short reference to EEP8 to the reference manual. > > It might not be the right place, but I couldn't think of a better one. > I am also unsure if I used the tag properly (since I can't > build the docs). We liked the idea to point out EEP8, but there should be a note that this solution is temporary and that EEP8 and the implementation may not match completely. I have written such a note, and have also fixed the link (the tag to use is ). Everything is checked in directly to the development branch (and it will appear in the git repository later today). -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From zl9d97p02@REDACTED Wed Dec 16 19:27:19 2009 From: zl9d97p02@REDACTED (Simon Cornish) Date: Wed, 16 Dec 2009 10:27:19 -0800 Subject: Non-blocking SCTP connect [Was: [erlang-patches] SCTP improvements] Message-ID: <17551-1260988040-19738@sneakemail.com> 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. > From bgustavsson@REDACTED Wed Dec 16 19:37:19 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Wed, 16 Dec 2009 19:37:19 +0100 Subject: [erlang-patches] Non-blocking SCTP connect [Was: [erlang-patches] SCTP improvements] In-Reply-To: <17551-1260988040-19738@sneakemail.com> References: <17551-1260988040-19738@sneakemail.com> Message-ID: <6672d0160912161037o11399825if94ce711111836ea@mail.gmail.com> On Wed, Dec 16, 2009 at 7:27 PM, Simon Cornish wrote: > 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... I suggest two new branches, one for each topic. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From zl9d97p02@REDACTED Wed Dec 16 19:38:22 2009 From: zl9d97p02@REDACTED (Simon Cornish) Date: Wed, 16 Dec 2009 10:38:22 -0800 Subject: Correctly type sctp_assoc_id [Was: [erlang-patches] SCTP improvements] Message-ID: <18232-1260988703-220887@sneakemail.com> Hi Raimo, 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/2666b68aab2167266f49b462e3ed63e6f2045709 > Correctly type sctp_assoc_id as signed, not unsigned > > Your patch seems to fix a bug when the returned > assoc_id from gen_sctp is later rejected by gen_sctp. Correct. > The patch would work, but I would rather change > what inet_drv returns. Something like this: [...] I have no preference as to the implementation of a solution. At the user level, the assoc_id should be considered almost opaque; I say "almost" because of the special zero value. > Motivation: > > The Sockets API Extensions for SCTP draft tries very > hard not to specify any signedness for sctp_assoc_t, > as you say the only defined value is 0, and that in > fact is the only clue I find that is an integral type. Yes, this has been a source of comment/frustration/argument since many-to-one was introduced. > You could if so inclined interpret it to be a struct Unfortunately the draft suggests this also. [...] > Can you rework that patch too, please? Actually, since you're the maintainer and either change is simply a couple of lines, wouldn't it be better for you to introduce the preferred solution directly into the ccase or pu branch? Regards, Simon From jean-sebastien.pedron@REDACTED Wed Dec 16 23:13:14 2009 From: jean-sebastien.pedron@REDACTED (=?UTF-8?B?SmVhbi1Tw6liYXN0aWVuIFDDqWRyb24=?=) Date: Wed, 16 Dec 2009 23:13:14 +0100 Subject: Fix GCC detection in ERTS' Makefiles Message-ID: <4B295B7A.4020904@dumbbell.fr> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hello, ERTS? Makefiles check if $(CC) equals to "gcc" to determine if some options, like optimization flags, should be added to CFLAGS. Thus, one can?t use an alternate compiler name while still using GCC (eg. "gcc-4.4" or "/home/user/my-gcc/bin/gcc"). On FreeBSD, the lang/erlang port (ie. FreeBSD's package of Erlang) is built with CC=cc and this results in Erlang being awfully slow[1]. I propose a fix for this, described on this article: http://wiki.github.com/dumbbell/otp/gcc-detection-in-makefiles The patch is available in my "gcc_detection" branch: git fetch git://github.com/dumbbell/otp.git gcc_detection [1] Just for the record, a simple test where a process sends 10,000,000 messages to another one takes 6.8" when Erlang is compiled with "CC=cc" but takes only 2.7" when Erlang is compiled with "CC=gcc". - -- Jean-S?bastien P?dron http://www.dumbbell.fr/ PGP Key: http://www.dumbbell.fr/pgp/pubkey.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (FreeBSD) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAkspW3oACgkQa+xGJsFYOlPVXwCfTUlWNF/2mHyHNzGtSikZfD1A zOsAnjmMb2cfjXLgdTLpEKhryF/hExUB =FZnO -----END PGP SIGNATURE----- From bgustavsson@REDACTED Thu Dec 17 09:16:57 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Thu, 17 Dec 2009 09:16:57 +0100 Subject: [erlang-patches] Fix GCC detection in ERTS' Makefiles In-Reply-To: <4B295B7A.4020904@dumbbell.fr> References: <4B295B7A.4020904@dumbbell.fr> Message-ID: <6672d0160912170016l41dd14a2g93441256289486ca@mail.gmail.com> On Wed, Dec 16, 2009 at 11:13 PM, Jean-S?bastien P?dron wrote: > I propose a fix for this, described on this article: > http://wiki.github.com/dumbbell/otp/gcc-detection-in-makefiles > > The patch is available in my "gcc_detection" branch: > git fetch git://github.com/dumbbell/otp.git gcc_detection > Thanks! Included in 'pu'. I have two questions. 1. Is there any good reason to have two commits? It seems to me that the commits should be combined to one using 'git rebase -i HEAD~2'. 2. Is it really necessary to change Makefiles that don't actually use the CC_NAME variable (such as lib/orber/c_src/Makefile)? It would be much easier for us to accept the patch if it only changed the Makefiles that actually tests for gcc (for technical reasons; in the background we still use Clearcase and some of the applications are maintained on branches that are common to several major releases of Erlang/OTP). -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From aude.quintana@REDACTED Thu Dec 17 10:16:52 2009 From: aude.quintana@REDACTED (Aude Quintana) Date: Thu, 17 Dec 2009 10:16:52 +0100 Subject: [Re] Patch for asn1 library In-Reply-To: References: Message-ID: Hi ! I received no acknowlegment concerning the patch I sent for the asn1 library (sent in August) So in order to facilitate its treatment I have comitted it on github otp project clone. Hope you will (re)consider it, or at least, say the problem with it. You can get it with : git fetch git://github.com/titaude30/otp.git asn1_incomplete_packet To remind you the subject it is a patch which change decode/2 functions generated from a file .asn1 : they return the error {error, incomplete} when the packet given to decode is incomplete instead of any error. It is necessary when implementing functions that decode packet received from a socket when it's not sure that they are complete (if messages are too big, they are are splitted). It 's the completary of another functionality : when .asn1 file are compiled with the undec_rest option and decode/2 functions are called with argument packet that contain more of one messages, then decode/2 function return the decoded message plus the rest of the packet. Best regards, Aude 2009/8/25 Aude Quintana : > Hello ! > > After some other tests with the patch I made previously on asn1 library I > had to add some lines in the patch. > (it makes the decoding function to return {error,incomplete} when the buffer > passed in argument doesn't contain at least a full message) > > So, .diff file joined is the new patch and I hope it is complete now. > > Best Regards, > Aude. > -- Aude Quintana From raimo+erlang-patches@REDACTED Thu Dec 17 10:06:09 2009 From: raimo+erlang-patches@REDACTED (Raimo Niskanen) Date: Thu, 17 Dec 2009 10:06:09 +0100 Subject: [erlang-patches] Correctly type sctp_assoc_id [Was: [erlang-patches] SCTP improvements] In-Reply-To: <18232-1260988703-220887@sneakemail.com> References: <18232-1260988703-220887@sneakemail.com> Message-ID: <20091217090609.GA23398@erix.ericsson.se> On Wed, Dec 16, 2009 at 10:38:22AM -0800, Simon Cornish wrote: > Hi Raimo, > > 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/2666b68aab2167266f49b462e3ed63e6f2045709 > > Correctly type sctp_assoc_id as signed, not unsigned > > > > Your patch seems to fix a bug when the returned > > assoc_id from gen_sctp is later rejected by gen_sctp. > > Correct. > > > The patch would work, but I would rather change > > what inet_drv returns. Something like this: > [...] > > I have no preference as to the implementation of a solution. At the > user level, the assoc_id should be considered almost opaque; I say > "almost" because of the special zero value. > > > Motivation: > > > > The Sockets API Extensions for SCTP draft tries very > > hard not to specify any signedness for sctp_assoc_t, > > as you say the only defined value is 0, and that in > > fact is the only clue I find that is an integral type. > > Yes, this has been a source of comment/frustration/argument since > many-to-one was introduced. > > > You could if so inclined interpret it to be a struct > > Unfortunately the draft suggests this also. Really, where? (I looked for any clue...) > > [...] > > > Can you rework that patch too, please? > > Actually, since you're the maintainer and either change is simply a > couple of lines, wouldn't it be better for you to introduce the > preferred solution directly into the ccase or pu branch? > Yes, probably. It is a bug and we have to fix it, so I will do so. > Regards, > Simon > > ________________________________________________________________ > 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 Thu Dec 17 13:31:27 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Thu, 17 Dec 2009 13:31:27 +0100 Subject: [erlang-patches] Re: [Re] Patch for asn1 library In-Reply-To: References: Message-ID: <6672d0160912170431w35f4425dp6cc11a78eeca1db3@mail.gmail.com> On Thu, Dec 17, 2009 at 10:16 AM, Aude Quintana wrote: > I received no acknowlegment concerning the patch I sent for the asn1 > library (sent in August) Our old ways of working didn't really work and patches often fell to the floor. Sorry for that. > So in order to facilitate its treatment I have comitted it on github > otp project clone. Hope you will (re)consider it, or at least, say the > problem with it. > > You can get it with : > git fetch git://github.com/titaude30/otp.git asn1_incomplete_packet Thanks! Included in 'pu'. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From bgustavsson@REDACTED Thu Dec 17 23:27:32 2009 From: bgustavsson@REDACTED (=?ISO-8859-1?Q?Bj=F6rn_Gustavsson?=) Date: Thu, 17 Dec 2009 23:27:32 +0100 Subject: What's cooking in erlang/otp (2009-12-17) Message-ID: <4B2AB054.8040905@gmail.com> There might be one more issue of "What's cooking in erlang/otp" in the beginning of next week. After that, there will be no more updates of the 'pu' branch until Jan 7, 2010. ------------------------------------------------------------ [Graduated] * at/windows_build_fixes (erts, otp) (2009-12-15) 2 commits + Updated README.win32 for compiling with VS2008 and issues with mc.exe (346b530) + Allow mc.sh and rc.sh to work when path to mc/rc.exe has spaces (98751d5) * sc/darwin_build_rm_dSYMN (erts) (2009-12-14) 1 commit + Fix 'make clean' in erts with debug builds under Darwin (2468a47) * sc/ei_decode_skip_fun (erl_interface) (2009-12-14) 1 commit + Fix ei_skip_term() handling of funs encoded as NEW_FUN_EXT (d0db866) ------------------------------------------------------------ [New topics] * aq/asn1-incomplete-packet (asn1) (2009-12-16) 1 commit - Change asn1 : generated decode/2 functions return {error,incomplete} when argument packet is incomplete. (59d7f7f) * 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) * dgud/dbg_mac_menu (debugger) (2009-12-16) 4 commits - Dbg: Expand the module listbox when window grows. (25c200b) - Dbg: Cut variable bindings after 80 chars. (a488613) - Dbg: Fixed documentation links to the new index.html (776ab02) - Dbg Fixed mac gui issues (b7c6db6) * 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 (Makefile.in , asn1, crypto, erts, ic, orber, os_mon, runtime_tools, ssl, tools) (2009-12-16) 2 commits - Replace the $(CC_IS_GCC) flag by more generic $(CC_NAME) variable (51be25f) - Fix GCC detection in ERTS configure script and Makefiles (34fb108) This seems to be a worthwhile change, but only Makefiles that can actually gain anything should be updated. Also there does not seem to be any reason that there are two commits rather than just one. ------------------------------------------------------------ [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) (2009-12-02) 3 commits - Support updating the primary bootstrap in a git repository (6840b32) - Determine which VCS is being used (5770b7b) - stdlib makefile: Add explicit rule (b197d92) * bw/win32-address-space-fix (erts) (2009-12-10) 1 commit - win32 mmap emulation for mseg support + largeaddressaware linking (357167e) The branch in its current shape cannot be included in OTP because it includes copyrighted code with an unknown license. It is also overkill to emulate mmap() (and it could cause other problems in the future); the easiest and most straightforward solution is to implement mseg_create()/mseg_destroy() (in erl_mseg.c) using VirtualAlloc()/VirtualFree(). * 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 (bfc18a8) 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. * 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) * tc/premodern-fpe (erts) (2009-12-08) 2 commits - Add -D_XOPEN_SOURCE to CPPFLAGS on Darwin platforms (ea2fae6) - Test for reliable fpes on Darwin platforms without DARWIN_MODERN_MCONTEXT (b95cf92) 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. ------------------------------------------------------------ [Dropped] * sc/sctp_connect_enhancement (erts, kernel) (2009-12-02) 2 commits . Implement a non-blocking gen_sctp:connect (92f3cee) . Correctly type sctp_assoc_id as signed, not unsigned (2666b68) We have solved "Correctly type sctp_assoc_id..." in a different way (now included in the development branch). We are waiting for a replacement for "Implement a non-blocking gen_sctp:connect". * sc/ssl_pkix_extensions (ssl) (2009-12-02) 1 commit . Fix crash when decoding commercial certificates (31ccb1d) The pkix stuff is in the ssl application is deprecated and has been replaced with public key application. That functionality in public_key is also documented. * vd/eep8_doc (otp) (2009-12-14) 1 commit . add reference to EEP8 (36d251b) Replaced by a revised version now included in the development branch. From zl9d97p02@REDACTED Thu Dec 17 23:59:35 2009 From: zl9d97p02@REDACTED (Simon Cornish) Date: Thu, 17 Dec 2009 14:59:35 -0800 Subject: [erlang-patches] Correctly type sctp_assoc_id [Was: [erlang-patches] SCTP improvements] In-Reply-To: <20091217090609.GA23398@erix.ericsson.se> References: <18232-1260988703-220887@sneakemail.com> <20091217090609.GA23398@erix.ericsson.se> Message-ID: <9759-1261090777-295520@sneakemail.com> Hi Raimo, On Thu, Dec 17, 2009 at 1:06 AM, Raimo Niskanen raimo+erlang-patches-at-erix.ericsson.se wrote: >> > You could if so inclined interpret it to be a struct >> >> Unfortunately the draft suggests this also. > > Really, where? (I looked for any clue...) The second paragraph of section 8 explicitly refers to it as a structure. http://tools.ietf.org/html/draft-ietf-tsvwg-sctpsocket-19#section-8 And I think there are some more vague references later in that section. Practically speaking though, for the major platforms that Erlang runs on it's a 32-bit identifier - Linux & Solaris both use a signed int, and the user-loadable extensions for Mac & Windows use an unsigned int (although I'm not familiar with the Windows implementation to say if it could actually return a value > 2^31 like the Mac NKE does). I see from Bj?rn's "What's cooking" email that you have already implemented a solution. Thanks for taking care of it. I will endeavour to get the new non-blocking connect committed before the start of next week. Regards, Simon From ulf.wiger@REDACTED Fri Dec 18 00:18:18 2009 From: ulf.wiger@REDACTED (Ulf Wiger) Date: Fri, 18 Dec 2009 00:18:18 +0100 Subject: patch - tab completion for quoted module and function names Message-ID: <4B2ABC3A.4000305@erlang-consulting.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 I thought I needed to try out the new patch submission procedure. This is also my first Git adventure - hope I didn't mess up too badly. :) git fetch git://github.com/uwiger/otp.git shell_tab_completion commit 6703530c922ffb7bc5fd56922c503228af15c0cf Author: Ulf Wiger Date: Thu Dec 17 23:54:51 2009 +0100 Shell tab completion now works for quoted module and function names While quoted atoms in module and function names are not common, they are allowed, and sometimes quite useful. In OTP, they are commonplace in ORBER, and can also be found in XMERL. Tab completion needs to recognize quoted atoms and act accordingly. This patch includes changes in edlin:over_word/1. It should be noted that these changes also affect the 'kill word', 'forward word' and 'backward word' commands in the line editor. The author thinks that the changes are for the better. There are also minor changes in edlin_expand.erl - mainly in regard to the conversion between atoms and strings. Another change is that the list of matches is now sorted, partly to simplify testing, but also because it seems sensible to present the matches that way. A test suite, edlin_expand_SUITE, has been added to the stdlib test suites. BR, Ulf W -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAksqvDoACgkQtqqFieqzed2mKwCgr1Yb+T6b7h1o58G2EZaDbqxT Yp0Amwa4Wfu3jKMs38gENkfMPlZ9zV0R =6C0s -----END PGP SIGNATURE----- From bgustavsson@REDACTED Fri Dec 18 08:45:12 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Fri, 18 Dec 2009 08:45:12 +0100 Subject: [erlang-patches] patch - tab completion for quoted module and function names In-Reply-To: <4B2ABC3A.4000305@erlang-consulting.com> References: <4B2ABC3A.4000305@erlang-consulting.com> Message-ID: <6672d0160912172345o64dccc4p3a037bd5f52bfdd4@mail.gmail.com> On Fri, Dec 18, 2009 at 12:18 AM, Ulf Wiger wrote: > I thought I needed to try out the new patch submission procedure. > This is also my first Git adventure - hope I didn't mess up too > badly. :) > It seems that you have forgotten to include the actual changes to the edlin module. I only see updates to the test suite. A common trap for beginners is to think that 'git add file' will include 'file' in the next commit. Actually, 'git add file' saves the *contents* of the file 'file' at the time the command is executed for inclusion in the next commit. (Not sure if that is what happened here; I am just guessing.) The following wiki page may be of some use: http://wiki.github.com/erlang/otp/refining-patches-using-git -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From ulf.wiger@REDACTED Fri Dec 18 09:14:27 2009 From: ulf.wiger@REDACTED (Ulf Wiger) Date: Fri, 18 Dec 2009 09:14:27 +0100 Subject: [erlang-patches] patch - tab completion for quoted module and function names In-Reply-To: <6672d0160912172345o64dccc4p3a037bd5f52bfdd4@mail.gmail.com> References: <4B2ABC3A.4000305@erlang-consulting.com> <6672d0160912172345o64dccc4p3a037bd5f52bfdd4@mail.gmail.com> Message-ID: <4B2B39E3.5030608@erlang-consulting.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Indeed this was the problem - thanks. (Silly me for thinking that 'git add' would work the same way as 'svn add'...) I have amended the branch and pushed my changes. Github now shows the modified files in the source code browser. BR, Ulf W Bj?rn Gustavsson wrote: > On Fri, Dec 18, 2009 at 12:18 AM, Ulf Wiger > wrote: >> I thought I needed to try out the new patch submission procedure. >> This is also my first Git adventure - hope I didn't mess up too >> badly. :) >> > > It seems that you have forgotten to include the actual changes to > the edlin module. I only see updates to the test suite. > > A common trap for beginners is to think that 'git add file' > will include 'file' in the next commit. Actually, 'git add file' > saves the *contents* of the file 'file' at the time the command > is executed for inclusion in the next commit. (Not sure if that > is what happened here; I am just guessing.) > > The following wiki page may be of some use: > > http://wiki.github.com/erlang/otp/refining-patches-using-git > -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAksrOeMACgkQtqqFieqzed2WigCgzSbj/KxPWeIIgFqaOh3dBJBF EFEAnix5z+9M38mmTYONJmqklhOdpg6q =15Ns -----END PGP SIGNATURE----- From jean-sebastien.pedron@REDACTED Fri Dec 18 09:44:18 2009 From: jean-sebastien.pedron@REDACTED (=?UTF-8?B?SmVhbi1Tw6liYXN0aWVuIFDDqWRyb24=?=) Date: Fri, 18 Dec 2009 09:44:18 +0100 Subject: [erlang-patches] Fix GCC detection in ERTS' Makefiles In-Reply-To: <6672d0160912170016l41dd14a2g93441256289486ca@mail.gmail.com> References: <4B295B7A.4020904@dumbbell.fr> <6672d0160912170016l41dd14a2g93441256289486ca@mail.gmail.com> Message-ID: <4B2B40E2.8030208@dumbbell.fr> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 17.12.2009 09:16, Bj?rn Gustavsson wrote: > 1. Is there any good reason to have two commits? It seems to me > that the commits should be combined to one using 'git rebase -i HEAD~2'. I just changed my approach because the first commit was GCC-centric. I did what you suggested and squashed the second commit into the first one. > 2. Is it really necessary to change Makefiles that don't actually use > the CC_NAME variable (such as lib/orber/c_src/Makefile)? I will remove the unnecessary ones. I did it in order for other Makefiles to be "ready" if a test is included :) - -- Jean-S?bastien P?dron http://www.dumbbell.fr/ PGP Key: http://www.dumbbell.fr/pgp/pubkey.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (FreeBSD) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAksrQOIACgkQa+xGJsFYOlOyHgCdFJF5QMnuVQb+xVen7jWWRPV3 ujoAoJNUXNBsPykVE2SJqb156PsmFGVk =LhwT -----END PGP SIGNATURE----- From bgustavsson@REDACTED Fri Dec 18 09:54:29 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Fri, 18 Dec 2009 09:54:29 +0100 Subject: [erlang-patches] patch - tab completion for quoted module and function names In-Reply-To: <4B2B39E3.5030608@erlang-consulting.com> References: <4B2ABC3A.4000305@erlang-consulting.com> <6672d0160912172345o64dccc4p3a037bd5f52bfdd4@mail.gmail.com> <4B2B39E3.5030608@erlang-consulting.com> Message-ID: <6672d0160912180054m7d8d219am6269a0a31f03c181@mail.gmail.com> 2009/12/18 Ulf Wiger : > I have amended the branch and pushed my changes. Github now shows > the modified files in the source code browser. Thanks! There is another problem that I only noticed when trying to merge your branch: there are files that have the same name except for case ("expand_test" and "Expand_test"). That will not work on either Mac or Windows (both normally use case-insensitive file systems), so you will have to rename the files to avoid the clash. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From bgustavsson@REDACTED Fri Dec 18 10:08:56 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Fri, 18 Dec 2009 10:08:56 +0100 Subject: [erlang-patches] Fix GCC detection in ERTS' Makefiles In-Reply-To: <4B2B40E2.8030208@dumbbell.fr> References: <4B295B7A.4020904@dumbbell.fr> <6672d0160912170016l41dd14a2g93441256289486ca@mail.gmail.com> <4B2B40E2.8030208@dumbbell.fr> Message-ID: <6672d0160912180108o222b992eyeffe02d45b448e30@mail.gmail.com> 2009/12/18 Jean-S?bastien P?dron : > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > On 17.12.2009 09:16, Bj?rn Gustavsson wrote: >> 1. Is there any good reason to have two commits? It seems to me >> that the commits should be combined to one using 'git rebase -i HEAD~2'. > > I just changed my approach because the first commit was GCC-centric. I > did what you suggested and squashed the second commit into the first one. Thanks! >> 2. Is it really necessary to change Makefiles that don't actually use >> the CC_NAME variable (such as lib/orber/c_src/Makefile)? > > I will remove the unnecessary ones. I did it in order for other > Makefiles to be "ready" if a test is included :) Yes, I understand. Actually, I think that you can keep all changes to the Makefiles in the erts application, and only remove the changes in all other applications. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From bgustavsson@REDACTED Fri Dec 18 10:15:22 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Fri, 18 Dec 2009 10:15:22 +0100 Subject: [erlang-patches] Re: [Re] Patch for asn1 library In-Reply-To: <6672d0160912170431w35f4425dp6cc11a78eeca1db3@mail.gmail.com> References: <6672d0160912170431w35f4425dp6cc11a78eeca1db3@mail.gmail.com> Message-ID: <6672d0160912180115n332e78efid257f876f75dcae@mail.gmail.com> 2009/12/17 Bj?rn Gustavsson : >> You can get it with : >> git fetch git://github.com/titaude30/otp.git asn1_incomplete_packet > > Thanks! Included in 'pu'. I have stripped the trailing whitespace that your branch introduced. I also slightly tweaked the commit message so that the first line can be understood out of context in gitk, and got rid of spaces before colons. The amended version is now included in 'pu'. There is a description this page how you can create a local branch pointing to my amended version: http://wiki.github.com/erlang/otp/branches -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From ulf.wiger@REDACTED Fri Dec 18 10:16:38 2009 From: ulf.wiger@REDACTED (Ulf Wiger) Date: Fri, 18 Dec 2009 10:16:38 +0100 Subject: [erlang-patches] patch - tab completion for quoted module and function names In-Reply-To: <6672d0160912180054m7d8d219am6269a0a31f03c181@mail.gmail.com> References: <4B2ABC3A.4000305@erlang-consulting.com> <6672d0160912172345o64dccc4p3a037bd5f52bfdd4@mail.gmail.com> <4B2B39E3.5030608@erlang-consulting.com> <6672d0160912180054m7d8d219am6269a0a31f03c181@mail.gmail.com> Message-ID: <4B2B4876.80605@erlang-consulting.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Bj?rn Gustavsson wrote: > 2009/12/18 Ulf Wiger : >> I have amended the branch and pushed my changes. Github now shows >> the modified files in the source code browser. > > Thanks! > > There is another problem that I only noticed when trying to merge > your branch: there are files that have the same name except for > case ("expand_test" and "Expand_test"). That will not work on either > Mac or Windows (both normally use case-insensitive file systems), > so you will have to rename the files to avoid the clash. Ah, of course. They don't have to be the same, and shouldn't be. I'm fixing that. BTW, when I tried doing 'make release_tests' in the stdlib/test directory, it installed the test files to a different target directory than the one used when doing 'make release_tests' from ERL_TOP. When done from stdlib, it used the $ERL_TOP/release/i686-pc-linux-gnu/stdlib_test/ target. If it's not just me, perhaps the wiki could say a few words about how to add to the test suites and re-make them properly? BR, Ulf W -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAksrSHYACgkQtqqFieqzed0ibgCgrLJ8l6846ZA8THNFMLXWAKv2 3MUAoMnBtEHouCdBkPVhUM6i8C0Uoo9L =HNdW -----END PGP SIGNATURE----- From bgustavsson@REDACTED Fri Dec 18 10:43:52 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Fri, 18 Dec 2009 10:43:52 +0100 Subject: [erlang-patches] patch - tab completion for quoted module and function names In-Reply-To: <4B2B4876.80605@erlang-consulting.com> References: <4B2ABC3A.4000305@erlang-consulting.com> <6672d0160912172345o64dccc4p3a037bd5f52bfdd4@mail.gmail.com> <4B2B39E3.5030608@erlang-consulting.com> <6672d0160912180054m7d8d219am6269a0a31f03c181@mail.gmail.com> <4B2B4876.80605@erlang-consulting.com> Message-ID: <6672d0160912180143t21650097v1737cc874d61be67@mail.gmail.com> 2009/12/18 Ulf Wiger : > I'm fixing that. BTW, when I tried doing 'make release_tests' in > the stdlib/test directory, it installed the test files to a > different target directory than the one used when doing 'make > release_tests' from ERL_TOP. When done from stdlib, it used the > $ERL_TOP/release/i686-pc-linux-gnu/stdlib_test/ target. That is probably a bug that we should fix. It should not be hard to fix, but we must make sure that it doesn't break anything in our daily builds. > If it's not just me, perhaps the wiki could say a few words > about how to add to the test suites and re-make them > properly? I usually release the tests once from the top and then I set up a symbolic link from the location of the released test suites to the original file. (It is also possible to set up a symbolic link for the tests for an entire application.) And that should probably be mentioned in the wiki. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From jean-sebastien.pedron@REDACTED Fri Dec 18 10:53:42 2009 From: jean-sebastien.pedron@REDACTED (=?UTF-8?B?SmVhbi1Tw6liYXN0aWVuIFDDqWRyb24=?=) Date: Fri, 18 Dec 2009 10:53:42 +0100 Subject: [erlang-patches] Fix GCC detection in ERTS' Makefiles In-Reply-To: <6672d0160912180108o222b992eyeffe02d45b448e30@mail.gmail.com> References: <4B295B7A.4020904@dumbbell.fr> <6672d0160912170016l41dd14a2g93441256289486ca@mail.gmail.com> <4B2B40E2.8030208@dumbbell.fr> <6672d0160912180108o222b992eyeffe02d45b448e30@mail.gmail.com> Message-ID: <4B2B5126.7040106@dumbbell.fr> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 18.12.2009 10:08, Bj?rn Gustavsson wrote: > Actually, I think that you can keep all changes to the Makefiles > in the erts application, and only remove the changes in all other > applications. Oops, I just played with GIT to remove changes from Makefiles that didn't need $(CC_NAME) for now :) - -- Jean-S?bastien P?dron http://www.dumbbell.fr/ PGP Key: http://www.dumbbell.fr/pgp/pubkey.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (FreeBSD) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAksrUSYACgkQa+xGJsFYOlPw1wCffH/6ysvbdwCFQB8arhi3JqiX S/sAoIONqoQQGmt22TlqN8qWEMDQZhwS =olNe -----END PGP SIGNATURE----- From bgustavsson@REDACTED Fri Dec 18 11:05:17 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Fri, 18 Dec 2009 11:05:17 +0100 Subject: [erlang-patches] Fix GCC detection in ERTS' Makefiles In-Reply-To: <4B2B5126.7040106@dumbbell.fr> References: <4B295B7A.4020904@dumbbell.fr> <6672d0160912170016l41dd14a2g93441256289486ca@mail.gmail.com> <4B2B40E2.8030208@dumbbell.fr> <6672d0160912180108o222b992eyeffe02d45b448e30@mail.gmail.com> <4B2B5126.7040106@dumbbell.fr> Message-ID: <6672d0160912180205p3bc5910bqcdd0d87b80b001aa@mail.gmail.com> 2009/12/18 Jean-S?bastien P?dron : > Oops, I just played with GIT to remove changes from Makefiles that > didn't need $(CC_NAME) for now :) No problem. That's also fine. I have included your branch in 'pu'. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From ulf.wiger@REDACTED Fri Dec 18 11:14:47 2009 From: ulf.wiger@REDACTED (Ulf Wiger) Date: Fri, 18 Dec 2009 11:14:47 +0100 Subject: [erlang-patches] patch - tab completion for quoted module and function names In-Reply-To: <6672d0160912180143t21650097v1737cc874d61be67@mail.gmail.com> References: <4B2ABC3A.4000305@erlang-consulting.com> <6672d0160912172345o64dccc4p3a037bd5f52bfdd4@mail.gmail.com> <4B2B39E3.5030608@erlang-consulting.com> <6672d0160912180054m7d8d219am6269a0a31f03c181@mail.gmail.com> <4B2B4876.80605@erlang-consulting.com> <6672d0160912180143t21650097v1737cc874d61be67@mail.gmail.com> Message-ID: <4B2B5617.1090403@erlang-consulting.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 I have renamed the test files and pushed an amended commit. The test suite has been updated and works on my machine. git fetch git://github.com/uwiger/otp.git shell_tab_completion (repeated just in case) BR, Ulf W Bj?rn Gustavsson wrote: > 2009/12/18 Ulf Wiger : >> I'm fixing that. BTW, when I tried doing 'make release_tests' in >> the stdlib/test directory, it installed the test files to a >> different target directory than the one used when doing 'make >> release_tests' from ERL_TOP. When done from stdlib, it used the >> $ERL_TOP/release/i686-pc-linux-gnu/stdlib_test/ target. > > That is probably a bug that we should fix. It should not > be hard to fix, but we must make sure that it doesn't > break anything in our daily builds. > >> If it's not just me, perhaps the wiki could say a few words >> about how to add to the test suites and re-make them >> properly? > > I usually release the tests once from the top and then > I set up a symbolic link from the location of the released > test suites to the original file. (It is also possible to set > up a symbolic link for the tests for an entire application.) > > And that should probably be mentioned in the wiki. > -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAksrVhcACgkQtqqFieqzed0QRgCfSG05ZePW0gL+jopdOGVmcWfB r1gAn1guJ3/zW9BZO3LsAMFaALOiC2eX =9cKO -----END PGP SIGNATURE----- From bgustavsson@REDACTED Fri Dec 18 13:22:05 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Fri, 18 Dec 2009 13:22:05 +0100 Subject: [erlang-patches] patch - tab completion for quoted module and function names In-Reply-To: <4B2B5617.1090403@erlang-consulting.com> References: <4B2ABC3A.4000305@erlang-consulting.com> <6672d0160912172345o64dccc4p3a037bd5f52bfdd4@mail.gmail.com> <4B2B39E3.5030608@erlang-consulting.com> <6672d0160912180054m7d8d219am6269a0a31f03c181@mail.gmail.com> <4B2B4876.80605@erlang-consulting.com> <6672d0160912180143t21650097v1737cc874d61be67@mail.gmail.com> <4B2B5617.1090403@erlang-consulting.com> Message-ID: <6672d0160912180422s17189202n671522aee6815fb0@mail.gmail.com> 2009/12/18 Ulf Wiger : > I have renamed the test files and pushed an amended commit. > The test suite has been updated and works on my machine. > > git fetch git://github.com/uwiger/otp.git shell_tab_completion > (repeated just in case) Thanks! Included in 'pu'. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From videlalvaro@REDACTED Sun Dec 20 11:10:48 2009 From: videlalvaro@REDACTED (Videla Alvaro) Date: Sun, 20 Dec 2009 18:10:48 +0800 Subject: Improvements in the Report Browser Message-ID: <110EAD81-677A-479D-B797-72F9A55BDB70@gmail.com> Hi, I'm new in this mailing list and I'm learning Erlang since 1 year. At the moment I'm working on a system that will do heavy use of the error_logger and the report browser. After collecting some reports I would like to filter them based on certain criteria, but I saw that the rb module only supports rb:grep/1 for filtering, so I started tweaking the module, adding some functionality. At the same time I discovered that the compiler throws this warning when I was compiling my tweaked module: Warning: regexp:match/2: the regexp module is deprecated (will be removed in R15A); use the re module instead I got that partially fixed by adding a new function re/1 that accepts a compiled regular expression obtained by re:compile/1 or re:compile/2. rb:re/1 can be used in place of re:grep/1 which I didn't want to remove since it may break other people code. Also I added a couple of functions filter/1 expects a list of filters that can be applied to the reports _only_ if our reports are proplists. (I can explain it further in another email if you want) reports/0 and reports/1 expect an optional list of filters. The function returns a list of reports instead of printing them to the screen. I'm planning to build a webmachine application to browse the reports, that's why I need that feature. Please let me know if you think any of this functions can be contributed back to the rb module. Regards, Alvaro From klas.johansson@REDACTED Sun Dec 20 23:06:39 2009 From: klas.johansson@REDACTED (Klas Johansson) Date: Sun, 20 Dec 2009 23:06:39 +0100 Subject: [erlang-questions] Bug in epmd_srv.c? In-Reply-To: References: Message-ID: Hi, On Thu, Sep 3, 2009 at 11:24 PM, Dave Smith wrote: > Hi all, > > I've been working on a helper module to enable usage of epmd > for things other than just nodes (i.e. poor man's zeroconf > service). In the process, I've found some discrepancies in the > epmd documentation and server code. I _think_ there is a bug or > two there, but would appreciate validation by the OTP team -- > it could just be a lack of understanding on my part. :) > > First off, the docs for the distribution protocol state that > the ALIVE2_REQ has the field "LowestVersion" followed > by "HighestVersion". However, the implementation in > erl_epmd.erl has them reversed as does the documentation for > the PORT2_RESP packet. This is, I believe, a minor > documentation bug. Now I too have been bitten by this. This patch places the `highest version' field before the `lowest version' field in the docs, just as in the source code: git fetch git://github.com/klajo/otp.git epmd_alive2req_version_ordering > Secondly, in erts/epmd/src/epmd_srv.c:628 (R13B01), there is > the following line: > > offset += (strlen(node->extra)-1); > > Unfortunately, if the length of the extra field is zero, this > causes the last byte of the packet to disappear as it winds up > decrementing "offset". > > Reading through epmd, it looks like the expectation is that the > extra field is null-terminated --- but the docs make no mention > of it. This is somewhat odd to me as that field is prefixed > with a 2 byte length value in the protocol, so I see no reason > for the implementation to require the data to be a C string. Of > course, this may be for backwards compatibility purposes; it's > hard to know for sure. I stumbled upon this one as well and had a go at fixing it. Before the change I discovered that (according to docs, fields are a two-byte length followed by the value itself [1]): * <<0>> instead of <<0, 0>> was returned when extra was <<>> (truncated) * <<0, 4, 4, 1, 2>> instead of <<0, 4, 1, 2, 3, 4>> was returned when extra was <<1, 2, 3, 4>> (truncated and garbled; actually the second byte of the length is duplicated) The fix tries to address that. I'm not too sure about the fix though, since this is in some sense not a backwards compatible fix (since extra and it's length will be different). However, since the previous version truncated (and garbled) the "extra" field and erl_epmd.erl doesn't seem to care about it it might not be that big a deal. Perhaps for some other third-party libraries or other parts of Erlang/OTP (ei, jinterface, ...; I haven't checked)? Also, I'm not that confident in modifying the epmd... :-) I've attached a test case which illustrates the problem. Get the code here: git fetch git://github.com/klajo/otp.git epmd_port2resp_trunc_extra I'd be happy to hear from someone who's more well-versed in the epmd and the distribution protocol. Kind Regards, Klas [1] http://www.erlang.org/doc/apps/erts/erl_dist_protocol.html -------------- next part -------------- A non-text attachment was scrubbed... Name: epmd_extra.erl Type: application/octet-stream Size: 2656 bytes Desc: not available URL: From dizzyd@REDACTED Mon Dec 21 04:01:19 2009 From: dizzyd@REDACTED (Dave Smith) Date: Sun, 20 Dec 2009 20:01:19 -0700 Subject: [erlang-questions] Bug in epmd_srv.c? In-Reply-To: References: Message-ID: On Sun, Dec 20, 2009 at 3:06 PM, Klas Johansson wrote: > The fix tries to address that. ?I'm not too sure about the fix > though, since this is in some sense not a backwards compatible > fix (since extra and it's length will be different). ?However, > since the previous version truncated (and garbled) the "extra" > field and erl_epmd.erl doesn't seem to care about it it might not > be that big a deal. ?Perhaps for some other third-party libraries > or other parts of Erlang/OTP (ei, jinterface, ...; I haven't > checked)? ?Also, I'm not that confident in modifying the > epmd... :-) I've attached a test case which illustrates the > problem. ?Get the code here: It's been a while since I've looked at this, but at first glance it seems to me that while your patch solves the case where extra is a typical null-terminated string, it does not address the problem where extra has binary data with nulls sprinkled throughout. To deal with this, you'd need to add a field to track the length of extra (instead of depending on strlen) and also replace the strcpy on 627 to a memcpy. Hope that helps. :) I am very glad to see someone else looking at it. Extra would be quite useful to have working properly. D. From klas.johansson@REDACTED Mon Dec 21 08:51:48 2009 From: klas.johansson@REDACTED (Klas Johansson) Date: Mon, 21 Dec 2009 08:51:48 +0100 Subject: [erlang-questions] Bug in epmd_srv.c? In-Reply-To: References: Message-ID: Hi Dave, On Mon, Dec 21, 2009 at 4:01 AM, Dave Smith wrote: > On Sun, Dec 20, 2009 at 3:06 PM, Klas Johansson > wrote: > >> The fix tries to address that. I'm not too sure about the fix >> though, since this is in some sense not a backwards compatible >> fix (since extra and it's length will be different). However, >> since the previous version truncated (and garbled) the "extra" >> field and erl_epmd.erl doesn't seem to care about it it might not >> be that big a deal. Perhaps for some other third-party libraries >> or other parts of Erlang/OTP (ei, jinterface, ...; I haven't >> checked)? Also, I'm not that confident in modifying the >> epmd... :-) I've attached a test case which illustrates the >> problem. Get the code here: > > It's been a while since I've looked at this, but at first glance it > seems to me that while your patch solves the case where extra is a > typical null-terminated string, it does not address the problem where > extra has binary data with nulls sprinkled throughout. To deal with > this, you'd need to add a field to track the length of extra (instead > of depending on strlen) and also replace the strcpy on 627 to a > memcpy. True. I've made a new version, which takes that into account. I introduced a new field into the Node/enode struct which remembers the length of the "extra" when a node is registered in the epmd, and uses that length together with a memcpy when building the PORT2_RESP. I'd love to hear from the Erlang/OTP team and their take on this. I can push it back to github later on today, if there are no other things to take into account. > Hope that helps. :) I am very glad to see someone else looking at it. > Extra would be quite useful to have working properly. :-) Thanks for your feedback. BR, Klas From bgustavsson@REDACTED Mon Dec 21 11:30:44 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Mon, 21 Dec 2009 11:30:44 +0100 Subject: [erlang-patches] Improvements in the Report Browser In-Reply-To: <110EAD81-677A-479D-B797-72F9A55BDB70@gmail.com> References: <110EAD81-677A-479D-B797-72F9A55BDB70@gmail.com> Message-ID: <6672d0160912210230w5443d4a1wb3f3c249d792daf5@mail.gmail.com> On Sun, Dec 20, 2009 at 11:10 AM, Videla Alvaro wrote: > Please let me know if you think any of this functions can be contributed back to the rb module. See http://wiki.github.com/erlang/otp/submitting-patches -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From bgustavsson@REDACTED Mon Dec 21 12:06:49 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Mon, 21 Dec 2009 12:06:49 +0100 Subject: [erlang-patches] Re: [erlang-questions] Bug in epmd_srv.c? In-Reply-To: References: Message-ID: <6672d0160912210306y43ebcc4dg63ea136b6a573bea@mail.gmail.com> On Sun, Dec 20, 2009 at 11:06 PM, Klas Johansson wrote: > Now I too have been bitten by this. This patch places the > `highest version' field before the `lowest version' field in the > docs, just as in the source code: > Thanks! I have applied your patch directly to the development branch (it will turn up later today in the git repository), with one minor change (referring to the next field for possible values no longer make sense, so I copied the line "The value in R6B and later is 5" from the other version number). >> Secondly, in erts/epmd/src/epmd_srv.c:628 (R13B01), there is >> the following line: >> >> offset += (strlen(node->extra)-1); [...] I'll wait for your updated version. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From kenneth.lundin@REDACTED Mon Dec 21 16:59:42 2009 From: kenneth.lundin@REDACTED (Kenneth Lundin) Date: Mon, 21 Dec 2009 16:59:42 +0100 Subject: [erlang-patches] Re: [Re] Patch for asn1 library In-Reply-To: References: Message-ID: Hi Aude, I did not notice your patch earlier possibly because I was not a member of the erlang-patches mailing list at the time. I am responsible for the ASN.1 application and have some comments, see below: On Thu, Dec 17, 2009 at 10:16 AM, Aude Quintana wrote: > Hi ! > I received no acknowlegment concerning the patch I sent for the asn1 > library (sent in August) > So in order to facilitate its treatment I have comitted it on github > otp project clone. Hope you will (re)consider it, or at least, say the > problem with it. > > You can get it with : > git fetch git://github.com/titaude30/otp.git asn1_incomplete_packet > > To remind you the subject it is a patch which change decode/2 > functions generated from a file .asn1 : they return the error {error, > incomplete} when the packet given to decode is incomplete instead of > any error. > It is necessary when implementing functions that decode packet > received from a socket when it's not sure that they are complete (if > messages are too big, they are are splitted). I don't really agree with you here. When receiving data on a socket you can never know for sure you get all data together in one message (or revc) or if you have to collect and concatenate data from many messages until you have a complete PDU. In most protocols you have some header with a length indicator which tell you how many bytes you need to get a complete package i.e you must handle this before you call asn1rt:decode. When you open a socket you have the packet mode which can help with this, there is also a specific asn.1 packet mode there. When the decoder fails the rason can be any of: - corrupt indata , for example incorrect length indication - incomplete data i.e. the case you are after with missing data - a bug in the Erlang asn1 decoding functions You can not know which case of the above in runtime. Another point is that even if you return {error,incomplete} , what can the user do about that? It is not a good idea to rely on that for regular use for testing if more data is needed simply because it is not efficient, you have fetch more data and then do the full decode again. The right thing is as said above to first assure that a complete PDU is at hand and then call decode. > It 's the completary of another functionality : when .asn1 file are > compiled with the undec_rest option and decode/2 functions are called > with argument packet that contain more of one messages, then decode/2 > function return the decoded message plus the rest of the packet. > Yes i agree here that "incomplete2 is kind of a complement to {Result,RestBytes} but with the big difference that it makes much more sense to continue computing something with the RestBytes and that it makes sense that you get RestBytes for legitime reasons and not becauseof an unknown type of error. Above was a discussion regarding the need and usefulness of {error,incomplete}. I also think that the tests you have added will cause a significant degradation of performance for all users even those that are not interested in {error,incomplete}. If {error,incomplete} should be supported as return value (which I don't think is a very good idea as said above) I would implement it in another way with less performance penalty and for example make it an option at compile time for those who want the function. There is also a big difference between BER and PER in this regard. In BER the nested TLV structure is decoded first and sometimes even in a driver (C-code) and the checking can be done there (only). In PER the length information is ofthen missing and the checking must be done by other means. /Regards Kenneth > Best regards, > Aude > > 2009/8/25 Aude Quintana : >> Hello ! >> >> After some other tests with the patch I made previously on asn1 library I >> had to add some lines in the patch. >> (it makes the decoding function to return {error,incomplete} when the buffer >> passed in argument doesn't contain at least a full message) >> >> So, .diff file joined is the new patch and I hope it is complete now. >> >> Best Regards, >> Aude. >> > > -- > Aude Quintana > > ________________________________________________________________ > erlang-patches mailing list. See http://www.erlang.org/faq.html > erlang-patches (at) erlang.org > > From vincent.dephily@REDACTED Mon Dec 21 20:01:43 2009 From: vincent.dephily@REDACTED (Vincent de Phily) Date: Mon, 21 Dec 2009 20:01:43 +0100 Subject: Fwd: [erlang-patches] Re: [Re] Patch for asn1 library In-Reply-To: References: Message-ID: <200912212001.44073.vincent.dephily@mobile-devices.fr> On Monday 21 December 2009 17:12:26 aude quintana wrote: > ---------- Forwarded message ---------- > From: Kenneth Lundin > Date: 2009/12/21 > Subject: Re: [erlang-patches] Re: [Re] Patch for asn1 library > To: Aude Quintana > Cc : erlang-patches@REDACTED > > On Thu, Dec 17, 2009 at 10:16 AM, Aude Quintana > > wrote: > > To remind you the subject it is a patch which change decode/2 > > functions generated from a file .asn1 : they return the error {error, > > incomplete} when the packet given to decode is incomplete instead of > > any error. > > It is necessary when implementing functions that decode packet > > received from a socket when it's not sure that they are complete (if > > messages are too big, they are are splitted). > > I don't really agree with you here. > When receiving data on a socket you can never know for sure you get all > data together in one message (or revc) or if you have to collect and > concatenate data from many messages > until you have a complete PDU. In most protocols you have some header > with a length indicator which > tell you how many bytes you need to get a complete package i.e you > must handle this before you > call asn1rt:decode. > When you open a socket you have the packet mode which can help with > this, there is also a specific > asn.1 packet mode there. Yes, we are aware of this solution (either implemented manually or using inet:setopts/2) but it adds a packet overhead that is not fundamantally necessary. Trading 4 bytes on the network against the CPU cost of potentially re-parsing a whole asn1 packet is a compromise. In our case we pay per byte sent, so we save every one we can. > When the decoder fails the rason can be any of: > 1) corrupt indata , for example incorrect length indication > 2) incomplete data i.e. the case you are after with missing data > 3) a bug in the Erlang asn1 decoding functions 1) and 3) happen exceptionally, we have little choice but to close the connection. 2) happens normaly, we just wait for more data. > You can not know which case of the above in runtime. That's what our patch is for : it enables us to tell the difference. > Another point is that even if you return {error,incomplete} , what can > the user do about that? > It is not a good idea to rely on that for regular use for testing if > more data is needed simply because it is not efficient, > you have fetch more data and then do the full decode again. > The right thing is as said above to first assure that a complete PDU > is at hand and then call decode. I understand your point, but as I said it is a bytes / CPU tradeoff and we are willing to save the former and waste the later. > Yes i agree here that "incomplete2 is kind of a complement to > {Result,RestBytes} but > with the big difference that it makes much more sense to continue > computing something with the RestBytes > and that it makes sense that you get RestBytes for legitime reasons > and not becauseof an unknown type of error. Then again, you are suggesting to use an extra non-asn1 header to know the size of the asn1 packet. If we know the size of the packet, then having the RestBytes functionality is superfluous : split_binary/2 works well enough. To me, having a RestBytes functionality seems of little use without a corresponding MissingBytes functionality : either we rely on the asn1 library to do packet spliting for us (but the library needs to implement it fully), or we do packet spliting ourselves (and the library functionality is useless). > Above was a discussion regarding the need and usefulness of > {error,incomplete}. > > I also think that the tests you have added will cause a significant > degradation of performance for all users > even those that are not interested in {error,incomplete}. > If {error,incomplete} should be supported as return value (which I > don't think is a very good idea as said above) > I would implement it in another way with less performance penalty and > for example make it an option at > compile time for those who want the function. If it is possible to implement {error,incomplete} in a more efficient way, we'd be happy to. Give us some pointers to improve things, unless you'd like to refactor our patch yourself. Concerning the compile-time option, it is probably a good idea, as all these extra check will never be overhead-free. Maybe use the existing undec_rest compile option for both {error,incomplete} and RestBytes (as explained above, I dont think one is usefull without the other) ? > There is also a big difference between BER and PER in this regard. In > BER the nested TLV structure is > decoded first and sometimes even in a driver (C-code) and the checking > can be done there (only). > In PER the length information is ofthen missing and the checking must > be done by other means. Indeed. In a previous version of our protocol we used BER, and manually parsed the first few bytes to know if the asn1 packet was complete or not (and wether there was extra data afterwards). But our current protocol uses UPER, and reading the first few bytes to know the size is no longer possible. We either need an extra header giving us the packet size, or some help from the asn1 library. -- Vincent de Phily Mobile Devices +33 (0) 142 119 325 +353 (0) 85 710 6320 Warning This message (and any associated files) is intended only for the use of its intended recipient and may contain information that is confidential, subject to copyright or constitutes a trade secret. If you are not the intended recipient you are hereby notified that any dissemination, copying or distribution of this message, or files associated with this message, is strictly prohibited. If you have received this message in error, please notify us immediately by replying to the message and deleting it from your computer. Any views or opinions presented are solely those of the author vincent.dephily@REDACTED and do not necessarily represent those of the company. Although the company has taken reasonable precautions to ensure no viruses are present in this email, the company cannot accept responsibility for any loss or damage arising from the use of this email or attachments. From mclaughlin77@REDACTED Mon Dec 21 22:30:16 2009 From: mclaughlin77@REDACTED (Kelly McLaughlin) Date: Mon, 21 Dec 2009 14:30:16 -0700 Subject: Fix inets HTTP client bug crafting Host header when port is not 80 Message-ID: <208c9bd70912211330t54ff362bu336595b9145c8ec1@mail.gmail.com> git fetch git://github.com/mclaughlin77/otp.git http_host_header_fix From klas.johansson@REDACTED Tue Dec 22 00:37:17 2009 From: klas.johansson@REDACTED (Klas Johansson) Date: Tue, 22 Dec 2009 00:37:17 +0100 Subject: [erlang-patches] Re: [erlang-questions] Bug in epmd_srv.c? In-Reply-To: <6672d0160912210306y43ebcc4dg63ea136b6a573bea@mail.gmail.com> References: <6672d0160912210306y43ebcc4dg63ea136b6a573bea@mail.gmail.com> Message-ID: 2009/12/21 Bj?rn Gustavsson : > On Sun, Dec 20, 2009 at 11:06 PM, Klas Johansson > wrote: >> Now I too have been bitten by this. This patch places the >> `highest version' field before the `lowest version' field in the >> docs, just as in the source code: >> > > Thanks! > > I have applied your patch directly to the development branch > (it will turn up later today in the git repository), with one minor > change (referring to the next field for possible values no longer > make sense, so I copied the line "The value in R6B and later is 5" > from the other version number). Ok, great! >>> Secondly, in erts/epmd/src/epmd_srv.c:628 (R13B01), there is >>> the following line: >>> >>> offset += (strlen(node->extra)-1); > [...] > > I'll wait for your updated version. 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 I've also attached a new version of the erlang test case which tests the null issue as well. I'd be happy to hear what you think. BR, Klas -------------- next part -------------- A non-text attachment was scrubbed... Name: epmd_extra.erl Type: application/octet-stream Size: 2916 bytes Desc: not available URL: From zl9d97p02@REDACTED Tue Dec 22 07:57:22 2009 From: zl9d97p02@REDACTED (Simon Cornish) Date: Mon, 21 Dec 2009 22:57:22 -0800 Subject: [erlang-patches] Non-blocking SCTP connect [Was: [erlang-patches] SCTP improvements] In-Reply-To: <17551-1260988040-19738@sneakemail.com> References: <17551-1260988040-19738@sneakemail.com> Message-ID: <32461-1261465043-568221@sneakemail.com> 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 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 > > From bgustavsson@REDACTED Tue Dec 22 09:01:29 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Tue, 22 Dec 2009 09:01:29 +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: <6672d0160912220001g6311ed00y190d90fd6a918b7b@mail.gmail.com> On Tue, Dec 22, 2009 at 7:57 AM, Simon Cornish wrote: > Just in time for Christmas, a non-blocking SCTP connect. > > git fetch git://github.com/dotsimon/otp.git sctp_connect_nowait > Thanks! Included in 'pu'. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From bgustavsson@REDACTED Tue Dec 22 09:01:55 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Tue, 22 Dec 2009 09:01:55 +0100 Subject: [erlang-patches] Fix inets HTTP client bug crafting Host header when port is not 80 In-Reply-To: <208c9bd70912211330t54ff362bu336595b9145c8ec1@mail.gmail.com> References: <208c9bd70912211330t54ff362bu336595b9145c8ec1@mail.gmail.com> Message-ID: <6672d0160912220001p74deae7fqb52ef6dad390e059@mail.gmail.com> On Mon, Dec 21, 2009 at 10:30 PM, Kelly McLaughlin wrote: > git fetch git://github.com/mclaughlin77/otp.git http_host_header_fix > Thanks! Included in 'pu'. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From bgustavsson@REDACTED Tue Dec 22 09:16:42 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Tue, 22 Dec 2009 09:16:42 +0100 Subject: [erlang-patches] Re: [erlang-questions] Bug in epmd_srv.c? In-Reply-To: References: <6672d0160912210306y43ebcc4dg63ea136b6a573bea@mail.gmail.com> Message-ID: <6672d0160912220016w7f8120edg28ce2b29d56b5a42@mail.gmail.com> 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'. 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'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'd be happy to hear what you think. We will come back to you next year. Unless we uncover any backward-compatibility issues or other problems, this fix should make it into R13B04. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From bgustavsson@REDACTED Tue Dec 22 09:46:53 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Tue, 22 Dec 2009 09:46:53 +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: <6672d0160912220046ja723e21q143bd6f91d28bac0@mail.gmail.com> On Tue, Dec 22, 2009 at 7:57 AM, Simon Cornish wrote: > 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! All lines in the commit message ended in a bare CR. That caused problems for my script that generates this summary of the contents of the 'pu' branch: http://erlang.github.com/otp/ Therefore I have amended the commit and replaced the CRs with LFs. I did not fix the long lines. The lines should be somewhat shorter to look nice when viewed at github. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From klyr@REDACTED Tue Dec 22 12:17:54 2009 From: klyr@REDACTED (Julien Barbot) Date: Tue, 22 Dec 2009 12:17:54 +0100 Subject: Added ERL_ATOM_TABLE_SIZE environment variable Message-ID: <4B30AAE2.2070400@quicheaters.org> Hello, Actually atom table size is an hard-coded value of 1048576 (1024*1024). I thought it would be a good idea to make this limitation more dynamic by adding an environment variable to increase this limit. It is quite the same behavior as the ERL_MAX_ETS_TABLES env variable. The new variable is called ERL_ATOM_TABLE_SIZE. I know that increasing this value should be the last resort when faced with an atom number limitation. A better way of solving this kind of problem is of course to correct the design of the faulty application. The simple patch is available at: git fetch git://github.com/klyr/otp.git atom_table_size_env Regards, -- Julien Barbot From bgustavsson@REDACTED Tue Dec 22 13:15:12 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Tue, 22 Dec 2009 13:15:12 +0100 Subject: [erlang-patches] Added ERL_ATOM_TABLE_SIZE environment variable In-Reply-To: <4B30AAE2.2070400@quicheaters.org> References: <4B30AAE2.2070400@quicheaters.org> Message-ID: <6672d0160912220415y45ea6ec3g91829da9f175c6d7@mail.gmail.com> On Tue, Dec 22, 2009 at 12:17 PM, Julien Barbot wrote: > I know that increasing this value should be the last resort when faced > with an atom number limitation. A better way of solving this kind of > problem is of course to correct the design of the faulty application. > > The simple patch is available at: > > git fetch git://github.com/klyr/otp.git atom_table_size_env > Thanks! Included in 'pu'. I cannot promise that we will accept this patch; we'll decide in a OTP technical board meeting next year. That aside, the following must be fixed should we decide to include it: - There should be an upper limit of the size of the atom table, MAX_ATOM_INDEX+1 at the very largest. - The environment variable should also be documented in the man page for "erl". -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From klyr@REDACTED Tue Dec 22 17:19:34 2009 From: klyr@REDACTED (Julien Barbot) Date: Tue, 22 Dec 2009 17:19:34 +0100 Subject: [erlang-patches] Added ERL_ATOM_TABLE_SIZE environment variable In-Reply-To: <6672d0160912220415y45ea6ec3g91829da9f175c6d7@mail.gmail.com> References: <4B30AAE2.2070400@quicheaters.org> <6672d0160912220415y45ea6ec3g91829da9f175c6d7@mail.gmail.com> Message-ID: <4B30F196.6050303@quicheaters.org> Bj?rn Gustavsson wrote: >> The simple patch is available at: >> git fetch git://github.com/klyr/otp.git atom_table_size_env > > Thanks! Included in 'pu'. > > That aside, the following must be fixed should we decide to > include it: > > - There should be an upper limit of the size of the atom table, > MAX_ATOM_INDEX+1 at the very largest. I added the correction. > - The environment variable should also be documented in the > man page for "erl". I first choose not to document this variable as the ERL_MAX_ETS_TABLES variable is not documented too in the erl man page. The erl man page is now modified. -- Julien Barbot From videlalvaro@REDACTED Tue Dec 22 17:40:42 2009 From: videlalvaro@REDACTED (Videla Alvaro) Date: Wed, 23 Dec 2009 00:40:42 +0800 Subject: [erlang-patches] Improvements in the Report Browser In-Reply-To: <6672d0160912210230w5443d4a1wb3f3c249d792daf5@mail.gmail.com> References: <110EAD81-677A-479D-B797-72F9A55BDB70@gmail.com> <6672d0160912210230w5443d4a1wb3f3c249d792daf5@mail.gmail.com> Message-ID: <6B2422AA-528F-497B-B71C-DAC2699C75EB@gmail.com> Hi, I could get the new rb:filters/1 function into github, with the documentation, etc: http://github.com/videlalvaro/otp/tree/rb_improvements But I'm still failing to understand the branches concept explained here: http://wiki.github.com/erlang/otp/branches My apologies for my lack of experience with git. Alvaro On Dec 21, 2009, at 6:30 PM, Bj?rn Gustavsson wrote: > On Sun, Dec 20, 2009 at 11:10 AM, Videla Alvaro wrote: > >> Please let me know if you think any of this functions can be contributed back to the rb module. > > See http://wiki.github.com/erlang/otp/submitting-patches > > -- > Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From bgustavsson@REDACTED Tue Dec 22 17:44:12 2009 From: bgustavsson@REDACTED (=?UTF-8?Q?Bj=C3=B6rn_Gustavsson?=) Date: Tue, 22 Dec 2009 17:44:12 +0100 Subject: [erlang-patches] Added ERL_ATOM_TABLE_SIZE environment variable In-Reply-To: <4B30F196.6050303@quicheaters.org> References: <4B30AAE2.2070400@quicheaters.org> <6672d0160912220415y45ea6ec3g91829da9f175c6d7@mail.gmail.com> <4B30F196.6050303@quicheaters.org> Message-ID: <6672d0160912220844u4fd95cdbha595b39aa3db143e@mail.gmail.com> 2009/12/22 Julien Barbot : >> - There should be an upper limit of the size of the atom table, >> MAX_ATOM_INDEX+1 at the very largest. > > I added the correction. > >> - The environment variable should also be documented in the >> man page for "erl". > > I first choose not to document this variable as the ERL_MAX_ETS_TABLES > variable is not documented too in the erl man page. > > The erl man page is now modified. Thanks! The updated version is now included in 'pu'. -- Bj?rn Gustavsson, Erlang/OTP, Ericsson AB From hio@REDACTED Thu Dec 24 09:33:54 2009 From: hio@REDACTED (YAMASHINA Hio) Date: Thu, 24 Dec 2009 17:33:54 +0900 Subject: run sometimes executed on corrupted data Message-ID: <20091224173354.6baa8088.hio@hio.jp> Hi all. 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",[<<"!">>]} This message is just outputed one with no masking of secret data. It looks like this problem happens when: - Subject is just binary term (RESTART_FLAG_SUBJECT_IN_BINARY), - erts_pcre_exec is interrupted with PCRE_ERROR_LOOP_LIMIT, - run garbage collection - and erts_pcre_exec is restarted. Although Subject binary (BIF_ARG_2) is not destroyed, but shurink process moves the memory block where actual data is stored. Restart context only has memory address and there is not any notice from garbage collection. Then re:run is restarted on corrupted garbage collected Subject. Patch for R13B03 is attached. Sorry for not providing any code snippet to reproduce the problem. This problem was found on R13B01. Regards. -- YAMASHINA Hio -------------- next part -------------- A non-text attachment was scrubbed... Name: otp_src_R13B03.fix-re.patch Type: application/octet-stream Size: 3463 bytes Desc: not available URL: From mononcqc@REDACTED Thu Dec 24 20:29:15 2009 From: mononcqc@REDACTED (Fred Hebert) Date: Thu, 24 Dec 2009 14:29:15 -0500 Subject: patch: common_test include vs. include_lib Message-ID: <8b9ee55b0912241129s59eab3eag209fb7c1381c5c7e@mail.gmail.com> 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 videlalvaro@REDACTED Fri Dec 25 10:03:06 2009 From: videlalvaro@REDACTED (Videla Alvaro) Date: Fri, 25 Dec 2009 17:03:06 +0800 Subject: [erlang-patches] Improvements in the Report Browser In-Reply-To: <6672d0160912220902h491baaedi1c472e8945b69245@mail.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> Message-ID: <87CCF4EE-A7AB-402F-9D05-929739052C85@gmail.com> Xmas Present: New function rb:filter/2 that let us filter reports by date ranges. http://github.com/videlalvaro/otp/tree/va/rb-improvements Merry Xmas, Alvaro On Dec 23, 2009, at 1:02 AM, Bj?rn Gustavsson wrote: > On Tue, Dec 22, 2009 at 5:40 PM, Videla Alvaro wrote: >> I could get the new rb:filters/1 function into github, with the documentation, etc: >> >> http://github.com/videlalvaro/otp/tree/rb_improvements > > Thanks! > >> But I'm still failing to understand the branches concept explained here: http://wiki.github.com/erlang/otp/branches > > Yes, I agree that it can be somewhat difficult to grasp if you are new > to git. I don't push all the topic branches as such to the erlang/otp > repository, as it would clutter up the repository with all those > branches and it would give me more work to keep all branches > up-to-date. Therefore I only push the entire 'pu' branch and if you > want to dig out an individual topic branch you will need to follow the > procedure on the wiki page. > > I have grabbed the latest commit on your branch, put it on my version > of the branch, and included it in 'pu', so everything is now fine. > > -- > Bj?rn Gustavsson, Erlang/OTP, Ericsson AB