From henrik@REDACTED Mon Oct 1 09:36:22 2012 From: henrik@REDACTED (Henrik Nord) Date: Mon, 1 Oct 2012 09:36:22 +0200 Subject: [erlang-patches] Crypto documentation enhancements for HMAC types In-Reply-To: References: <50632466.2040102@erix.ericsson.se> <506418EF.8020806@erix.ericsson.se> Message-ID: <506947F6.8010208@erlang.org> Thank you for your contribution! I have added this branch to 'master-pu' On 09/29/2012 02:51 PM, Daniel White wrote: > On Thu, Sep 27, 2012 at 7:14 PM, Sverker Eriksson > wrote: >> Daniel White wrote: >>> On Thu, Sep 27, 2012 at 1:51 AM, Sverker Eriksson >>> wrote: >>> >>>> Daniel White wrote: >>>> >>>>> I'm less sure about whether the second patch as it adds an entry for >>>>> each sha*_mac function. Is there a desire to keep both types of >>>>> interface standard in the long run? Or is the more general hmac_init >>>>> suitable enough? >>>>> >>>> I think I would prefer a generic hmac(Type, Key, Data) similar to >>>> hash(Type;Data) that was added in R15B02. >>>> > Ok, so I've updated the patchset to utilise the generic interface in > the RFC-4231 tests, and also to utilise test vectors in RFC-2202 to > test HMAC-MD5 and HMAC-SHA1. > > Additionally, the RFC-4231 tests now include the truncation test (test > vector 5) to exercise that particular code-path (i.e. hmac/4). > > Patch info: > > git fetch git://github.com/danielwhite/otp.git crypto-hmac-enhancements > > https://github.com/danielwhite/otp/compare/erlang:master...danielwhite:crypto-hmac-enhancements > https://github.com/danielwhite/otp/compare/erlang:master...danielwhite:crypto-hmac-enhancements.patch > > (Sorry about the dupe email, forgot to cc erlang-patches). > > Regards, > -- /Henrik Nord Erlang/OTP From henrik@REDACTED Mon Oct 1 13:16:50 2012 From: henrik@REDACTED (Henrik Nord) Date: Mon, 1 Oct 2012 13:16:50 +0200 Subject: [erlang-patches] mnesia: Use chained send_after instead of send_interval In-Reply-To: References: Message-ID: <50697BA2.8050407@erlang.org> I have included your patch in 'master-pu' Thank you for your contribution! On 09/26/2012 04:27 PM, James Wheare wrote: > Fetch command: > git fetch git://github.com/jwheare/otp.git mnesia_interval_removal > > Compare: https://github.com/jwheare/otp/compare/mnesia_interval_removal > Patch: https://github.com/jwheare/otp/compare/mnesia_interval_removal.patch > > mnesia_controller.erl | 15 +++++++++-- > mnesia_recover.erl | 66 ++++++++++++++++++++++++++++---------------------- > mnesia_tm.erl | 3 +- > 1 commit, 3 files changed, 51 insertions(+), 33 deletions(-) > > --- > > mnesia: Use chained send_after instead of send_interval > > timer:send_interval behaves badly when resuming from sleep on some > platforms. For example, if I sleep for 10 minutes, and have a > send_interval running once per minute, when I resume, 10 messages > will be sent immediately, eliminating the benefit of only running > the work periodically. This is admittedly a separate bug with > send_interval, but the workaround is straightforward, and also > protects from messages piling up in the queue when the work takes > longer than the interval. > > This patch fixes piled up error reports on resume from sleep: > > ** WARNING ** Mnesia is overloaded: {dump_log, write_threshold} > > You'll still be warned if mnesia is overloaded, just not repeatedly. > > Additionally, erlang:send_after is more efficient than using the > timer module equivalent [1] > > [1] http://www.erlang.org/doc/efficiency_guide/commoncaveats.html#id57251 > _______________________________________________ > erlang-patches mailing list > erlang-patches@REDACTED > http://erlang.org/mailman/listinfo/erlang-patches -- /Henrik Nord Erlang/OTP From tuncer.ayaz@REDACTED Tue Oct 2 17:41:27 2012 From: tuncer.ayaz@REDACTED (Tuncer Ayaz) Date: Tue, 2 Oct 2012 17:41:27 +0200 Subject: [erlang-patches] sytem/doc/embedded: remove leftover reference to vxworks.xml Message-ID: git fetch git://github.com/tuncer/otp.git vxworks-reference https://github.com/tuncer/otp/compare/master...vxworks-reference https://github.com/tuncer/otp/compare/master...vxworks-reference.patch From pan@REDACTED Tue Oct 2 18:06:22 2012 From: pan@REDACTED (pan@REDACTED) Date: Tue, 2 Oct 2012 18:06:22 +0200 Subject: [erlang-patches] sytem/doc/embedded: remove leftover reference to vxworks.xml In-Reply-To: References: Message-ID: Hi! The fix for that is already cooking since yesterday (internally). Will reach github soon! Thanks anyway, sorry for your extra work! On Tue, 2 Oct 2012, Tuncer Ayaz wrote: > git fetch git://github.com/tuncer/otp.git vxworks-reference > > https://github.com/tuncer/otp/compare/master...vxworks-reference > https://github.com/tuncer/otp/compare/master...vxworks-reference.patch > _______________________________________________ > erlang-patches mailing list > erlang-patches@REDACTED > http://erlang.org/mailman/listinfo/erlang-patches > /Patrik From tuncer.ayaz@REDACTED Tue Oct 2 18:07:50 2012 From: tuncer.ayaz@REDACTED (Tuncer Ayaz) Date: Tue, 2 Oct 2012 18:07:50 +0200 Subject: [erlang-patches] sytem/doc/embedded: remove leftover reference to vxworks.xml In-Reply-To: References: Message-ID: On Tue, Oct 2, 2012 at 6:06 PM, wrote: > Hi! > > The fix for that is already cooking since yesterday (internally). Will reach > github soon! > > Thanks anyway, sorry for your extra work! No problem :). > On Tue, 2 Oct 2012, Tuncer Ayaz wrote: > >> git fetch git://github.com/tuncer/otp.git vxworks-reference >> >> https://github.com/tuncer/otp/compare/master...vxworks-reference >> https://github.com/tuncer/otp/compare/master...vxworks-reference.patch >> _______________________________________________ >> erlang-patches mailing list >> erlang-patches@REDACTED >> http://erlang.org/mailman/listinfo/erlang-patches >> > /Patrik From henrik@REDACTED Wed Oct 3 15:53:08 2012 From: henrik@REDACTED (Henrik Nord) Date: Wed, 3 Oct 2012 15:53:08 +0200 Subject: [erlang-patches] add code:get_mode/0 In-Reply-To: References: Message-ID: <506C4344.8090003@erlang.org> Hi We would like this patch provided that you add Tests and Documentation for it. Thank you for your contribution! On 09/19/2012 10:05 AM, Vlad Dumitrescu wrote: > Hi, > > I have a small feature to suggest: add code:get_mode() to detect how > the code servers behaves, returning embedded, interactive or minimal. > > Rationale: > Some applications (like erlide) have code to be loaded dynamically on a > node. It may be slow to load everything upfront every time, so if the > node is in interactive mode, we would like to just append to the load > path. Currently, there is no direct way to detect if the node is running > in embedded mode or not. > > git fetch git://github.com/vladdu/otp.git code_get_mode > > https://github.com/vladdu/otp/compare/code_get_mode > https://github.com/vladdu/otp/compare/code_get_mode.patch > > Since it is a very small, trivial addition, no tests are provided, but > I can do it on request. > > best regards, > Vlad > _______________________________________________ > erlang-patches mailing list > erlang-patches@REDACTED > http://erlang.org/mailman/listinfo/erlang-patches -- /Henrik Nord Erlang/OTP From aschultz@REDACTED Thu Oct 4 13:02:22 2012 From: aschultz@REDACTED (Andreas Schultz) Date: Thu, 4 Oct 2012 13:02:22 +0200 (CEST) Subject: [erlang-patches] TLS: add PSK and SRP cipher suites In-Reply-To: <243075147.49636.1348679990473.JavaMail.root@tpip.net> References: <243075147.49636.1348679990473.JavaMail.root@tpip.net> Message-ID: <706600474.112938.1349348542766.JavaMail.root@tpip.net> Hi, Any feedback on this? Thanks Andreas ----- Original Message ----- > Hi, > > I have implemented the more interesting parts of RFC 4279, RFC 5487 > and RFC 5054 (aka TLS PSK and SRP ciphers). The use and usefulness > of those ciphers is rather limited, the one notable exception being > the eID server protocol for German national identity cards (nPA). > > The test suite can only verify some PSK suites against openssl as > currently no openssl version supports them all. There is patch > that add some to openssl, but it has not been incorporated into > upstream. GNU-TLS implements some more (but not all) PSK suites > and I have manually tested interoperability. > > Patch info: > > git fetch git://github.com/RoadRunnr/otp.git tls-psk-srp-suites > > https://github.com/RoadRunnr/otp/compare/master...tls-psk-srp-suites > https://github.com/RoadRunnr/otp/compare/master...tls-psk-srp-suites.patch > > Regards > Andreas > -- > Dipl. Inform. > Andreas Schultz > > email: as@REDACTED > phone: +49-391-819099-224 > mobil: +49-170-2226073 > > ------------------ managed broadband access ------------------ > > Travelping GmbH phone: +49-391-8190990 > Roentgenstr. 13 fax: +49-391-819099299 > D-39108 Magdeburg email: info@REDACTED > GERMANY web: http://www.travelping.com > > Company Registration: HRB21276 Handelsregistergericht Chemnitz > Geschaeftsfuehrer: Holger Winkelmann | VAT ID No.: DE236673780 > -------------------------------------------------------------- > _______________________________________________ > erlang-patches mailing list > erlang-patches@REDACTED > http://erlang.org/mailman/listinfo/erlang-patches > -- -- Dipl. Inform. Andreas Schultz email: as@REDACTED phone: +49-391-819099-224 mobil: +49-170-2226073 ------------------ managed broadband access ------------------ Travelping GmbH phone: +49-391-8190990 Roentgenstr. 13 fax: +49-391-819099299 D-39108 Magdeburg email: info@REDACTED GERMANY web: http://www.travelping.com Company Registration: HRB21276 Handelsregistergericht Chemnitz Geschaeftsfuehrer: Holger Winkelmann | VAT ID No.: DE236673780 -------------------------------------------------------------- From henrik@REDACTED Thu Oct 4 13:57:29 2012 From: henrik@REDACTED (Henrik Nord) Date: Thu, 4 Oct 2012 13:57:29 +0200 Subject: [erlang-patches] TLS: add PSK and SRP cipher suites In-Reply-To: <243075147.49636.1348679990473.JavaMail.root@tpip.net> References: <243075147.49636.1348679990473.JavaMail.root@tpip.net> Message-ID: <506D79A9.4000806@erlang.org> HI I will add this patch to 'master-pu' On 09/26/2012 07:19 PM, Andreas Schultz wrote: > Hi, > > I have implemented the more interesting parts of RFC 4279, RFC 5487 > and RFC 5054 (aka TLS PSK and SRP ciphers). The use and usefulness > of those ciphers is rather limited, the one notable exception being > the eID server protocol for German national identity cards (nPA). > > The test suite can only verify some PSK suites against openssl as > currently no openssl version supports them all. There is patch > that add some to openssl, but it has not been incorporated into > upstream. GNU-TLS implements some more (but not all) PSK suites > and I have manually tested interoperability. > > Patch info: > > git fetch git://github.com/RoadRunnr/otp.git tls-psk-srp-suites > > https://github.com/RoadRunnr/otp/compare/master...tls-psk-srp-suites > https://github.com/RoadRunnr/otp/compare/master...tls-psk-srp-suites.patch > > Regards > Andreas -- /Henrik Nord Erlang/OTP From henrik@REDACTED Thu Oct 4 14:11:37 2012 From: henrik@REDACTED (Henrik Nord) Date: Thu, 4 Oct 2012 14:11:37 +0200 Subject: [erlang-patches] TLS: add PSK and SRP cipher suites In-Reply-To: <243075147.49636.1348679990473.JavaMail.root@tpip.net> References: <243075147.49636.1348679990473.JavaMail.root@tpip.net> Message-ID: <506D7CF9.8050005@erlang.org> Would you be so kind as to rebase this branch upon the latest 'master' Thank you for your contribution! On 09/26/2012 07:19 PM, Andreas Schultz wrote: > Hi, > > I have implemented the more interesting parts of RFC 4279, RFC 5487 > and RFC 5054 (aka TLS PSK and SRP ciphers). The use and usefulness > of those ciphers is rather limited, the one notable exception being > the eID server protocol for German national identity cards (nPA). > > The test suite can only verify some PSK suites against openssl as > currently no openssl version supports them all. There is patch > that add some to openssl, but it has not been incorporated into > upstream. GNU-TLS implements some more (but not all) PSK suites > and I have manually tested interoperability. > > Patch info: > > git fetch git://github.com/RoadRunnr/otp.git tls-psk-srp-suites > > https://github.com/RoadRunnr/otp/compare/master...tls-psk-srp-suites > https://github.com/RoadRunnr/otp/compare/master...tls-psk-srp-suites.patch > > Regards > Andreas -- /Henrik Nord Erlang/OTP From aschultz@REDACTED Thu Oct 4 18:29:01 2012 From: aschultz@REDACTED (Andreas Schultz) Date: Thu, 4 Oct 2012 18:29:01 +0200 (CEST) Subject: [erlang-patches] TLS: add PSK and SRP cipher suites In-Reply-To: <506D7CF9.8050005@erlang.org> References: <243075147.49636.1348679990473.JavaMail.root@tpip.net> <506D7CF9.8050005@erlang.org> Message-ID: <1357439793.128073.1349368141231.JavaMail.root@tpip.net> Hi, Tree is rebased onto latest master. Andreas ----- Original Message ----- > > Would you be so kind as to rebase this branch upon the latest > 'master' > > Thank you for your contribution! > > > > On 09/26/2012 07:19 PM, Andreas Schultz wrote: > > Hi, > > > > I have implemented the more interesting parts of RFC 4279, RFC 5487 > > and RFC 5054 (aka TLS PSK and SRP ciphers). The use and usefulness > > of those ciphers is rather limited, the one notable exception being > > the eID server protocol for German national identity cards (nPA). > > > > The test suite can only verify some PSK suites against openssl as > > currently no openssl version supports them all. There is patch > > that add some to openssl, but it has not been incorporated into > > upstream. GNU-TLS implements some more (but not all) PSK suites > > and I have manually tested interoperability. > > > > Patch info: > > > > git fetch git://github.com/RoadRunnr/otp.git tls-psk-srp-suites > > > > https://github.com/RoadRunnr/otp/compare/master...tls-psk-srp-suites > > https://github.com/RoadRunnr/otp/compare/master...tls-psk-srp-suites.patch > > > > Regards > > Andreas > > -- > /Henrik Nord Erlang/OTP > > -- -- Dipl. Inform. Andreas Schultz email: as@REDACTED phone: +49-391-819099-224 mobil: +49-170-2226073 ------------------ managed broadband access ------------------ Travelping GmbH phone: +49-391-8190990 Roentgenstr. 13 fax: +49-391-819099299 D-39108 Magdeburg email: info@REDACTED GERMANY web: http://www.travelping.com Company Registration: HRB21276 Handelsregistergericht Chemnitz Geschaeftsfuehrer: Holger Winkelmann | VAT ID No.: DE236673780 -------------------------------------------------------------- From henrik@REDACTED Mon Oct 8 14:38:54 2012 From: henrik@REDACTED (Henrik Nord) Date: Mon, 8 Oct 2012 14:38:54 +0200 Subject: [erlang-patches] ODBC extended error information In-Reply-To: References: Message-ID: <5072C95E.1020806@erlang.org> Hi! We would like some tests for this. Maby a test to check the extended error handling some operation with a expected error and some without, and then check for the correct type of return value, instead of a hard match for the returned value Below follows instructions as how to get the odbc SUIT up and running. Thank you for your contribution! On 07/25/2012 09:44 AM, Bernie Duggan wrote: > I did my best to figure out how to add some tests for this change, but > from talking to a couple of other people I'm not alone in having > difficulty even getting the ODBC suite running:) Following the > instructions on the github wiki page just gives me a > port_program_executable_not_found error. I'm happy to try harder to > add some tests if someone can give me a hand with this. The odbc test suite is not as straight forward as other test suits to run as it depends on so many third part products. In odbc_test.hrl there is a macro defined that will determine which backed database should be used (you may need to change it to suite your circumstances). Also you need to set up an SQL-data base and an .odbc-ini file for the user running the test suit. Ex: ------------------- [Postgres] Driver=/usr/lib/psqlodbc.so Description=Postgres driver ServerName=server1 Database=odbctest Port=5432 LogonID=odbctest Password=gurka [MySQL] Driver = /opt/local/lib/libmyodbc5.so Description=MYSQL driver Server= server2 Database=odbctest Port=3306 ----------------------- And in the callback-file sqlserver.erl/postgres.erl/mysql.erl/oracle.erl you may have to alter the connection-string returned by the funtion connection_string/0. If you want some other backed you will have to make your own callback-module. -- /Henrik Nord Erlang/OTP From henrik@REDACTED Mon Oct 8 15:38:35 2012 From: henrik@REDACTED (Henrik Nord) Date: Mon, 8 Oct 2012 15:38:35 +0200 Subject: [erlang-patches] TLS: add PSK and SRP cipher suites In-Reply-To: <1357439793.128073.1349368141231.JavaMail.root@tpip.net> References: <243075147.49636.1348679990473.JavaMail.root@tpip.net> <506D7CF9.8050005@erlang.org> <1357439793.128073.1349368141231.JavaMail.root@tpip.net> Message-ID: <5072D75B.7060601@erlang.org> Hi I have added your branch to 'master'pu' for testing. Thank you for your contribution! On 10/04/2012 06:29 PM, Andreas Schultz wrote: > Hi, > > Tree is rebased onto latest master. > > Andreas > > ----- Original Message ----- >> Would you be so kind as to rebase this branch upon the latest >> 'master' >> >> Thank you for your contribution! >> >> >> >> On 09/26/2012 07:19 PM, Andreas Schultz wrote: >>> Hi, >>> >>> I have implemented the more interesting parts of RFC 4279, RFC 5487 >>> and RFC 5054 (aka TLS PSK and SRP ciphers). The use and usefulness >>> of those ciphers is rather limited, the one notable exception being >>> the eID server protocol for German national identity cards (nPA). >>> >>> The test suite can only verify some PSK suites against openssl as >>> currently no openssl version supports them all. There is patch >>> that add some to openssl, but it has not been incorporated into >>> upstream. GNU-TLS implements some more (but not all) PSK suites >>> and I have manually tested interoperability. >>> >>> Patch info: >>> >>> git fetch git://github.com/RoadRunnr/otp.git tls-psk-srp-suites >>> >>> https://github.com/RoadRunnr/otp/compare/master...tls-psk-srp-suites >>> https://github.com/RoadRunnr/otp/compare/master...tls-psk-srp-suites.patch >>> >>> Regards >>> Andreas >> -- >> /Henrik Nord Erlang/OTP >> >> -- /Henrik Nord Erlang/OTP From sverker.eriksson@REDACTED Mon Oct 8 20:18:47 2012 From: sverker.eriksson@REDACTED (Sverker Eriksson) Date: Mon, 8 Oct 2012 20:18:47 +0200 Subject: [erlang-patches] TLS: add PSK and SRP cipher suites In-Reply-To: <5072D75B.7060601@erlang.org> References: <243075147.49636.1348679990473.JavaMail.root@tpip.net> <506D7CF9.8050005@erlang.org> <1357439793.128073.1349368141231.JavaMail.root@tpip.net> <5072D75B.7060601@erlang.org> Message-ID: <50731907.3090802@erix.ericsson.se> Does not compile on Windows. Function SHA1_Update_PAD in crypto.c is not correct. Arrays with dynamic size is not supported by the C standard we use. Use a static array instead, presuming that there is a reasonable upper limit of its size. /Sverker, Erlang/OTP Henrik Nord wrote: > Hi > > I have added your branch to 'master'pu' for testing. > Thank you for your contribution! > > On 10/04/2012 06:29 PM, Andreas Schultz wrote: > >> Hi, >> >> Tree is rebased onto latest master. >> >> Andreas >> >> ----- Original Message ----- >> >>> Would you be so kind as to rebase this branch upon the latest >>> 'master' >>> >>> Thank you for your contribution! >>> >>> >>> >>> On 09/26/2012 07:19 PM, Andreas Schultz wrote: >>> >>>> Hi, >>>> >>>> I have implemented the more interesting parts of RFC 4279, RFC 5487 >>>> and RFC 5054 (aka TLS PSK and SRP ciphers). The use and usefulness >>>> of those ciphers is rather limited, the one notable exception being >>>> the eID server protocol for German national identity cards (nPA). >>>> >>>> The test suite can only verify some PSK suites against openssl as >>>> currently no openssl version supports them all. There is patch >>>> that add some to openssl, but it has not been incorporated into >>>> upstream. GNU-TLS implements some more (but not all) PSK suites >>>> and I have manually tested interoperability. >>>> >>>> Patch info: >>>> >>>> git fetch git://github.com/RoadRunnr/otp.git tls-psk-srp-suites >>>> >>>> https://github.com/RoadRunnr/otp/compare/master...tls-psk-srp-suites >>>> https://github.com/RoadRunnr/otp/compare/master...tls-psk-srp-suites.patch >>>> >>>> Regards >>>> Andreas >>>> >>> -- >>> /Henrik Nord Erlang/OTP >>> >>> >>> > > From spawn.think@REDACTED Tue Oct 9 16:52:18 2012 From: spawn.think@REDACTED (Ahmed Omar) Date: Tue, 9 Oct 2012 16:52:18 +0200 Subject: [erlang-patches] mnesia overloaded message format Message-ID: git fetch git://github.com/spawnthink/otp.git fix_mnesia_overload_msg_format Using ~p in mnesia overload message could lead to wrong messages. mnesia_tm overload message contains a list of two numbers (queue length) example: instead of: Mnesia is overloaded: {mnesia_tm,message_queue_len,[100,105]} it prints : Mnesia is overloaded: {mnesia_tm,message_queue_len,"di"} Replacing ~p with ~w fixes the problem as it doesn't try to detect lists of printable charachters https://github.com/spawnthink/otp/compare/erlang:master...spawnthink:fix_mnesia_overload_msg_format.patch https://github.com/spawnthink/otp/compare/erlang:master...spawnthink:fix_mnesia_overload_msg_format -------------- next part -------------- An HTML attachment was scrubbed... URL: From henrik@REDACTED Wed Oct 10 10:57:40 2012 From: henrik@REDACTED (Henrik Nord) Date: Wed, 10 Oct 2012 10:57:40 +0200 Subject: [erlang-patches] mnesia overloaded message format In-Reply-To: References: Message-ID: <50753884.3090006@erlang.org> Thank you for your contribution, patch has been added to 'master-pu' On 10/09/2012 04:52 PM, Ahmed Omar wrote: > git fetch git://github.com/spawnthink/otp.git > fix_mnesia_overload_msg_format > > Using ~p in mnesia overload message could lead to wrong messages. > mnesia_tm overload message contains a list of two numbers (queue length) > example: > instead of: > Mnesia is overloaded: {mnesia_tm,message_queue_len,[100,105]} > it prints : > Mnesia is overloaded: {mnesia_tm,message_queue_len,"di"} > > Replacing ~p with ~w fixes the problem as it doesn't try > to detect lists of printable charachters > > > https://github.com/spawnthink/otp/compare/erlang:master...spawnthink:fix_mnesia_overload_msg_format.patch > https://github.com/spawnthink/otp/compare/erlang:master...spawnthink:fix_mnesia_overload_msg_format > > > _______________________________________________ > erlang-patches mailing list > erlang-patches@REDACTED > http://erlang.org/mailman/listinfo/erlang-patches -- /Henrik Nord Erlang/OTP -------------- next part -------------- An HTML attachment was scrubbed... URL: From aschultz@REDACTED Thu Oct 11 12:49:13 2012 From: aschultz@REDACTED (Andreas Schultz) Date: Thu, 11 Oct 2012 12:49:13 +0200 (CEST) Subject: [erlang-patches] TLS: add PSK and SRP cipher suites In-Reply-To: <50731907.3090802@erix.ericsson.se> References: <243075147.49636.1348679990473.JavaMail.root@tpip.net> <506D7CF9.8050005@erlang.org> <1357439793.128073.1349368141231.JavaMail.root@tpip.net> <5072D75B.7060601@erlang.org> <50731907.3090802@erix.ericsson.se> Message-ID: <319046904.111229.1349952553937.JavaMail.root@tpip.net> Hi, I have pushed a change that should fix the compile error. The buffer has a fixed length now. https://github.com/RoadRunnr/otp/commit/ad73b09d948d0414132bfca2f67ff0de729fa7b2 https://github.com/RoadRunnr/otp/commit/ad73b09d948d0414132bfca2f67ff0de729fa7b2.patch Andreas ----- Original Message ----- > Does not compile on Windows. > > Function SHA1_Update_PAD in crypto.c is not correct. Arrays with > dynamic > size is not supported by the C standard we use. > Use a static array instead, presuming that there is a reasonable > upper > limit of its size. > > /Sverker, Erlang/OTP > > > > Henrik Nord wrote: > > Hi > > > > I have added your branch to 'master'pu' for testing. > > Thank you for your contribution! > > > > On 10/04/2012 06:29 PM, Andreas Schultz wrote: > > > >> Hi, > >> > >> Tree is rebased onto latest master. > >> > >> Andreas > >> > >> ----- Original Message ----- > >> > >>> Would you be so kind as to rebase this branch upon the latest > >>> 'master' > >>> > >>> Thank you for your contribution! > >>> > >>> > >>> > >>> On 09/26/2012 07:19 PM, Andreas Schultz wrote: > >>> > >>>> Hi, > >>>> > >>>> I have implemented the more interesting parts of RFC 4279, RFC > >>>> 5487 > >>>> and RFC 5054 (aka TLS PSK and SRP ciphers). The use and > >>>> usefulness > >>>> of those ciphers is rather limited, the one notable exception > >>>> being > >>>> the eID server protocol for German national identity cards > >>>> (nPA). > >>>> > >>>> The test suite can only verify some PSK suites against openssl > >>>> as > >>>> currently no openssl version supports them all. There is patch > >>>> that add some to openssl, but it has not been incorporated into > >>>> upstream. GNU-TLS implements some more (but not all) PSK suites > >>>> and I have manually tested interoperability. > >>>> > >>>> Patch info: > >>>> > >>>> git fetch git://github.com/RoadRunnr/otp.git tls-psk-srp-suites > >>>> > >>>> https://github.com/RoadRunnr/otp/compare/master...tls-psk-srp-suites > >>>> https://github.com/RoadRunnr/otp/compare/master...tls-psk-srp-suites.patch > >>>> > >>>> Regards > >>>> Andreas > >>>> > >>> -- > >>> /Henrik Nord Erlang/OTP > >>> > >>> > >>> > > > > > > -- -- Dipl. Inform. Andreas Schultz email: as@REDACTED phone: +49-391-819099-224 mobil: +49-170-2226073 ------------------ managed broadband access ------------------ Travelping GmbH phone: +49-391-8190990 Roentgenstr. 13 fax: +49-391-819099299 D-39108 Magdeburg email: info@REDACTED GERMANY web: http://www.travelping.com Company Registration: HRB21276 Handelsregistergericht Chemnitz Geschaeftsfuehrer: Holger Winkelmann | VAT ID No.: DE236673780 -------------------------------------------------------------- From henrik@REDACTED Thu Oct 11 12:53:36 2012 From: henrik@REDACTED (Henrik Nord) Date: Thu, 11 Oct 2012 12:53:36 +0200 Subject: [erlang-patches] TLS: add PSK and SRP cipher suites In-Reply-To: <319046904.111229.1349952553937.JavaMail.root@tpip.net> References: <243075147.49636.1348679990473.JavaMail.root@tpip.net> <506D7CF9.8050005@erlang.org> <1357439793.128073.1349368141231.JavaMail.root@tpip.net> <5072D75B.7060601@erlang.org> <50731907.3090802@erix.ericsson.se> <319046904.111229.1349952553937.JavaMail.root@tpip.net> Message-ID: <5076A530.7070709@erlang.org> Thanks, I will refetch! On 10/11/2012 12:49 PM, Andreas Schultz wrote: > Hi, > > I have pushed a change that should fix the compile error. The buffer has > a fixed length now. > > https://github.com/RoadRunnr/otp/commit/ad73b09d948d0414132bfca2f67ff0de729fa7b2 > https://github.com/RoadRunnr/otp/commit/ad73b09d948d0414132bfca2f67ff0de729fa7b2.patch > > Andreas > > ----- Original Message ----- >> Does not compile on Windows. >> >> Function SHA1_Update_PAD in crypto.c is not correct. Arrays with >> dynamic >> size is not supported by the C standard we use. >> Use a static array instead, presuming that there is a reasonable >> upper >> limit of its size. >> >> /Sverker, Erlang/OTP >> >> >> >> Henrik Nord wrote: >>> Hi >>> >>> I have added your branch to 'master'pu' for testing. >>> Thank you for your contribution! >>> >>> On 10/04/2012 06:29 PM, Andreas Schultz wrote: >>> >>>> Hi, >>>> >>>> Tree is rebased onto latest master. >>>> >>>> Andreas >>>> >>>> ----- Original Message ----- >>>> >>>>> Would you be so kind as to rebase this branch upon the latest >>>>> 'master' >>>>> >>>>> Thank you for your contribution! >>>>> >>>>> >>>>> >>>>> On 09/26/2012 07:19 PM, Andreas Schultz wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> I have implemented the more interesting parts of RFC 4279, RFC >>>>>> 5487 >>>>>> and RFC 5054 (aka TLS PSK and SRP ciphers). The use and >>>>>> usefulness >>>>>> of those ciphers is rather limited, the one notable exception >>>>>> being >>>>>> the eID server protocol for German national identity cards >>>>>> (nPA). >>>>>> >>>>>> The test suite can only verify some PSK suites against openssl >>>>>> as >>>>>> currently no openssl version supports them all. There is patch >>>>>> that add some to openssl, but it has not been incorporated into >>>>>> upstream. GNU-TLS implements some more (but not all) PSK suites >>>>>> and I have manually tested interoperability. >>>>>> >>>>>> Patch info: >>>>>> >>>>>> git fetch git://github.com/RoadRunnr/otp.git tls-psk-srp-suites >>>>>> >>>>>> https://github.com/RoadRunnr/otp/compare/master...tls-psk-srp-suites >>>>>> https://github.com/RoadRunnr/otp/compare/master...tls-psk-srp-suites.patch >>>>>> >>>>>> Regards >>>>>> Andreas >>>>>> >>>>> -- >>>>> /Henrik Nord Erlang/OTP >>>>> >>>>> >>>>> >>> >> -- /Henrik Nord Erlang/OTP From tuncer.ayaz@REDACTED Thu Oct 11 19:21:15 2012 From: tuncer.ayaz@REDACTED (Tuncer Ayaz) Date: Thu, 11 Oct 2012 19:21:15 +0200 Subject: [erlang-patches] autoconf: if GCC is used, treat -Wreturn-type as error Message-ID: https://github.com/tuncer/otp/compare/maint...werror-return-type https://github.com/tuncer/otp/compare/maint...werror-return-type.patch From serge@REDACTED Fri Oct 12 06:10:09 2012 From: serge@REDACTED (Serge Aleynikov) Date: Fri, 12 Oct 2012 00:10:09 -0400 Subject: [erlang-patches] minor ftp and application_controller fixes Message-ID: <50779821.8000307@aleynikov.org> Below are two very minor fixes 1. Handle correctly the "No files found or file unavailable" error code. git fetch git@REDACTED:saleyn/otp.git ftp https://github.com/saleyn/otp/compare/ftp https://github.com/saleyn/otp/compare/ftp.patch 2. Fixed printout of application crash message on startup. git fetch git@REDACTED:saleyn/otp.git app_controller https://github.com/saleyn/otp/compare/app_controller https://github.com/saleyn/otp/compare/app_controller.patch Regards, Serge From aschultz@REDACTED Fri Oct 12 10:27:06 2012 From: aschultz@REDACTED (Andreas Schultz) Date: Fri, 12 Oct 2012 10:27:06 +0200 (CEST) Subject: [erlang-patches] TLS: add PSK and SRP cipher suites In-Reply-To: <5076A530.7070709@erlang.org> References: <243075147.49636.1348679990473.JavaMail.root@tpip.net> <506D7CF9.8050005@erlang.org> <1357439793.128073.1349368141231.JavaMail.root@tpip.net> <5072D75B.7060601@erlang.org> <50731907.3090802@erix.ericsson.se> <319046904.111229.1349952553937.JavaMail.root@tpip.net> <5076A530.7070709@erlang.org> Message-ID: <1804774539.132181.1350030426251.JavaMail.root@tpip.net> Hi Henrik, When I rebased my changes to the current master, a change crept in that shouldn't have: https://github.com/erlang/otp/commit/747ce9191f4dc7558e12e2b6e5696396392ffbd8 I have removed it from my tree and pushed it. Andreas ----- Original Message ----- > Thanks, I will refetch! > On 10/11/2012 12:49 PM, Andreas Schultz wrote: > > Hi, > > > > I have pushed a change that should fix the compile error. The > > buffer has > > a fixed length now. > > > > https://github.com/RoadRunnr/otp/commit/ad73b09d948d0414132bfca2f67ff0de729fa7b2 > > https://github.com/RoadRunnr/otp/commit/ad73b09d948d0414132bfca2f67ff0de729fa7b2.patch > > > > Andreas > > > > ----- Original Message ----- > >> Does not compile on Windows. > >> > >> Function SHA1_Update_PAD in crypto.c is not correct. Arrays with > >> dynamic > >> size is not supported by the C standard we use. > >> Use a static array instead, presuming that there is a reasonable > >> upper > >> limit of its size. > >> > >> /Sverker, Erlang/OTP > >> > >> > >> > >> Henrik Nord wrote: > >>> Hi > >>> > >>> I have added your branch to 'master'pu' for testing. > >>> Thank you for your contribution! > >>> > >>> On 10/04/2012 06:29 PM, Andreas Schultz wrote: > >>> > >>>> Hi, > >>>> > >>>> Tree is rebased onto latest master. > >>>> > >>>> Andreas > >>>> > >>>> ----- Original Message ----- > >>>> > >>>>> Would you be so kind as to rebase this branch upon the latest > >>>>> 'master' > >>>>> > >>>>> Thank you for your contribution! > >>>>> > >>>>> > >>>>> > >>>>> On 09/26/2012 07:19 PM, Andreas Schultz wrote: > >>>>> > >>>>>> Hi, > >>>>>> > >>>>>> I have implemented the more interesting parts of RFC 4279, RFC > >>>>>> 5487 > >>>>>> and RFC 5054 (aka TLS PSK and SRP ciphers). The use and > >>>>>> usefulness > >>>>>> of those ciphers is rather limited, the one notable exception > >>>>>> being > >>>>>> the eID server protocol for German national identity cards > >>>>>> (nPA). > >>>>>> > >>>>>> The test suite can only verify some PSK suites against openssl > >>>>>> as > >>>>>> currently no openssl version supports them all. There is patch > >>>>>> that add some to openssl, but it has not been incorporated > >>>>>> into > >>>>>> upstream. GNU-TLS implements some more (but not all) PSK > >>>>>> suites > >>>>>> and I have manually tested interoperability. > >>>>>> > >>>>>> Patch info: > >>>>>> > >>>>>> git fetch git://github.com/RoadRunnr/otp.git > >>>>>> tls-psk-srp-suites > >>>>>> > >>>>>> https://github.com/RoadRunnr/otp/compare/master...tls-psk-srp-suites > >>>>>> https://github.com/RoadRunnr/otp/compare/master...tls-psk-srp-suites.patch > >>>>>> > >>>>>> Regards > >>>>>> Andreas > >>>>>> > >>>>> -- > >>>>> /Henrik Nord Erlang/OTP > >>>>> > >>>>> > >>>>> > >>> > >> > > -- > /Henrik Nord Erlang/OTP > > -- -- Dipl. Inform. Andreas Schultz email: as@REDACTED phone: +49-391-819099-224 mobil: +49-170-2226073 ------------------ managed broadband access ------------------ Travelping GmbH phone: +49-391-8190990 Roentgenstr. 13 fax: +49-391-819099299 D-39108 Magdeburg email: info@REDACTED GERMANY web: http://www.travelping.com Company Registration: HRB21276 Handelsregistergericht Chemnitz Geschaeftsfuehrer: Holger Winkelmann | VAT ID No.: DE236673780 -------------------------------------------------------------- From henrik@REDACTED Fri Oct 12 11:38:02 2012 From: henrik@REDACTED (Henrik Nord) Date: Fri, 12 Oct 2012 11:38:02 +0200 Subject: [erlang-patches] TLS: add PSK and SRP cipher suites In-Reply-To: <1804774539.132181.1350030426251.JavaMail.root@tpip.net> References: <243075147.49636.1348679990473.JavaMail.root@tpip.net> <506D7CF9.8050005@erlang.org> <1357439793.128073.1349368141231.JavaMail.root@tpip.net> <5072D75B.7060601@erlang.org> <50731907.3090802@erix.ericsson.se> <319046904.111229.1349952553937.JavaMail.root@tpip.net> <5076A530.7070709@erlang.org> <1804774539.132181.1350030426251.JavaMail.root@tpip.net> Message-ID: <5077E4FA.9060609@erlang.org> refetching On 10/12/2012 10:27 AM, Andreas Schultz wrote: > Hi Henrik, > > When I rebased my changes to the current master, a change crept in that > shouldn't have: > > https://github.com/erlang/otp/commit/747ce9191f4dc7558e12e2b6e5696396392ffbd8 > > I have removed it from my tree and pushed it. > > Andreas > > ----- Original Message ----- >> Thanks, I will refetch! >> On 10/11/2012 12:49 PM, Andreas Schultz wrote: >>> Hi, >>> >>> I have pushed a change that should fix the compile error. The >>> buffer has >>> a fixed length now. >>> >>> https://github.com/RoadRunnr/otp/commit/ad73b09d948d0414132bfca2f67ff0de729fa7b2 >>> https://github.com/RoadRunnr/otp/commit/ad73b09d948d0414132bfca2f67ff0de729fa7b2.patch >>> >>> Andreas >>> >>> ----- Original Message ----- >>>> Does not compile on Windows. >>>> >>>> Function SHA1_Update_PAD in crypto.c is not correct. Arrays with >>>> dynamic >>>> size is not supported by the C standard we use. >>>> Use a static array instead, presuming that there is a reasonable >>>> upper >>>> limit of its size. >>>> >>>> /Sverker, Erlang/OTP >>>> >>>> >>>> >>>> Henrik Nord wrote: >>>>> Hi >>>>> >>>>> I have added your branch to 'master'pu' for testing. >>>>> Thank you for your contribution! >>>>> >>>>> On 10/04/2012 06:29 PM, Andreas Schultz wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> Tree is rebased onto latest master. >>>>>> >>>>>> Andreas >>>>>> >>>>>> ----- Original Message ----- >>>>>> >>>>>>> Would you be so kind as to rebase this branch upon the latest >>>>>>> 'master' >>>>>>> >>>>>>> Thank you for your contribution! >>>>>>> >>>>>>> >>>>>>> >>>>>>> On 09/26/2012 07:19 PM, Andreas Schultz wrote: >>>>>>> >>>>>>>> Hi, >>>>>>>> >>>>>>>> I have implemented the more interesting parts of RFC 4279, RFC >>>>>>>> 5487 >>>>>>>> and RFC 5054 (aka TLS PSK and SRP ciphers). The use and >>>>>>>> usefulness >>>>>>>> of those ciphers is rather limited, the one notable exception >>>>>>>> being >>>>>>>> the eID server protocol for German national identity cards >>>>>>>> (nPA). >>>>>>>> >>>>>>>> The test suite can only verify some PSK suites against openssl >>>>>>>> as >>>>>>>> currently no openssl version supports them all. There is patch >>>>>>>> that add some to openssl, but it has not been incorporated >>>>>>>> into >>>>>>>> upstream. GNU-TLS implements some more (but not all) PSK >>>>>>>> suites >>>>>>>> and I have manually tested interoperability. >>>>>>>> >>>>>>>> Patch info: >>>>>>>> >>>>>>>> git fetch git://github.com/RoadRunnr/otp.git >>>>>>>> tls-psk-srp-suites >>>>>>>> >>>>>>>> https://github.com/RoadRunnr/otp/compare/master...tls-psk-srp-suites >>>>>>>> https://github.com/RoadRunnr/otp/compare/master...tls-psk-srp-suites.patch >>>>>>>> >>>>>>>> Regards >>>>>>>> Andreas >>>>>>>> >>>>>>> -- >>>>>>> /Henrik Nord Erlang/OTP >>>>>>> >>>>>>> >>>>>>> >>>>> >> -- >> /Henrik Nord Erlang/OTP >> >> -- /Henrik Nord Erlang/OTP From serge@REDACTED Tue Oct 16 18:23:12 2012 From: serge@REDACTED (Serge Aleynikov) Date: Tue, 16 Oct 2012 12:23:12 -0400 Subject: [erlang-patches] Enhancement of erl_prettypr Message-ID: <507D89F0.3090701@aleynikov.org> Enhancement of erl_prettypr to print binaries in human-readable form. git fetch git@REDACTED:saleyn/otp.git erl_prettypr https://github.com/saleyn/otp/compare/erl_prettypr https://github.com/saleyn/otp/compare/erl_prettypr.patch Given an abstract syntax form of a binary, such as: 1> Form = erl_syntax:form_list(element(2, erl_parse:parse_exprs( element(2, erl_scan:string( "<<84,104,105,115,32,105,115,32,97,32,98,105,110,97,114,121,10>>."))))). Before applying the patch the output of erl_prettypr:format/1 looks like this: 2> erl_prettypr:format(Form). "<<84, 104, 105, 115, 32, 105, 115, 32, 97, 32, 98, 105,\n 110, 97, 114, 121, 10>>" After applying the patch the output looks like this: 3> erl_prettypr:format(Form). "<<\"This is a binary\\n\">>" The human-readable printing occurs only if erl_prettypr finds out that the binary represents a printable list. Regards, Serge From 114999420@REDACTED Wed Oct 17 03:47:07 2012 From: 114999420@REDACTED (adam chan) Date: Tue, 16 Oct 2012 18:47:07 -0700 (PDT) Subject: [erlang-patches] erlang node crashes in erts_gc_after_bif_call Message-ID: <1350438427205-4655148.post@n4.nabble.com> hello list, I met two random crash in this month, each crash happened more than two times. The causation was "Program terminated with signal 11, Segmentation fault" and they most likely happened while I hot update some module code using code:soft_purge/1 and code:load_file/1. Though they take place in different code, the information from core file points out that function erts_gc_after_bif_call/4 was called while crash happened. So I guess it is related to gc operation. I am using otp_src_R15B02, smp mode. Here are the information from core file (I am not familiar with gdb , hope the information is useful) [First One] Reading symbols from /lib64/libutil.so.1...(no debugging symbols found)...done. Loaded symbols for /lib64/libutil.so.1 Reading symbols from /lib64/libdl.so.2...(no debugging symbols found)...done. Loaded symbols for /lib64/libdl.so.2 Reading symbols from /lib64/libm.so.6...(no debugging symbols found)...done. Loaded symbols for /lib64/libm.so.6 Reading symbols from /usr/lib64/libncurses.so.5...(no debugging symbols found)...done. Loaded symbols for /usr/lib64/libncurses.so.5 Reading symbols from /lib64/libpthread.so.0...(no debugging symbols found)...done. Loaded symbols for /lib64/libpthread.so.0 Reading symbols from /lib64/librt.so.1...(no debugging symbols found)...done. Loaded symbols for /lib64/librt.so.1 Reading symbols from /lib64/libc.so.6...(no debugging symbols found)...done. Loaded symbols for /lib64/libc.so.6 Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols found)...done. Loaded symbols for /lib64/ld-linux-x86-64.so.2 Reading symbols from /usr/local/lib/erlang/lib/crypto-2.2/priv/lib/crypto.so...done. Loaded symbols for /usr/local/lib/erlang/lib/crypto-2.2/priv/lib/crypto.so Reading symbols from /lib64/libcrypto.so.6...(no debugging symbols found)...done. Loaded symbols for /lib64/libcrypto.so.6 Reading symbols from /usr/lib64/libz.so.1...(no debugging symbols found)...done. Loaded symbols for /usr/lib64/libz.so.1 Core was generated by `/usr/local/lib/erlang/erts-5.9.2/bin/beam.smp -P 1024000 -K true -- -root /usr/'. Program terminated with signal 11, Segmentation fault. #0 0x0000000000541b9a in check_process_code (A__p=0x1a8c5b40, BIF__ARGS=) at beam/beam_bif_load.c:487 487 if (INSIDE((BeamInstr *) funp->fe->address)) { (gdb) bt #0 0x0000000000541b9a in check_process_code (A__p=0x1a8c5b40, BIF__ARGS=) at beam/beam_bif_load.c:487 #1 check_process_code_2 (A__p=0x1a8c5b40, BIF__ARGS=) at beam/beam_bif_load.c:205 #2 0x0000000000530782 in process_main () at beam/beam_emu.c:3392 #3 0x00000000004a0b4f in sched_thread_func (vesdp=) at beam/erl_process.c:5184 #4 0x00000000005a4f14 in thr_wrapper (vtwd=) at pthread/ethread.c:110 #5 0x000000393fc0673d in start_thread () from /lib64/libpthread.so.0 #6 0x000000393f4d3f6d in clone () from /lib64/libc.so.6 (gdb) p funp $1 = (gdb) p funp->fe Cannot access memory at address 0x8 [Second One] Reading symbols from /lib64/libutil.so.1...(no debugging symbols found)...done. Loaded symbols for /lib64/libutil.so.1 Reading symbols from /lib64/libdl.so.2...(no debugging symbols found)...done. Loaded symbols for /lib64/libdl.so.2 Reading symbols from /lib64/libm.so.6...(no debugging symbols found)...done. Loaded symbols for /lib64/libm.so.6 Reading symbols from /usr/lib64/libncurses.so.5...(no debugging symbols found)...done. Loaded symbols for /usr/lib64/libncurses.so.5 Reading symbols from /lib64/libpthread.so.0...(no debugging symbols found)...done. Loaded symbols for /lib64/libpthread.so.0 Reading symbols from /lib64/librt.so.1...(no debugging symbols found)...done. Loaded symbols for /lib64/librt.so.1 Reading symbols from /lib64/libc.so.6...(no debugging symbols found)...done. Loaded symbols for /lib64/libc.so.6 Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols found)...done. Loaded symbols for /lib64/ld-linux-x86-64.so.2 Reading symbols from /usr/local/lib/erlang/lib/crypto-2.2/priv/lib/crypto.so...done. Loaded symbols for /usr/local/lib/erlang/lib/crypto-2.2/priv/lib/crypto.so Reading symbols from /lib64/libcrypto.so.6...(no debugging symbols found)...done. Loaded symbols for /lib64/libcrypto.so.6 Reading symbols from /usr/lib64/libz.so.1...(no debugging symbols found)...done. Loaded symbols for /usr/lib64/libz.so.1 Core was generated by `/usr/local/lib/erlang/erts-5.9.2/bin/beam.smp -P 1024000 -K true -- -root /usr/'. Program terminated with signal 11, Segmentation fault. #0 0x00000000004f8bac in sweep_off_heap (p=0x2aaabc644b90, fullsweep=0) at beam/erl_gc.c:2302 2302 ptr = ptr->next; (gdb) bt #0 0x00000000004f8bac in sweep_off_heap (p=0x2aaabc644b90, fullsweep=0) at beam/erl_gc.c:2302 #1 0x00000000004fabb8 in do_minor (p=0x2aaabc644b90, need=0, objv=0x44719e00, nobj=1, recl=0x44719db8) at beam/erl_gc.c:1133 #2 minor_collection (p=0x2aaabc644b90, need=0, objv=0x44719e00, nobj=1, recl=0x44719db8) at beam/erl_gc.c:827 #3 0x00000000004fc40d in erts_garbage_collect (p=0x2aaabc644b90, need=0, objv=0x44719e00, nobj=1) at beam/erl_gc.c:405 #4 0x00000000004fcdcf in erts_gc_after_bif_call (p=0x2aaabc644b90, result=46912734893994, regs=, arity=) at beam/erl_gc.c:335 #5 0x00000000005309c1 in process_main () at beam/beam_emu.c:2600 #6 0x00000000004a0b4f in sched_thread_func (vesdp=) at beam/erl_process.c:5184 #7 0x00000000005a4f14 in thr_wrapper (vtwd=) at pthread/ethread.c:110 #8 0x000000393fc0673d in start_thread () from /lib64/libpthread.so.0 #9 0x000000393f4d3f6d in clone () from /lib64/libc.so.6 (gdb) p ptr $1 = (struct erl_off_heap_header *) 0x2aab02d63980 (gdb) x/x 0x2aab02d63980 0x2aab02d63980: 0x000000f0 (gdb) p ptr->next $2 = (struct erl_off_heap_header *) 0x2aab02d5ee80 (gdb) x/x 0x2aab02d5ee80 0x2aab02d5ee80: 0x00000160 Any ideas? Thanks a lot. -- View this message in context: http://erlang.2086793.n4.nabble.com/erlang-node-crashes-in-erts-gc-after-bif-call-tp4655148.html Sent from the Erlang Patches mailing list archive at Nabble.com. From pan@REDACTED Thu Oct 18 14:08:45 2012 From: pan@REDACTED (Patrik Nyblom) Date: Thu, 18 Oct 2012 14:08:45 +0200 Subject: [erlang-patches] erlang node crashes in erts_gc_after_bif_call In-Reply-To: <1350438427205-4655148.post@n4.nabble.com> References: <1350438427205-4655148.post@n4.nabble.com> Message-ID: <507FF14D.5050908@erlang.org> Hi! Is the crypto NIF library reloaded during upgrade? That causes havoc unfortunately, due to the behaviour of the OpenSSL crypto memory allocation callbacks. We're working on that one. Have you reloaded the crypto NIF library, directly or indirectly, when this happens? Cheers, /Patrik On 10/17/2012 03:47 AM, adam chan wrote: > hello list, > > I met two random crash in this month, each crash happened more than two > times. The causation was "Program terminated with signal 11, Segmentation > fault" and they most likely happened while I hot update some module code > using code:soft_purge/1 and code:load_file/1. > Though they take place in different code, the information from core file > points out that function erts_gc_after_bif_call/4 was called while crash > happened. So I guess it is related to gc operation. > I am using otp_src_R15B02, smp mode. > Here are the information from core file (I am not familiar with gdb , > hope the information is useful) > > [First One] > Reading symbols from /lib64/libutil.so.1...(no debugging symbols > found)...done. > Loaded symbols for /lib64/libutil.so.1 > Reading symbols from /lib64/libdl.so.2...(no debugging symbols > found)...done. > Loaded symbols for /lib64/libdl.so.2 > Reading symbols from /lib64/libm.so.6...(no debugging symbols found)...done. > Loaded symbols for /lib64/libm.so.6 > Reading symbols from /usr/lib64/libncurses.so.5...(no debugging symbols > found)...done. > Loaded symbols for /usr/lib64/libncurses.so.5 > Reading symbols from /lib64/libpthread.so.0...(no debugging symbols > found)...done. > Loaded symbols for /lib64/libpthread.so.0 > Reading symbols from /lib64/librt.so.1...(no debugging symbols > found)...done. > Loaded symbols for /lib64/librt.so.1 > Reading symbols from /lib64/libc.so.6...(no debugging symbols found)...done. > Loaded symbols for /lib64/libc.so.6 > Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols > found)...done. > Loaded symbols for /lib64/ld-linux-x86-64.so.2 > Reading symbols from > /usr/local/lib/erlang/lib/crypto-2.2/priv/lib/crypto.so...done. > Loaded symbols for /usr/local/lib/erlang/lib/crypto-2.2/priv/lib/crypto.so > Reading symbols from /lib64/libcrypto.so.6...(no debugging symbols > found)...done. > Loaded symbols for /lib64/libcrypto.so.6 > Reading symbols from /usr/lib64/libz.so.1...(no debugging symbols > found)...done. > Loaded symbols for /usr/lib64/libz.so.1 > Core was generated by `/usr/local/lib/erlang/erts-5.9.2/bin/beam.smp -P > 1024000 -K true -- -root /usr/'. > Program terminated with signal 11, Segmentation fault. > #0 0x0000000000541b9a in check_process_code (A__p=0x1a8c5b40, > BIF__ARGS=) at beam/beam_bif_load.c:487 > 487 if (INSIDE((BeamInstr *) funp->fe->address)) { > (gdb) bt > #0 0x0000000000541b9a in check_process_code (A__p=0x1a8c5b40, > BIF__ARGS=) at beam/beam_bif_load.c:487 > #1 check_process_code_2 (A__p=0x1a8c5b40, BIF__ARGS=) > at beam/beam_bif_load.c:205 > #2 0x0000000000530782 in process_main () at beam/beam_emu.c:3392 > #3 0x00000000004a0b4f in sched_thread_func (vesdp=) at > beam/erl_process.c:5184 > #4 0x00000000005a4f14 in thr_wrapper (vtwd=) at > pthread/ethread.c:110 > #5 0x000000393fc0673d in start_thread () from /lib64/libpthread.so.0 > #6 0x000000393f4d3f6d in clone () from /lib64/libc.so.6 > (gdb) p funp > $1 = > (gdb) p funp->fe > Cannot access memory at address 0x8 > > [Second One] > Reading symbols from /lib64/libutil.so.1...(no debugging symbols > found)...done. > Loaded symbols for /lib64/libutil.so.1 > Reading symbols from /lib64/libdl.so.2...(no debugging symbols > found)...done. > Loaded symbols for /lib64/libdl.so.2 > Reading symbols from /lib64/libm.so.6...(no debugging symbols found)...done. > Loaded symbols for /lib64/libm.so.6 > Reading symbols from /usr/lib64/libncurses.so.5...(no debugging symbols > found)...done. > Loaded symbols for /usr/lib64/libncurses.so.5 > Reading symbols from /lib64/libpthread.so.0...(no debugging symbols > found)...done. > Loaded symbols for /lib64/libpthread.so.0 > Reading symbols from /lib64/librt.so.1...(no debugging symbols > found)...done. > Loaded symbols for /lib64/librt.so.1 > Reading symbols from /lib64/libc.so.6...(no debugging symbols found)...done. > Loaded symbols for /lib64/libc.so.6 > Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols > found)...done. > Loaded symbols for /lib64/ld-linux-x86-64.so.2 > Reading symbols from > /usr/local/lib/erlang/lib/crypto-2.2/priv/lib/crypto.so...done. > Loaded symbols for /usr/local/lib/erlang/lib/crypto-2.2/priv/lib/crypto.so > Reading symbols from /lib64/libcrypto.so.6...(no debugging symbols > found)...done. > Loaded symbols for /lib64/libcrypto.so.6 > Reading symbols from /usr/lib64/libz.so.1...(no debugging symbols > found)...done. > Loaded symbols for /usr/lib64/libz.so.1 > Core was generated by `/usr/local/lib/erlang/erts-5.9.2/bin/beam.smp -P > 1024000 -K true -- -root /usr/'. > Program terminated with signal 11, Segmentation fault. > #0 0x00000000004f8bac in sweep_off_heap (p=0x2aaabc644b90, fullsweep=0) at > beam/erl_gc.c:2302 > 2302 ptr = ptr->next; > (gdb) bt > #0 0x00000000004f8bac in sweep_off_heap (p=0x2aaabc644b90, fullsweep=0) at > beam/erl_gc.c:2302 > #1 0x00000000004fabb8 in do_minor (p=0x2aaabc644b90, need=0, > objv=0x44719e00, nobj=1, recl=0x44719db8) at beam/erl_gc.c:1133 > #2 minor_collection (p=0x2aaabc644b90, need=0, objv=0x44719e00, nobj=1, > recl=0x44719db8) at beam/erl_gc.c:827 > #3 0x00000000004fc40d in erts_garbage_collect (p=0x2aaabc644b90, need=0, > objv=0x44719e00, nobj=1) at beam/erl_gc.c:405 > #4 0x00000000004fcdcf in erts_gc_after_bif_call (p=0x2aaabc644b90, > result=46912734893994, regs=, arity= out>) at beam/erl_gc.c:335 > #5 0x00000000005309c1 in process_main () at beam/beam_emu.c:2600 > #6 0x00000000004a0b4f in sched_thread_func (vesdp=) at > beam/erl_process.c:5184 > #7 0x00000000005a4f14 in thr_wrapper (vtwd=) at > pthread/ethread.c:110 > #8 0x000000393fc0673d in start_thread () from /lib64/libpthread.so.0 > #9 0x000000393f4d3f6d in clone () from /lib64/libc.so.6 > (gdb) p ptr > $1 = (struct erl_off_heap_header *) 0x2aab02d63980 > (gdb) x/x 0x2aab02d63980 > 0x2aab02d63980: 0x000000f0 > (gdb) p ptr->next > $2 = (struct erl_off_heap_header *) 0x2aab02d5ee80 > (gdb) x/x 0x2aab02d5ee80 > 0x2aab02d5ee80: 0x00000160 > > Any ideas? Thanks a lot. > > > > -- > View this message in context: http://erlang.2086793.n4.nabble.com/erlang-node-crashes-in-erts-gc-after-bif-call-tp4655148.html > Sent from the Erlang Patches mailing list archive at Nabble.com. > _______________________________________________ > erlang-patches mailing list > erlang-patches@REDACTED > http://erlang.org/mailman/listinfo/erlang-patches From aschultz@REDACTED Thu Oct 18 19:24:53 2012 From: aschultz@REDACTED (Andreas Schultz) Date: Thu, 18 Oct 2012 19:24:53 +0200 (CEST) Subject: [erlang-patches] TLS 1.2 hash fixes In-Reply-To: <1357408437.274370.1350580805469.JavaMail.root@tpip.net> Message-ID: <811675695.274384.1350581093025.JavaMail.root@tpip.net> Hi, Here are two changes to improve TLS 1.2 higher strength sha hashes. There is this comment in ssl_cipher: %% Currently no supported cipher suites defaults to sha384 or sha512 %% so these clauses are not needed at the moment. I'm afraid that this is wrong. With TLS 1.2 the actual hash being used can be negotiated and is not longer fixed to the one specified in the cipher suite. So it is possible to end up with a stronger cipher even when we don't default to one. The other change adds sha224 to list of support and announced ciphers. It might not be as good as sha256, but should still be stronger that sha1. https://github.com/RoadRunnr/otp/compare/master-pu...ssl-sha224-fixes https://github.com/RoadRunnr/otp/compare/master-pu...ssl-sha224-fixes.patch Both changes should apply cleanly on master and master-pu. Andreas -- -- Dipl. Inform. Andreas Schultz From aschultz@REDACTED Thu Oct 18 19:40:54 2012 From: aschultz@REDACTED (Andreas Schultz) Date: Thu, 18 Oct 2012 19:40:54 +0200 (CEST) Subject: [erlang-patches] elliptic curve support In-Reply-To: <662899074.274386.1350581141823.JavaMail.root@tpip.net> Message-ID: <1895909746.274438.1350582054364.JavaMail.root@tpip.net> Hi, Here is the elliptic curve support rebased to master-pu. https://github.com/RoadRunnr/otp/compare/master-pu...tls-ecc-suites https://github.com/RoadRunnr/otp/compare/master-pu...tls-ecc-suites.patch Andreas -- -- Dipl. Inform. Andreas Schultz email: as@REDACTED phone: +49-391-819099-224 mobil: +49-170-2226073 ------------------ managed broadband access ------------------ Travelping GmbH phone: +49-391-8190990 Roentgenstr. 13 fax: +49-391-819099299 D-39108 Magdeburg email: info@REDACTED GERMANY web: http://www.travelping.com Company Registration: HRB21276 Handelsregistergericht Chemnitz Geschaeftsfuehrer: Holger Winkelmann | VAT ID No.: DE236673780 -------------------------------------------------------------- From lemenkov@REDACTED Thu Oct 18 19:51:42 2012 From: lemenkov@REDACTED (Peter Lemenkov) Date: Thu, 18 Oct 2012 21:51:42 +0400 Subject: [erlang-patches] elliptic curve support In-Reply-To: <1895909746.274438.1350582054364.JavaMail.root@tpip.net> References: <662899074.274386.1350581141823.JavaMail.root@tpip.net> <1895909746.274438.1350582054364.JavaMail.root@tpip.net> Message-ID: 2012/10/18 Andreas Schultz : > Hi, > > Here is the elliptic curve support rebased to master-pu. > > https://github.com/RoadRunnr/otp/compare/master-pu...tls-ecc-suites > https://github.com/RoadRunnr/otp/compare/master-pu...tls-ecc-suites.patch Could you, please, make them switchable (something like --with-ec-ssl or with #ifdef..#endif)? Otherwise this is a no-go addon for all US Linux distributions due to software patents. -- With best regards, Peter Lemenkov. From aschultz@REDACTED Fri Oct 19 10:02:55 2012 From: aschultz@REDACTED (Andreas Schultz) Date: Fri, 19 Oct 2012 10:02:55 +0200 (CEST) Subject: [erlang-patches] elliptic curve support In-Reply-To: References: <662899074.274386.1350581141823.JavaMail.root@tpip.net> <1895909746.274438.1350582054364.JavaMail.root@tpip.net> Message-ID: <220348966.275956.1350633775395.JavaMail.root@tpip.net> ----- Original Message ----- > 2012/10/18 Andreas Schultz : > > Hi, > > > > Here is the elliptic curve support rebased to master-pu. > > > > https://github.com/RoadRunnr/otp/compare/master-pu...tls-ecc-suites > > https://github.com/RoadRunnr/otp/compare/master-pu...tls-ecc-suites.patch > > Could you, please, make them switchable (something like --with-ec-ssl > or with #ifdef..#endif)? Otherwise this is a no-go addon for all US > Linux distributions due to software patents. "all US Linux distributions" is a bit strong, it seems that only Redhat/Fedora is disabling EC (https://bugzilla.redhat.com/show_bug.cgi?id=319901), Debian and its cousins have it enabled. Also, RFC6090 (http://tools.ietf.org/html/rfc6090#section-9) claims that it is not patented. Anyhow since Erlang should build everywhere and ciphers could be disable for a myriad of other reasons, I'm going to work something out. A simple #ifdef in crypto.c will not enough, SSL will have to filter the supported cipher suites as well. Andreas > -- > With best regards, Peter Lemenkov. > -- -- Dipl. Inform. Andreas Schultz From 114999420@REDACTED Fri Oct 19 10:42:51 2012 From: 114999420@REDACTED (=?gb18030?B?YWRhbSBjaGFu?=) Date: Fri, 19 Oct 2012 16:42:51 +0800 Subject: [erlang-patches] erlang node crashes in erts_gc_after_bif_call Message-ID: Hi! I don't think the crypto NIF library was reloaded, though the mysql client(Author: Magnus Ahltorp ) in my project does use crypto library. When I upgrade a big data file(600K) which only includes thousands of lines like: get(xxx) -> #record{a = xx, b = xx}; , the crash happens. I guess this data file has no relationship with crypto NIF library? Especially, while I execute c:l(data_file_name) repeatedly and quickly in the screen shell, the crash shows up frequently. Yesterday, I found that the stack memory size of my application has not been set, which means, it was running on the linux default stack size (10M). After I set the stack size to 500M using ?ulimit -s ? command, and split the big data file into small sub files, the situation becomes better. Maybe the small stack size is the criminal, but I am not sure. : ( After all, is there any way to detect whether the crypto NIF library is reloaded or not? I've found a discussion about "fix native code crash when calling unloaded module with on_load function": http://erlang.2086793.n4.nabble.com/fix-native-code-crash-when-calling-unloaded-module-with-on-load-function-td2273502.html And I did have a suspicion on crypto module before, since the crypto module has an on_load attribute. Cheers, [Adam Chan] ------------------ Original ------------------ From: "Patrik Nyblom"; Date: Thu, Oct 18, 2012 08:08 PM To: "erlang-patches"; Subject: Re: [erlang-patches] erlang node crashes in erts_gc_after_bif_call Hi! Is the crypto NIF library reloaded during upgrade? That causes havoc unfortunately, due to the behaviour of the OpenSSL crypto memory allocation callbacks. We're working on that one. Have you reloaded the crypto NIF library, directly or indirectly, when this happens? Cheers, /Patrik On 10/17/2012 03:47 AM, adam chan wrote: > hello list, > > I met two random crash in this month, each crash happened more than two > times. The causation was "Program terminated with signal 11, Segmentation > fault" and they most likely happened while I hot update some module code > using code:soft_purge/1 and code:load_file/1. > Though they take place in different code, the information from core file > points out that function erts_gc_after_bif_call/4 was called while crash > happened. So I guess it is related to gc operation. > I am using otp_src_R15B02, smp mode. > Here are the information from core file (I am not familiar with gdb , > hope the information is useful) > > [First One] > Reading symbols from /lib64/libutil.so.1...(no debugging symbols > found)...done. > Loaded symbols for /lib64/libutil.so.1 > Reading symbols from /lib64/libdl.so.2...(no debugging symbols > found)...done. > Loaded symbols for /lib64/libdl.so.2 > Reading symbols from /lib64/libm.so.6...(no debugging symbols found)...done. > Loaded symbols for /lib64/libm.so.6 > Reading symbols from /usr/lib64/libncurses.so.5...(no debugging symbols > found)...done. > Loaded symbols for /usr/lib64/libncurses.so.5 > Reading symbols from /lib64/libpthread.so.0...(no debugging symbols > found)...done. > Loaded symbols for /lib64/libpthread.so.0 > Reading symbols from /lib64/librt.so.1...(no debugging symbols > found)...done. > Loaded symbols for /lib64/librt.so.1 > Reading symbols from /lib64/libc.so.6...(no debugging symbols found)...done. > Loaded symbols for /lib64/libc.so.6 > Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols > found)...done. > Loaded symbols for /lib64/ld-linux-x86-64.so.2 > Reading symbols from > /usr/local/lib/erlang/lib/crypto-2.2/priv/lib/crypto.so...done. > Loaded symbols for /usr/local/lib/erlang/lib/crypto-2.2/priv/lib/crypto.so > Reading symbols from /lib64/libcrypto.so.6...(no debugging symbols > found)...done. > Loaded symbols for /lib64/libcrypto.so.6 > Reading symbols from /usr/lib64/libz.so.1...(no debugging symbols > found)...done. > Loaded symbols for /usr/lib64/libz.so.1 > Core was generated by `/usr/local/lib/erlang/erts-5.9.2/bin/beam.smp -P > 1024000 -K true -- -root /usr/'. > Program terminated with signal 11, Segmentation fault. > #0 0x0000000000541b9a in check_process_code (A__p=0x1a8c5b40, > BIF__ARGS=) at beam/beam_bif_load.c:487 > 487 if (INSIDE((BeamInstr *) funp->fe->address)) { > (gdb) bt > #0 0x0000000000541b9a in check_process_code (A__p=0x1a8c5b40, > BIF__ARGS=) at beam/beam_bif_load.c:487 > #1 check_process_code_2 (A__p=0x1a8c5b40, BIF__ARGS=) > at beam/beam_bif_load.c:205 > #2 0x0000000000530782 in process_main () at beam/beam_emu.c:3392 > #3 0x00000000004a0b4f in sched_thread_func (vesdp=) at > beam/erl_process.c:5184 > #4 0x00000000005a4f14 in thr_wrapper (vtwd=) at > pthread/ethread.c:110 > #5 0x000000393fc0673d in start_thread () from /lib64/libpthread.so.0 > #6 0x000000393f4d3f6d in clone () from /lib64/libc.so.6 > (gdb) p funp > $1 = > (gdb) p funp->fe > Cannot access memory at address 0x8 > > [Second One] > Reading symbols from /lib64/libutil.so.1...(no debugging symbols > found)...done. > Loaded symbols for /lib64/libutil.so.1 > Reading symbols from /lib64/libdl.so.2...(no debugging symbols > found)...done. > Loaded symbols for /lib64/libdl.so.2 > Reading symbols from /lib64/libm.so.6...(no debugging symbols found)...done. > Loaded symbols for /lib64/libm.so.6 > Reading symbols from /usr/lib64/libncurses.so.5...(no debugging symbols > found)...done. > Loaded symbols for /usr/lib64/libncurses.so.5 > Reading symbols from /lib64/libpthread.so.0...(no debugging symbols > found)...done. > Loaded symbols for /lib64/libpthread.so.0 > Reading symbols from /lib64/librt.so.1...(no debugging symbols > found)...done. > Loaded symbols for /lib64/librt.so.1 > Reading symbols from /lib64/libc.so.6...(no debugging symbols found)...done. > Loaded symbols for /lib64/libc.so.6 > Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols > found)...done. > Loaded symbols for /lib64/ld-linux-x86-64.so.2 > Reading symbols from > /usr/local/lib/erlang/lib/crypto-2.2/priv/lib/crypto.so...done. > Loaded symbols for /usr/local/lib/erlang/lib/crypto-2.2/priv/lib/crypto.so > Reading symbols from /lib64/libcrypto.so.6...(no debugging symbols > found)...done. > Loaded symbols for /lib64/libcrypto.so.6 > Reading symbols from /usr/lib64/libz.so.1...(no debugging symbols > found)...done. > Loaded symbols for /usr/lib64/libz.so.1 > Core was generated by `/usr/local/lib/erlang/erts-5.9.2/bin/beam.smp -P > 1024000 -K true -- -root /usr/'. > Program terminated with signal 11, Segmentation fault. > #0 0x00000000004f8bac in sweep_off_heap (p=0x2aaabc644b90, fullsweep=0) at > beam/erl_gc.c:2302 > 2302 ptr = ptr->next; > (gdb) bt > #0 0x00000000004f8bac in sweep_off_heap (p=0x2aaabc644b90, fullsweep=0) at > beam/erl_gc.c:2302 > #1 0x00000000004fabb8 in do_minor (p=0x2aaabc644b90, need=0, > objv=0x44719e00, nobj=1, recl=0x44719db8) at beam/erl_gc.c:1133 > #2 minor_collection (p=0x2aaabc644b90, need=0, objv=0x44719e00, nobj=1, > recl=0x44719db8) at beam/erl_gc.c:827 > #3 0x00000000004fc40d in erts_garbage_collect (p=0x2aaabc644b90, need=0, > objv=0x44719e00, nobj=1) at beam/erl_gc.c:405 > #4 0x00000000004fcdcf in erts_gc_after_bif_call (p=0x2aaabc644b90, > result=46912734893994, regs=, arity= out>) at beam/erl_gc.c:335 > #5 0x00000000005309c1 in process_main () at beam/beam_emu.c:2600 > #6 0x00000000004a0b4f in sched_thread_func (vesdp=) at > beam/erl_process.c:5184 > #7 0x00000000005a4f14 in thr_wrapper (vtwd=) at > pthread/ethread.c:110 > #8 0x000000393fc0673d in start_thread () from /lib64/libpthread.so.0 > #9 0x000000393f4d3f6d in clone () from /lib64/libc.so.6 > (gdb) p ptr > $1 = (struct erl_off_heap_header *) 0x2aab02d63980 > (gdb) x/x 0x2aab02d63980 > 0x2aab02d63980: 0x000000f0 > (gdb) p ptr->next > $2 = (struct erl_off_heap_header *) 0x2aab02d5ee80 > (gdb) x/x 0x2aab02d5ee80 > 0x2aab02d5ee80: 0x00000160 > > Any ideas? Thanks a lot. > > > > -- > View this message in context: http://erlang.2086793.n4.nabble.com/erlang-node-crashes-in-erts-gc-after-bif-call-tp4655148.html > Sent from the Erlang Patches mailing list archive at Nabble.com. > _______________________________________________ > erlang-patches mailing list > erlang-patches@REDACTED > http://erlang.org/mailman/listinfo/erlang-patches _______________________________________________ erlang-patches mailing list erlang-patches@REDACTED http://erlang.org/mailman/listinfo/erlang-patches -------------- next part -------------- An HTML attachment was scrubbed... URL: From aschultz@REDACTED Fri Oct 19 13:36:43 2012 From: aschultz@REDACTED (Andreas Schultz) Date: Fri, 19 Oct 2012 13:36:43 +0200 (CEST) Subject: [erlang-patches] elliptic curve support In-Reply-To: <50812356.2060700@erix.ericsson.se> References: <662899074.274386.1350581141823.JavaMail.root@tpip.net> <1895909746.274438.1350582054364.JavaMail.root@tpip.net> <220348966.275956.1350633775395.JavaMail.root@tpip.net> <50812356.2060700@erix.ericsson.se> Message-ID: <1793716229.286212.1350646603073.JavaMail.root@tpip.net> Hi, ----- Original Message ----- > Hi! > > Is it not enough that you can specify to the client and server which > ciphers you want to use? Not really, this is a bit like the sha256 selection for TLS 1.2. If openssl has no EC support compiled in, the user can specify what he wants, there will still be no EC support. That means that we should at least be able to detect the problem on ssl startup. Also, the default list of ciphers is an issue. The RFC says: > The cipher suite list, passed from the client to the server in the > ClientHello message, contains the combinations of cryptographic > algorithms supported by the client in order of the client's > preference (favorite choice first). Naturally, you want the strongest ciphers first. So you end up in ssl_tls1:suites with: [ ?TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, ?TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, ?TLS_DHE_RSA_WITH_AES_256_CBC_SHA, ?TLS_DHE_DSS_WITH_AES_256_CBC_SHA, ?TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, ?TLS_ECDH_RSA_WITH_AES_256_CBC_SHA, ?TLS_RSA_WITH_AES_256_CBC_SHA, ?TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA, ?TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, ?TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA, ?TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,... Simply pre- or appending the EC ciphers would not get you the desired ordering. There are a couple of options: - filter the list - provide a cipher sort function base on cipher strength - always rely on the user to know if he can and should specify EC ciphers Or maybe a filter function like openssl has (see man ciphers). Andreas > I suppose we could have an option to automatically filter a special > type > of suites without you > having to make a list of all others, but if your client does not > specify > elliptic-curve suites > they will not be negotiated even if the server supports them and vice > versa. > > Regards Ingela Erlang/OTP team - Ericsson AB > > Andreas Schultz wrote: > > ----- Original Message ----- > > > >> 2012/10/18 Andreas Schultz : > >> > >>> Hi, > >>> > >>> Here is the elliptic curve support rebased to master-pu. > >>> > >>> https://github.com/RoadRunnr/otp/compare/master-pu...tls-ecc-suites > >>> https://github.com/RoadRunnr/otp/compare/master-pu...tls-ecc-suites.patch > >>> > >> Could you, please, make them switchable (something like > >> --with-ec-ssl > >> or with #ifdef..#endif)? Otherwise this is a no-go addon for all > >> US > >> Linux distributions due to software patents. > >> > > > > "all US Linux distributions" is a bit strong, it seems that only > > Redhat/Fedora > > is disabling EC > > (https://bugzilla.redhat.com/show_bug.cgi?id=319901), Debian > > and its cousins have it enabled. > > Also, RFC6090 (http://tools.ietf.org/html/rfc6090#section-9) claims > > that it is > > not patented. > > > > Anyhow since Erlang should build everywhere and ciphers could be > > disable > > for a myriad of other reasons, I'm going to work something out. A > > simple > > #ifdef in crypto.c will not enough, SSL will have to filter the > > supported > > cipher suites as well. > > > > Andreas > > > > > >> -- > >> With best regards, Peter Lemenkov. > >> > >> > > > > > > -- -- Dipl. Inform. Andreas Schultz From pan@REDACTED Fri Oct 19 17:08:37 2012 From: pan@REDACTED (Patrik Nyblom) Date: Fri, 19 Oct 2012 17:08:37 +0200 Subject: [erlang-patches] erlang node crashes in erts_gc_after_bif_call In-Reply-To: References: Message-ID: <50816CF5.6060509@erlang.org> Hi! On 10/19/2012 10:42 AM, adam chan wrote: > Hi! > > I don't think the crypto NIF library was reloaded, though the mysql > client(Author: Magnus Ahltorp ) in my project > does use crypto library. > > When I upgrade a big data file(600K) which only includes thousands of > lines like: > get(xxx) -> #record{a = xx, b = xx}; > , the crash happens. I guess this data file has no relationship with > crypto NIF library? > Oups, that sure does not look like a crypto thing! > Especially, while I execute > c:l(data_file_name) > repeatedly and quickly in the screen shell, the crash shows up frequently. Could you send me the file and an example program + your distro/os environment, so I can reproduce it? Send it in a "private" mail to pan@REDACTED, you would maybe not want to spread details of your system publicly... > > Yesterday, I found that the stack memory size of my application has > not been set, which means, it was running on the linux default stack > size (10M). After I set the stack size to 500M using 'ulimit -s ' > command, and split the big data file into small sub files, the > situation becomes better. Maybe the small stack size is the criminal, > but I am not sure. : ( > Nah, that should not be a problem as long as you do not use external libraries which go crazy on the C stack. We usually don't (except for re, which relies on the PCRE library, that has a rather aggressive approach to the C stack when compiling regexps). > After all, is there any way to detect whether the crypto NIF library > is reloaded or not? > I've found a discussion about "fix native code crash when calling > unloaded module with on_load function": > > http://erlang.2086793.n4.nabble.com/fix-native-code-crash-when-calling-unloaded-module-with-on-load-function-td2273502.html > And I did have a suspicion on crypto module before, since the crypto > module has an on_load attribute. In a few days, there will be a fix for this in the master branch, that should remove the problem. But if you have an example you can run from the shell and that I could reproduce it with, things would be much faster. You could of course add a printout to the crypto module to track the calls of the on_load handler. If it's called more than twice, there will also be unloading (because of code purging). You could also trace calls to erlang:purge_module/1. > > Cheers, > [Adam Chan] Cheers, /Patrik > > ------------------ Original ------------------ > *From: * "Patrik Nyblom"; > *Date: * Thu, Oct 18, 2012 08:08 PM > *To: * "erlang-patches"; > *Subject: * Re: [erlang-patches] erlang node crashes in > erts_gc_after_bif_call > > Hi! > > Is the crypto NIF library reloaded during upgrade? That causes havoc > unfortunately, due to the behaviour of the OpenSSL crypto memory > allocation callbacks. We're working on that one. > > Have you reloaded the crypto NIF library, directly or indirectly, when > this happens? > > Cheers, > /Patrik > > On 10/17/2012 03:47 AM, adam chan wrote: > > hello list, > > > > I met two random crash in this month, each crash happened more > than two > > times. The causation was "Program terminated with signal 11, > Segmentation > > fault" and they most likely happened while I hot update some module code > > using code:soft_purge/1 and code:load_file/1. > > Though they take place in different code, the information from > core file > > points out that function erts_gc_after_bif_call/4 was called while crash > > happened. So I guess it is related to gc operation. > > I am using otp_src_R15B02, smp mode. > > Here are the information from core file (I am not familiar with > gdb , > > hope the information is useful) > > > > [First One] > > Reading symbols from /lib64/libutil.so.1...(no debugging symbols > > found)...done. > > Loaded symbols for /lib64/libutil.so.1 > > Reading symbols from /lib64/libdl.so.2...(no debugging symbols > > found)...done. > > Loaded symbols for /lib64/libdl.so.2 > > Reading symbols from /lib64/libm.so.6...(no debugging symbols > found)...done. > > Loaded symbols for /lib64/libm.so.6 > > Reading symbols from /usr/lib64/libncurses.so.5...(no debugging symbols > > found)...done. > > Loaded symbols for /usr/lib64/libncurses.so.5 > > Reading symbols from /lib64/libpthread.so.0...(no debugging symbols > > found)...done. > > Loaded symbols for /lib64/libpthread.so.0 > > Reading symbols from /lib64/librt.so.1...(no debugging symbols > > found)...done. > > Loaded symbols for /lib64/librt.so.1 > > Reading symbols from /lib64/libc.so.6...(no debugging symbols > found)...done. > > Loaded symbols for /lib64/libc.so.6 > > Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols > > found)...done. > > Loaded symbols for /lib64/ld-linux-x86-64.so.2 > > Reading symbols from > > /usr/local/lib/erlang/lib/crypto-2.2/priv/lib/crypto.so...done. > > Loaded symbols for > /usr/local/lib/erlang/lib/crypto-2.2/priv/lib/crypto.so > > Reading symbols from /lib64/libcrypto.so.6...(no debugging symbols > > found)...done. > > Loaded symbols for /lib64/libcrypto.so.6 > > Reading symbols from /usr/lib64/libz.so.1...(no debugging symbols > > found)...done. > > Loaded symbols for /usr/lib64/libz.so.1 > > Core was generated by `/usr/local/lib/erlang/erts-5.9.2/bin/beam.smp -P > > 1024000 -K true -- -root /usr/'. > > Program terminated with signal 11, Segmentation fault. > > #0 0x0000000000541b9a in check_process_code (A__p=0x1a8c5b40, > > BIF__ARGS=) at beam/beam_bif_load.c:487 > > 487 if (INSIDE((BeamInstr *) funp->fe->address)) { > > (gdb) bt > > #0 0x0000000000541b9a in check_process_code (A__p=0x1a8c5b40, > > BIF__ARGS=) at beam/beam_bif_load.c:487 > > #1 check_process_code_2 (A__p=0x1a8c5b40, BIF__ARGS= optimized out>) > > at beam/beam_bif_load.c:205 > > #2 0x0000000000530782 in process_main () at beam/beam_emu.c:3392 > > #3 0x00000000004a0b4f in sched_thread_func (vesdp= out>) at > > beam/erl_process.c:5184 > > #4 0x00000000005a4f14 in thr_wrapper (vtwd=) at > > pthread/ethread.c:110 > > #5 0x000000393fc0673d in start_thread () from /lib64/libpthread.so.0 > > #6 0x000000393f4d3f6d in clone () from /lib64/libc.so.6 > > (gdb) p funp > > $1 = > > (gdb) p funp->fe > > Cannot access memory at address 0x8 > > > > [Second One] > > Reading symbols from /lib64/libutil.so.1...(no debugging symbols > > found)...done. > > Loaded symbols for /lib64/libutil.so.1 > > Reading symbols from /lib64/libdl.so.2...(no debugging symbols > > found)...done. > > Loaded symbols for /lib64/libdl.so.2 > > Reading symbols from /lib64/libm.so.6...(no debugging symbols > found)...done. > > Loaded symbols for /lib64/libm.so.6 > > Reading symbols from /usr/lib64/libncurses.so.5...(no debugging symbols > > found)...done. > > Loaded symbols for /usr/lib64/libncurses.so.5 > > Reading symbols from /lib64/libpthread.so.0...(no debugging symbols > > found)...done. > > Loaded symbols for /lib64/libpthread.so.0 > > Reading symbols from /lib64/librt.so.1...(no debugging symbols > > found)...done. > > Loaded symbols for /lib64/librt.so.1 > > Reading symbols from /lib64/libc.so.6...(no debugging symbols > found)...done. > > Loaded symbols for /lib64/libc.so.6 > > Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols > > found)...done. > > Loaded symbols for /lib64/ld-linux-x86-64.so.2 > > Reading symbols from > > /usr/local/lib/erlang/lib/crypto-2.2/priv/lib/crypto.so...done. > > Loaded symbols for > /usr/local/lib/erlang/lib/crypto-2.2/priv/lib/crypto.so > > Reading symbols from /lib64/libcrypto.so.6...(no debugging symbols > > found)...done. > > Loaded symbols for /lib64/libcrypto.so.6 > > Reading symbols from /usr/lib64/libz.so.1...(no debugging symbols > > found)...done. > > Loaded symbols for /usr/lib64/libz.so.1 > > Core was generated by `/usr/local/lib/erlang/erts-5.9.2/bin/beam.smp -P > > 1024000 -K true -- -root /usr/'. > > Program terminated with signal 11, Segmentation fault. > > #0 0x00000000004f8bac in sweep_off_heap (p=0x2aaabc644b90, > fullsweep=0) at > > beam/erl_gc.c:2302 > > 2302 ptr = ptr->next; > > (gdb) bt > > #0 0x00000000004f8bac in sweep_off_heap (p=0x2aaabc644b90, > fullsweep=0) at > > beam/erl_gc.c:2302 > > #1 0x00000000004fabb8 in do_minor (p=0x2aaabc644b90, need=0, > > objv=0x44719e00, nobj=1, recl=0x44719db8) at beam/erl_gc.c:1133 > > #2 minor_collection (p=0x2aaabc644b90, need=0, objv=0x44719e00, nobj=1, > > recl=0x44719db8) at beam/erl_gc.c:827 > > #3 0x00000000004fc40d in erts_garbage_collect (p=0x2aaabc644b90, > need=0, > > objv=0x44719e00, nobj=1) at beam/erl_gc.c:405 > > #4 0x00000000004fcdcf in erts_gc_after_bif_call (p=0x2aaabc644b90, > > result=46912734893994, regs=, arity= optimized > > out>) at beam/erl_gc.c:335 > > #5 0x00000000005309c1 in process_main () at beam/beam_emu.c:2600 > > #6 0x00000000004a0b4f in sched_thread_func (vesdp= out>) at > > beam/erl_process.c:5184 > > #7 0x00000000005a4f14 in thr_wrapper (vtwd=) at > > pthread/ethread.c:110 > > #8 0x000000393fc0673d in start_thread () from /lib64/libpthread.so.0 > > #9 0x000000393f4d3f6d in clone () from /lib64/libc.so.6 > > (gdb) p ptr > > $1 = (struct erl_off_heap_header *) 0x2aab02d63980 > > (gdb) x/x 0x2aab02d63980 > > 0x2aab02d63980: 0x000000f0 > > (gdb) p ptr->next > > $2 = (struct erl_off_heap_header *) 0x2aab02d5ee80 > > (gdb) x/x 0x2aab02d5ee80 > > 0x2aab02d5ee80: 0x00000160 > > > > Any ideas? Thanks a lot. > > > > > > > > -- > > View this message in context: > http://erlang.2086793.n4.nabble.com/erlang-node-crashes-in-erts-gc-after-bif-call-tp4655148.html > > Sent from the Erlang Patches mailing list archive at Nabble.com. > > _______________________________________________ > > erlang-patches mailing list > > erlang-patches@REDACTED > > http://erlang.org/mailman/listinfo/erlang-patches > > _______________________________________________ > erlang-patches mailing list > erlang-patches@REDACTED > http://erlang.org/mailman/listinfo/erlang-patches > > > _______________________________________________ > erlang-patches mailing list > erlang-patches@REDACTED > http://erlang.org/mailman/listinfo/erlang-patches -------------- next part -------------- An HTML attachment was scrubbed... URL: From henrik@REDACTED Mon Oct 22 14:45:38 2012 From: henrik@REDACTED (Henrik Nord) Date: Mon, 22 Oct 2012 14:45:38 +0200 Subject: [erlang-patches] TLS 1.2 hash fixes In-Reply-To: <811675695.274384.1350581093025.JavaMail.root@tpip.net> References: <811675695.274384.1350581093025.JavaMail.root@tpip.net> Message-ID: <50853FF2.9000100@erlang.org> First and foremost: You should *not* base any branches on a '|pu'| branch, as they will frequently be rebuilt from scratch on top of the current development branch. Base branches upon 'master' or 'maint' depending on where we are in the release cycle and if it is a feature or a bug etc. More information here: https://github.com/erlang/otp/wiki/Submitting-patches Secondly: Thank you for your contribution, I have rebased your branch upon 'master' and included it in 'master-pu' If this are to be included in master, you will most likely have to add this in the documentation, and in the test. On 10/18/2012 07:24 PM, Andreas Schultz wrote: > Hi, > > Here are two changes to improve TLS 1.2 higher strength sha hashes. > > There is this comment in ssl_cipher: > > %% Currently no supported cipher suites defaults to sha384 or sha512 > %% so these clauses are not needed at the moment. > > I'm afraid that this is wrong. With TLS 1.2 the actual hash being used > can be negotiated and is not longer fixed to the one specified in the > cipher suite. So it is possible to end up with a stronger cipher even > when we don't default to one. > > The other change adds sha224 to list of support and announced ciphers. > It might not be as good as sha256, but should still be stronger that > sha1. > > https://github.com/RoadRunnr/otp/compare/master-pu...ssl-sha224-fixes > https://github.com/RoadRunnr/otp/compare/master-pu...ssl-sha224-fixes.patch > > Both changes should apply cleanly on master and master-pu. > > Andreas -- /Henrik Nord Erlang/OTP -------------- next part -------------- An HTML attachment was scrubbed... URL: From henrik@REDACTED Mon Oct 22 15:26:46 2012 From: henrik@REDACTED (Henrik Nord) Date: Mon, 22 Oct 2012 15:26:46 +0200 Subject: [erlang-patches] minor ftp and application_controller fixes In-Reply-To: <50779821.8000307@aleynikov.org> References: <50779821.8000307@aleynikov.org> Message-ID: <50854996.2000809@erlang.org> Thank you for your contributions, I have included this in 'master-pu' On 10/12/2012 06:10 AM, Serge Aleynikov wrote: > Below are two very minor fixes > > 1. Handle correctly the "No files found or file unavailable" error code. > > git fetch git@REDACTED:saleyn/otp.git ftp > > https://github.com/saleyn/otp/compare/ftp > https://github.com/saleyn/otp/compare/ftp.patch > > 2. Fixed printout of application crash message on startup. > > git fetch git@REDACTED:saleyn/otp.git app_controller > > https://github.com/saleyn/otp/compare/app_controller > https://github.com/saleyn/otp/compare/app_controller.patch > > Regards, > > Serge > _______________________________________________ > erlang-patches mailing list > erlang-patches@REDACTED > http://erlang.org/mailman/listinfo/erlang-patches -- /Henrik Nord Erlang/OTP From henrik@REDACTED Mon Oct 22 15:33:30 2012 From: henrik@REDACTED (Henrik Nord) Date: Mon, 22 Oct 2012 15:33:30 +0200 Subject: [erlang-patches] Enhancement of erl_prettypr In-Reply-To: <507D89F0.3090701@aleynikov.org> References: <507D89F0.3090701@aleynikov.org> Message-ID: <50854B2A.1020708@erlang.org> Patch added to 'master-pu' Thank you On 10/16/2012 06:23 PM, Serge Aleynikov wrote: > Enhancement of erl_prettypr to print binaries in human-readable form. > > git fetch git@REDACTED:saleyn/otp.git erl_prettypr > > https://github.com/saleyn/otp/compare/erl_prettypr > https://github.com/saleyn/otp/compare/erl_prettypr.patch > > Given an abstract syntax form of a binary, such as: > > 1> Form = erl_syntax:form_list(element(2, erl_parse:parse_exprs( > element(2, erl_scan:string( > > "<<84,104,105,115,32,105,115,32,97,32,98,105,110,97,114,121,10>>."))))). > > Before applying the patch the output of erl_prettypr:format/1 looks like > this: > > 2> erl_prettypr:format(Form). > "<<84, 104, 105, 115, 32, 105, 115, 32, 97, 32, 98, 105,\n 110, 97, > 114, 121, 10>>" > > After applying the patch the output looks like this: > > 3> erl_prettypr:format(Form). > "<<\"This is a binary\\n\">>" > > The human-readable printing occurs only if erl_prettypr finds out that > the binary represents a printable list. > > Regards, > > Serge > _______________________________________________ > erlang-patches mailing list > erlang-patches@REDACTED > http://erlang.org/mailman/listinfo/erlang-patches -- /Henrik Nord Erlang/OTP From fdmanana@REDACTED Tue Oct 23 19:56:51 2012 From: fdmanana@REDACTED (Filipe David Manana) Date: Tue, 23 Oct 2012 18:56:51 +0100 Subject: [erlang-patches] [PATCH] Use share flags for all file operations on Windows Message-ID: https://github.com/fdmanana/otp/compare/maint...windows_file_share_delete.patch https://github.com/fdmanana/otp/compare/maint...windows_file_share_delete git fetch git://github.com/fdmanana/otp.git windows_file_share_delete -- Filipe David Manana, "Reasonable men adapt themselves to the world. Unreasonable men adapt the world to themselves. That's why all progress depends on unreasonable men." From n.oxyde@REDACTED Wed Oct 24 08:07:55 2012 From: n.oxyde@REDACTED (Anthony Ramine) Date: Wed, 24 Oct 2012 08:07:55 +0200 Subject: [erlang-patches] Print column numbers when compiling In-Reply-To: References: <610BC6F9-18BF-46A2-B487-492A9B41E42A@gmail.com> <4FCE3186.3000202@erlang.org> <5034FB10.7090804@erlang.org> <503CC79B.2020009@erlang.org> <50471240.3060005@erlang.org> <504DF309.2040900@erlang.org> <415229C2-452E-45FF-A207-69BD2212E2F5@gmail.com> <50519F42.7000109@erlang.org> <50598C38.8060506@erlang.org> Message-ID: Hi, It is mentioned in the OTP roadmap that column numbers won't be an option, should I rewrite my patch to take care of this or have you already done it? Is the line-only code path to be removed from erl_scan too? I continued this patch to make erlc able to issue error diagnostics like how clang does (parse-ranges branch on my repos), would you be interested by this? This branch handles end locations in erl_scan and parse ranges in erl_parse and epp; the two things that remain are macro expansions tracking and obviously the use of these informations in the compiler output. Regards, -- Anthony Ramine Le 19 sept. 2012 ? 19:28, Anthony Ramine a ?crit : > Hi, > > I've documented the 'file' attribute item in the branch's first commit and reordered some erl_scan commits; > please refetch. > > -- > Anthony Ramine > > Le 19 sept. 2012 ? 11:11, Henrik Nord a ?crit : > >> done >> On 09/14/2012 03:41 PM, Anthony Ramine wrote: >>> Hi, >>> >>> I've rewritten the erl_lint_SUITE patch with less formatting changes so the diff is clearer; please refetch. >>> >>> Regards, >>> >>> -- >>> Anthony Ramine >>> >>> >>> Le 13 sept. 2012 ? 10:54, Henrik Nord a ?crit : >>> >>>> Refetched. >>>> >>>> On 09/11/2012 12:13 PM, Anthony Ramine wrote: >>>>> Fixed, please refetch. Sorry for the inconvenience; I tried to remove every duplicate definition of erl_scan:error_info() and forgot to update the docs. >>>>> >>>>> -- >>>>> Anthony Ramine >>>>> >>>>> >>>>> >>>>> >>>>> Le 10 sept. 2012 ? 16:02, Henrik Nord a ?crit : >>>>> >>>>>> build error >>>>>> >>>>>> >>>>>> >>>>>> date=`date +"%B %e %Y"`; \ >>>>>> xsltproc --output "../man6/stdlib.6" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl stdlib_app.xml >>>>>> /usr/bin/install -c -m 644 ushell1.gif ../html/ushell1.gif >>>>>> /usr/bin/install -c -m 644 ushell2.gif ../html/ushell2.gif >>>>>> /usr/bin/install -c -m 644 ushell3.gif ../html/ushell3.gif >>>>>> date=`date +"%B %e %Y"`; \ >>>>>> specs_file=`pwd`/../specs/specs_array.xml; \ >>>>>> xsltproc --output "../man3/array.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl array.xml >>>>>> date=`date +"%B %e %Y"`; \ >>>>>> specs_file=`pwd`/../specs/specs_base64.xml; \ >>>>>> xsltproc --output "../man3/base64.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl base64.xml >>>>>> date=`date +"%B %e %Y"`; \ >>>>>> specs_file=`pwd`/../specs/specs_beam_lib.xml; \ >>>>>> xsltproc --output "../man3/beam_lib.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl beam_lib.xml >>>>>> date=`date +"%B %e %Y"`; \ >>>>>> specs_file=`pwd`/../specs/specs_binary.xml; \ >>>>>> xsltproc --output "../man3/binary.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl binary.xml >>>>>> date=`date +"%B %e %Y"`; \ >>>>>> specs_file=`pwd`/../specs/specs_c.xml; \ >>>>>> xsltproc --output "../man3/c.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl c.xml >>>>>> date=`date +"%B %e %Y"`; \ >>>>>> specs_file=`pwd`/../specs/specs_calendar.xml; \ >>>>>> xsltproc --output "../man3/calendar.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl calendar.xml >>>>>> date=`date +"%B %e %Y"`; \ >>>>>> specs_file=`pwd`/../specs/specs_dets.xml; \ >>>>>> xsltproc --output "../man3/dets.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl dets.xml >>>>>> date=`date +"%B %e %Y"`; \ >>>>>> specs_file=`pwd`/../specs/specs_dict.xml; \ >>>>>> xsltproc --output "../man3/dict.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl dict.xml >>>>>> date=`date +"%B %e %Y"`; \ >>>>>> specs_file=`pwd`/../specs/specs_digraph.xml; \ >>>>>> xsltproc --output "../man3/digraph.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl digraph.xml >>>>>> date=`date +"%B %e %Y"`; \ >>>>>> specs_file=`pwd`/../specs/specs_digraph_utils.xml; \ >>>>>> xsltproc --output "../man3/digraph_utils.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl digraph_utils.xml >>>>>> date=`date +"%B %e %Y"`; \ >>>>>> specs_file=`pwd`/../specs/specs_epp.xml; \ >>>>>> xsltproc --output "../man3/epp.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl epp.xml >>>>>> date=`date +"%B %e %Y"`; \ >>>>>> specs_file=`pwd`/../specs/specs_erl_eval.xml; \ >>>>>> xsltproc --output "../man3/erl_eval.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl erl_eval.xml >>>>>> date=`date +"%B %e %Y"`; \ >>>>>> specs_file=`pwd`/../specs/specs_erl_expand_records.xml; \ >>>>>> xsltproc --output "../man3/erl_expand_records.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl erl_expand_records.xml >>>>>> date=`date +"%B %e %Y"`; \ >>>>>> specs_file=`pwd`/../specs/specs_erl_id_trans.xml; \ >>>>>> xsltproc --output "../man3/erl_id_trans.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl erl_id_trans.xml >>>>>> date=`date +"%B %e %Y"`; \ >>>>>> specs_file=`pwd`/../specs/specs_erl_internal.xml; \ >>>>>> xsltproc --output "../man3/erl_internal.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl erl_internal.xml >>>>>> date=`date +"%B %e %Y"`; \ >>>>>> specs_file=`pwd`/../specs/specs_erl_lint.xml; \ >>>>>> xsltproc --output "../man3/erl_lint.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl erl_lint.xml >>>>>> date=`date +"%B %e %Y"`; \ >>>>>> specs_file=`pwd`/../specs/specs_erl_parse.xml; \ >>>>>> xsltproc --output "../man3/erl_parse.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl erl_parse.xml >>>>>> date=`date +"%B %e %Y"`; \ >>>>>> specs_file=`pwd`/../specs/specs_erl_pp.xml; \ >>>>>> xsltproc --output "../man3/erl_pp.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl erl_pp.xml >>>>>> date=`date +"%B %e %Y"`; \ >>>>>> specs_file=`pwd`/../specs/specs_erl_scan.xml; \ >>>>>> xsltproc --output "../man3/erl_scan.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl erl_scan.xml >>>>>> >>>>>> Error in erl_parse:error_description: unknown type >>>>>> make[4]: *** [../man3/erl_parse.3] Error 10 >>>>>> make[4]: *** Waiting for unfinished jobs.... >>>>>> make[4]: Leaving directory `/ldisk/jenkins/jobs/compile-pu/workspace/lib/stdlib/doc/src' >>>>>> make[3]: *** [release_docs] Error 2 >>>>>> make[3]: Leaving directory `/ldisk/jenkins/jobs/compile-pu/workspace/lib/stdlib/doc/src' >>>>>> make[2]: *** [release_docs] Error 2 >>>>>> make[2]: Leaving directory `/ldisk/jenkins/jobs/compile-pu/workspace/lib/stdlib' >>>>>> make[1]: *** [release_docs] Error 2 >>>>>> make[1]: Leaving directory `/ldisk/jenkins/jobs/compile-pu/workspace/lib' >>>>>> make: *** [release_docs] Error 2 >>>>>> >>>>>> On 09/09/2012 12:52 PM, Anthony Ramine wrote: >>>>>>> Hi, >>>>>>> >>>>>>> I've rebased it against the latest maint branch. Please refetch. >>>>>>> >>>>>>> On Wed, Sep 5, 2012 at 10:50 AM, Henrik Nord wrote: >>>>>>>> I would like you to rebase this on R15B02 after the release. >>>>>>>> /Henrik >>>>>>>> >>>>>>>> On 09/02/2012 08:26 PM, Anthony Ramine wrote: >>>>>>>>> Hi, >>>>>>>>> >>>>>>>>> Again, see responses inlined; please refetch. >>>>>>>>> >>>>>>>>> Regards. >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Anthony Ramine >>>>>>>>> >>>>>>>>> Le 28 ao?t 2012 ? 15:28, Lukas Larsson a ?crit : >>>>>>>>> >>>>>>>>>> Hello, >>>>>>>>>> >>>>>>>>>> See responses inlined. >>>>>>>>>> >>>>>>>>>> Lukas >>>>>>>>>> >>>>>>>>>> On 24/08/12 12:22, Anthony Ramine wrote: >>>>>>>>>>> Most OTP (at least erl_lint, erl_parse and syntax_tools) already knows >>>>>>>>>>> that locations can be a line or a line and a column; furthermore it is said >>>>>>>>>>> in erl_parse itself that one should always use get_line/1 and set_line/3 >>>>>>>>>>> instead of depending on having an integer there. >>>>>>>>>> It does indeed say so inside the code of erl_parse. But all of the >>>>>>>>>> visible documentation (here[1] and here[2]) say that it is an integer. So if >>>>>>>>>> you have only read the documentation (which I assume most people only have) >>>>>>>>>> you would assume that it is an integer. That documentation has to be updated >>>>>>>>>> so that LINE can be either an integer() or a tuple(integer(),integer()), and >>>>>>>>>> a reference to use erl_parse:set/get_attribute to manipulate it safely. >>>>>>>>>> >>>>>>>>>> The compiler should also be updated to use these API's, this includes >>>>>>>>>> the convention that a line number of -1 is used to say that something is >>>>>>>>>> compiler generated. To make sure that all uses of the non-api is eliminated, >>>>>>>>>> it might be a good idea to declare erl_scan:line as -opaque and let dialyzer >>>>>>>>>> search through the otp code for errors. >>>>>>>>>> >>>>>>>>>> [1]: http://www.erlang.org/doc/apps/erts/absform.html >>>>>>>>>> [2]: http://www.erlang.org/doc/man/erl_scan.html#type-line >>>>>>>>> I replaced LINE by LOC in the first documentation you point to and I've >>>>>>>>> patched various type specs in erl_scan and erl_parse so they both use >>>>>>>>> location(). >>>>>>>>> >>>>>>>>> With regard to negative line numbers, it should be noted that >>>>>>>>> user-supplied -file attributes have their line numbers negated whereas as >>>>>>>>> you said in other modules like erl_lint and v3_core, compile-generated nodes >>>>>>>>> are the ones which lines are negated. Shouldn't the opposite be done in >>>>>>>>> epp's -file attributes handling? >>>>>>>>> >>>>>>>>>>> If it is really that heavy of a change, why do we have >>>>>>>>>>> erl_scan:set_attribute/3 and erl_scan:attributes_info/{1,2}? They obviously >>>>>>>>>>> were coded to mitigate these issues. >>>>>>>>>> We have indeed been working on getting this to work before, but the >>>>>>>>>> effort was left as you see it now because there were a number of issues >>>>>>>>>> which needed solving and more important things got in the way. The reason >>>>>>>>>> why I say it is a heavy change is that we want to feel that a good effort >>>>>>>>>> has been made to make sure that all error and warning column numbers point >>>>>>>>>> to the correct position. >>>>>>>>> I've already added a 'file' item to these functions to improve the code >>>>>>>>> populating every node with the file from the -file attributes of the module >>>>>>>>> declaration in erl_lint; maybe another 'generated' item should be added to >>>>>>>>> replace the multiple neg_line and abs_line functions there are in some >>>>>>>>> compile-related modules? >>>>>>>>> >>>>>>>>>>> Any parse transform that break because of this change will break >>>>>>>>>>> because it does AST manipulation wrong and their users will just have to not >>>>>>>>>>> use the "column" option for it to continue to work. >>>>>>>>>> Strictly speaking parse transform is also an experimental/undocumented >>>>>>>>>> feature of Erlang/OTP. But unfortunately a lot of people seem to use them, >>>>>>>>>> so we have to take some backwards compatibility into consideration. The >>>>>>>>>> closest thing to a documentation is the example found here >>>>>>>>>> lib/stdlib/example/erl_id_trans.erl, and that does not deal with line >>>>>>>>>> numbers at all. >>>>>>>>>> >>>>>>>>>> We really really have to be sure that the fun2ms and qlc parse >>>>>>>>>> transforms work. >>>>>>>>> I've read through the code of various parse transforms this week and they >>>>>>>>> don't seem to make anything related to the transformed nodes' locations. >>>>>>>>> Most OTP-provided parse transforms are covered in the test suites I patched. >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> erlang-patches mailing list >>>>>>>>> erlang-patches@REDACTED >>>>>>>>> http://erlang.org/mailman/listinfo/erlang-patches >>>>>>>> -- >>>>>>>> /Henrik Nord Erlang/OTP >>>>>>>> >>>>>> -- >>>>>> /Henrik Nord Erlang/OTP >>>>>> >>>> -- >>>> /Henrik Nord Erlang/OTP >>>> >> >> -- >> /Henrik Nord Erlang/OTP >> > From henrik@REDACTED Wed Oct 24 11:06:12 2012 From: henrik@REDACTED (Henrik Nord) Date: Wed, 24 Oct 2012 11:06:12 +0200 Subject: [erlang-patches] [PATCH] Use share flags for all file operations on Windows In-Reply-To: References: Message-ID: <5087AF84.5040404@erlang.org> Hi I have added your patch to 'master-pu'. If you are able to reproduce this we would love tests for it. We do however understand if you are not able to reproduce it consistently as it may be dependent on timings and whatnot. However, there is a vague feeling that this may have been tried before, and strange errors with "ghost" files that did not exist, but could not be created as the names where taken. On 10/23/2012 07:56 PM, Filipe David Manana wrote: > https://github.com/fdmanana/otp/compare/maint...windows_file_share_delete.patch > https://github.com/fdmanana/otp/compare/maint...windows_file_share_delete > > git fetch git://github.com/fdmanana/otp.git windows_file_share_delete > > -- /Henrik Nord Erlang/OTP From fdmanana@REDACTED Wed Oct 24 14:09:24 2012 From: fdmanana@REDACTED (Filipe David Manana) Date: Wed, 24 Oct 2012 13:09:24 +0100 Subject: [erlang-patches] [PATCH] Use share flags for all file operations on Windows In-Reply-To: <5087AF84.5040404@erlang.org> References: <5087AF84.5040404@erlang.org> Message-ID: On Wed, Oct 24, 2012 at 10:06 AM, Henrik Nord wrote: > Hi > > I have added your patch to 'master-pu'. Thanks Henrik. > > If you are able to reproduce this we would love tests for it. We do however > understand if you are not able to reproduce it consistently as it may be > dependent on timings and whatnot. Yes, it's very hard to reproduce it consistently. Basically what I encountered was that if an Erlang process is "in the middle of" a filelib:file_size/1 (indirectly uses efile_fileinfo C function) call (after it opened the file, with share flags set to 0, and before it closes the file), other processes attempting to delete, rename or even open the file for read only mode, fail with eacces error. I noticed then that passing all the share flags to the CreateFileW call in efile_fileinfo was missing, as well as in a few other places other than efile_openfile. > > However, there is a vague feeling that this may have been tried before, and > strange errors with "ghost" files that did not exist, but could not be > created as the names where taken. Yep, I think what you're mentioning relates to what is described in these 2 pages: http://social.msdn.microsoft.com/Forums/nl-BE/vcgeneral/thread/54bef96f-3ca1-4dd7-a621-da2fa8d8b35b (reply from Friday, October 28, 2011 12:39 PM) http://stackoverflow.com/questions/3764072/c-win32-how-to-wait-for-a-pending-delete-to-complete Seems the solution is to rename a file and then delete it. However without FILE_SHARE_DELETE, the rename operation fails (if the file is already open without share delete flag), as I experienced and is mentioned in Microsoft's documentation for FILE_SHARE_DELETE: http://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx It fails with ERROR_SHARING_VIOLATION, and then the win_efile module translates it to EACCES. Therefore I think this patch helps on that, but ultimately, due to Windows specific file handling, the rename + delete seems to be a common practice. best regards, > > > > > On 10/23/2012 07:56 PM, Filipe David Manana wrote: >> >> >> https://github.com/fdmanana/otp/compare/maint...windows_file_share_delete.patch >> https://github.com/fdmanana/otp/compare/maint...windows_file_share_delete >> >> git fetch git://github.com/fdmanana/otp.git windows_file_share_delete >> >> > > -- > /Henrik Nord Erlang/OTP > -- Filipe David Manana, "Reasonable men adapt themselves to the world. Unreasonable men adapt the world to themselves. That's why all progress depends on unreasonable men." From martynasp@REDACTED Thu Oct 25 08:13:23 2012 From: martynasp@REDACTED (Martynas Pumputis) Date: Thu, 25 Oct 2012 08:13:23 +0200 Subject: [erlang-patches] odbc:auto_commit/{2,3} In-Reply-To: <50855ACE.2090700@gmail.com> References: <50855ACE.2090700@gmail.com> Message-ID: <5088D883.30308@gmail.com> Hello, I'm sending my patch: git fetch git://github.com/brb/otp.git odbc_autocommit https://github.com/brb/otp/compare/odbc_autocommit https://github.com/brb/otp/compare/odbc_autocommit.patch Best, Martynas From aschultz@REDACTED Sun Oct 28 15:36:34 2012 From: aschultz@REDACTED (Andreas Schultz) Date: Sun, 28 Oct 2012 15:36:34 +0100 (CET) Subject: [erlang-patches] TLS 1.2 hash fixes In-Reply-To: <50853FF2.9000100@erlang.org> References: <811675695.274384.1350581093025.JavaMail.root@tpip.net> <50853FF2.9000100@erlang.org> Message-ID: <805248242.17109.1351434994671.JavaMail.root@tpip.net> Hi, Here is an update to the sha224 ssl branch: https://github.com/RoadRunnr/otp/compare/master...ssl-sha224-fixes Tree is correctly based on master now. I have dropped the hash_size changes. After reviewing the call patch for hash_size, it became apparent that the original comment is correct. I am absolutely sure that I did hit hash_size with a stronger hash, but I am unable to reproduce it. So it is probably better to leave that alone. The other change still applies. Andreas ----- Original Message ----- > First and foremost: > You should not base any branches on a ' pu' branch, as they will > frequently be rebuilt from scratch on top of the current development > branch. > Base branches upon 'master' or 'maint' depending on where we are in > the release cycle and if it is a feature or a bug etc. > More information here: > https://github.com/erlang/otp/wiki/Submitting-patches > > Secondly: Thank you for your contribution, I have rebased your branch > upon 'master' and included it in 'master-pu' > > If this are to be included in master, you will most likely have to > add this in the documentation, and in the test. > > > > On 10/18/2012 07:24 PM, Andreas Schultz wrote: > > > > Hi, > > Here are two changes to improve TLS 1.2 higher strength sha hashes. > > There is this comment in ssl_cipher: > > %% Currently no supported cipher suites defaults to sha384 or sha512 > %% so these clauses are not needed at the moment. > > I'm afraid that this is wrong. With TLS 1.2 the actual hash being > used > can be negotiated and is not longer fixed to the one specified in the > cipher suite. So it is possible to end up with a stronger cipher even > when we don't default to one. > > The other change adds sha224 to list of support and announced > ciphers. > It might not be as good as sha256, but should still be stronger that > sha1. > https://github.com/RoadRunnr/otp/compare/master-pu...ssl-sha224-fixes > https://github.com/RoadRunnr/otp/compare/master-pu...ssl-sha224-fixes.patch > Both changes should apply cleanly on master and master-pu. > > Andreas > > -- > /Henrik Nord Erlang/OTP > > First and foremost: > You should *not* base any branches on a '|pu'| branch, as they will > frequently be rebuilt from scratch on top of the current development > branch. > Base branches upon 'master' or 'maint' depending on where we are in > the > release cycle and if it is a feature or a bug etc. > More information here: > https://github.com/erlang/otp/wiki/Submitting-patches > > Secondly: Thank you for your contribution, I have rebased your branch > upon 'master' and included it in 'master-pu' > > If this are to be included in master, you will most likely have to > add > this in the documentation, and in the test. > > > > On 10/18/2012 07:24 PM, Andreas Schultz wrote: > > Hi, > > > > Here are two changes to improve TLS 1.2 higher strength sha hashes. > > > > There is this comment in ssl_cipher: > > > > %% Currently no supported cipher suites defaults to sha384 or > > sha512 > > %% so these clauses are not needed at the moment. > > > > I'm afraid that this is wrong. With TLS 1.2 the actual hash being > > used > > can be negotiated and is not longer fixed to the one specified in > > the > > cipher suite. So it is possible to end up with a stronger cipher > > even > > when we don't default to one. > > > > The other change adds sha224 to list of support and announced > > ciphers. > > It might not be as good as sha256, but should still be stronger > > that > > sha1. > > > > https://github.com/RoadRunnr/otp/compare/master-pu...ssl-sha224-fixes > > https://github.com/RoadRunnr/otp/compare/master-pu...ssl-sha224-fixes.patch > > > > Both changes should apply cleanly on master and master-pu. > > > > Andreas > > -- > /Henrik Nord Erlang/OTP > > -- -- Dipl. Inform. Andreas Schultz email: as@REDACTED phone: +49-391-819099-224 mobil: +49-170-2226073 ------------------ managed broadband access ------------------ Travelping GmbH phone: +49-391-8190990 Roentgenstr. 13 fax: +49-391-819099299 D-39108 Magdeburg email: info@REDACTED GERMANY web: http://www.travelping.com Company Registration: HRB21276 Handelsregistergericht Chemnitz Geschaeftsfuehrer: Holger Winkelmann | VAT ID No.: DE236673780 -------------------------------------------------------------- From aschultz@REDACTED Sun Oct 28 16:25:50 2012 From: aschultz@REDACTED (Andreas Schultz) Date: Sun, 28 Oct 2012 16:25:50 +0100 (CET) Subject: [erlang-patches] TLS 1.2 hash fixes In-Reply-To: <805248242.17109.1351434994671.JavaMail.root@tpip.net> References: <811675695.274384.1350581093025.JavaMail.root@tpip.net> <50853FF2.9000100@erlang.org> <805248242.17109.1351434994671.JavaMail.root@tpip.net> Message-ID: <572597821.17141.1351437950426.JavaMail.root@tpip.net> Hi, Please disregard my last mail. The SRP and PSK patches introduce TLS 1.2 ciphers that do default to sha384, so the extended hash_size method is required should the SPR and PSK ciphers be accepted. Andreas ----- Original Message ----- > Hi, > > Here is an update to the sha224 ssl branch: > https://github.com/RoadRunnr/otp/compare/master...ssl-sha224-fixes > > Tree is correctly based on master now. > > I have dropped the hash_size changes. After reviewing the call patch > for hash_size, it became apparent that the original comment is > correct. > I am absolutely sure that I did hit hash_size with a stronger hash, > but > I am unable to reproduce it. So it is probably better to leave that > alone. > > The other change still applies. > > Andreas > > ----- Original Message ----- > > First and foremost: > > You should not base any branches on a ' pu' branch, as they will > > frequently be rebuilt from scratch on top of the current > > development > > branch. > > Base branches upon 'master' or 'maint' depending on where we are in > > the release cycle and if it is a feature or a bug etc. > > More information here: > > https://github.com/erlang/otp/wiki/Submitting-patches > > > > Secondly: Thank you for your contribution, I have rebased your > > branch > > upon 'master' and included it in 'master-pu' > > > > If this are to be included in master, you will most likely have to > > add this in the documentation, and in the test. > > > > > > > > On 10/18/2012 07:24 PM, Andreas Schultz wrote: > > > > > > > > Hi, > > > > Here are two changes to improve TLS 1.2 higher strength sha hashes. > > > > There is this comment in ssl_cipher: > > > > %% Currently no supported cipher suites defaults to sha384 or > > sha512 > > %% so these clauses are not needed at the moment. > > > > I'm afraid that this is wrong. With TLS 1.2 the actual hash being > > used > > can be negotiated and is not longer fixed to the one specified in > > the > > cipher suite. So it is possible to end up with a stronger cipher > > even > > when we don't default to one. > > > > The other change adds sha224 to list of support and announced > > ciphers. > > It might not be as good as sha256, but should still be stronger > > that > > sha1. > > https://github.com/RoadRunnr/otp/compare/master-pu...ssl-sha224-fixes > > https://github.com/RoadRunnr/otp/compare/master-pu...ssl-sha224-fixes.patch > > Both changes should apply cleanly on master and master-pu. > > > > Andreas > > > > -- > > /Henrik Nord Erlang/OTP > > > > First and foremost: > > You should *not* base any branches on a '|pu'| branch, as they will > > frequently be rebuilt from scratch on top of the current > > development > > branch. > > Base branches upon 'master' or 'maint' depending on where we are in > > the > > release cycle and if it is a feature or a bug etc. > > More information here: > > https://github.com/erlang/otp/wiki/Submitting-patches > > > > Secondly: Thank you for your contribution, I have rebased your > > branch > > upon 'master' and included it in 'master-pu' > > > > If this are to be included in master, you will most likely have to > > add > > this in the documentation, and in the test. > > > > > > > > On 10/18/2012 07:24 PM, Andreas Schultz wrote: > > > Hi, > > > > > > Here are two changes to improve TLS 1.2 higher strength sha > > > hashes. > > > > > > There is this comment in ssl_cipher: > > > > > > %% Currently no supported cipher suites defaults to sha384 or > > > sha512 > > > %% so these clauses are not needed at the moment. > > > > > > I'm afraid that this is wrong. With TLS 1.2 the actual hash being > > > used > > > can be negotiated and is not longer fixed to the one specified in > > > the > > > cipher suite. So it is possible to end up with a stronger cipher > > > even > > > when we don't default to one. > > > > > > The other change adds sha224 to list of support and announced > > > ciphers. > > > It might not be as good as sha256, but should still be stronger > > > that > > > sha1. > > > > > > https://github.com/RoadRunnr/otp/compare/master-pu...ssl-sha224-fixes > > > https://github.com/RoadRunnr/otp/compare/master-pu...ssl-sha224-fixes.patch > > > > > > Both changes should apply cleanly on master and master-pu. > > > > > > Andreas > > > > -- > > /Henrik Nord Erlang/OTP > > > > > > -- > -- > Dipl. Inform. > Andreas Schultz > > email: as@REDACTED > phone: +49-391-819099-224 > mobil: +49-170-2226073 > > ------------------ managed broadband access ------------------ > > Travelping GmbH phone: +49-391-8190990 > Roentgenstr. 13 fax: +49-391-819099299 > D-39108 Magdeburg email: info@REDACTED > GERMANY web: http://www.travelping.com > > Company Registration: HRB21276 Handelsregistergericht Chemnitz > Geschaeftsfuehrer: Holger Winkelmann | VAT ID No.: DE236673780 > -------------------------------------------------------------- > _______________________________________________ > erlang-patches mailing list > erlang-patches@REDACTED > http://erlang.org/mailman/listinfo/erlang-patches > -- -- Dipl. Inform. Andreas Schultz email: as@REDACTED phone: +49-391-819099-224 mobil: +49-170-2226073 ------------------ managed broadband access ------------------ Travelping GmbH phone: +49-391-8190990 Roentgenstr. 13 fax: +49-391-819099299 D-39108 Magdeburg email: info@REDACTED GERMANY web: http://www.travelping.com Company Registration: HRB21276 Handelsregistergericht Chemnitz Geschaeftsfuehrer: Holger Winkelmann | VAT ID No.: DE236673780 -------------------------------------------------------------- From tjarvstrand@REDACTED Mon Oct 29 10:10:37 2012 From: tjarvstrand@REDACTED (=?ISO-8859-1?Q?Thomas_J=E4rvstrand?=) Date: Mon, 29 Oct 2012 10:10:37 +0100 Subject: [erlang-patches] Erlang-mode face for exported functions Message-ID: Hi! I sent this once but it didn't seem to appear on the mailing list. I'm guessing that was because I sent it from an address not registered on the list yet, but I apologize beforehand if this is duplicate post. I added a couple of small functions to erlang-mode to be able to distinguish exported functions from non-exported functions in Emacs. Repo: git fetch git@REDACTED:tjarvstrand/otp.git exported-function-face Comparison: https://github.com/tjarvstrand/otp/compare/exported-function-face https://github.com/tjarvstrand/otp/compare/exported-function-face.patch Regards Thomas J?rvstrand -------------- next part -------------- An HTML attachment was scrubbed... URL: From luca.favatella@REDACTED Mon Oct 29 10:48:56 2012 From: luca.favatella@REDACTED (Luca Favatella) Date: Mon, 29 Oct 2012 09:48:56 -0000 (GMT) Subject: [erlang-patches] Small SNMP fixes In-Reply-To: <508AAAB5.8040806@erlang-solutions.com> Message-ID: Hello, Please find below three small SNMP fixes, based on maint. 1. Fix typo in doc git fetch git://github.com/lucafavatella/otp.git snmp-fix-typo https://github.com/lucafavatella/otp/compare/snmp-fix-typo https://github.com/lucafavatella/otp/compare/snmp-fix-typo.patch 2. Remove usage of deprecated tuple fun git fetch git://github.com/lucafavatella/otp.git snmp-tuple-fun https://github.com/lucafavatella/otp/compare/snmp-tuple-fun https://github.com/lucafavatella/otp/compare/snmp-tuple-fun.patch 3. Fix snmpm_user_default return values git fetch git://github.com/lucafavatella/otp.git snmpm_user_default https://github.com/lucafavatella/otp/compare/snmpm_user_default https://github.com/lucafavatella/otp/compare/snmpm_user_default.patch Thanks and regards Luca Favatella From henrik@REDACTED Mon Oct 29 11:20:52 2012 From: henrik@REDACTED (Henrik Nord) Date: Mon, 29 Oct 2012 11:20:52 +0100 Subject: [erlang-patches] TLS 1.2 hash fixes In-Reply-To: <572597821.17141.1351437950426.JavaMail.root@tpip.net> References: <811675695.274384.1350581093025.JavaMail.root@tpip.net> <50853FF2.9000100@erlang.org> <805248242.17109.1351434994671.JavaMail.root@tpip.net> <572597821.17141.1351437950426.JavaMail.root@tpip.net> Message-ID: <508E5884.8000001@erlang.org> Then I suggest you move that commit to the branch introducing those ciphers. And keep this branch as a advertise sha224 support branch /Henrik On 10/28/2012 04:25 PM, Andreas Schultz wrote: > Hi, > > Please disregard my last mail. The SRP and PSK patches introduce TLS 1.2 ciphers > that do default to sha384, so the extended hash_size method is required should the > SPR and PSK ciphers be accepted. > > Andreas > > ----- Original Message ----- >> Hi, >> >> Here is an update to the sha224 ssl branch: >> https://github.com/RoadRunnr/otp/compare/master...ssl-sha224-fixes >> >> Tree is correctly based on master now. >> >> I have dropped the hash_size changes. After reviewing the call patch >> for hash_size, it became apparent that the original comment is >> correct. >> I am absolutely sure that I did hit hash_size with a stronger hash, >> but >> I am unable to reproduce it. So it is probably better to leave that >> alone. >> >> The other change still applies. >> >> Andreas >> >> ----- Original Message ----- >>> First and foremost: >>> You should not base any branches on a ' pu' branch, as they will >>> frequently be rebuilt from scratch on top of the current >>> development >>> branch. >>> Base branches upon 'master' or 'maint' depending on where we are in >>> the release cycle and if it is a feature or a bug etc. >>> More information here: >>> https://github.com/erlang/otp/wiki/Submitting-patches >>> >>> Secondly: Thank you for your contribution, I have rebased your >>> branch >>> upon 'master' and included it in 'master-pu' >>> >>> If this are to be included in master, you will most likely have to >>> add this in the documentation, and in the test. >>> >>> >>> >>> On 10/18/2012 07:24 PM, Andreas Schultz wrote: >>> >>> >>> >>> Hi, >>> >>> Here are two changes to improve TLS 1.2 higher strength sha hashes. >>> >>> There is this comment in ssl_cipher: >>> >>> %% Currently no supported cipher suites defaults to sha384 or >>> sha512 >>> %% so these clauses are not needed at the moment. >>> >>> I'm afraid that this is wrong. With TLS 1.2 the actual hash being >>> used >>> can be negotiated and is not longer fixed to the one specified in >>> the >>> cipher suite. So it is possible to end up with a stronger cipher >>> even >>> when we don't default to one. >>> >>> The other change adds sha224 to list of support and announced >>> ciphers. >>> It might not be as good as sha256, but should still be stronger >>> that >>> sha1. >>> https://github.com/RoadRunnr/otp/compare/master-pu...ssl-sha224-fixes >>> https://github.com/RoadRunnr/otp/compare/master-pu...ssl-sha224-fixes.patch >>> Both changes should apply cleanly on master and master-pu. >>> >>> Andreas >>> >>> -- >>> /Henrik Nord Erlang/OTP >>> >>> First and foremost: >>> You should *not* base any branches on a '|pu'| branch, as they will >>> frequently be rebuilt from scratch on top of the current >>> development >>> branch. >>> Base branches upon 'master' or 'maint' depending on where we are in >>> the >>> release cycle and if it is a feature or a bug etc. >>> More information here: >>> https://github.com/erlang/otp/wiki/Submitting-patches >>> >>> Secondly: Thank you for your contribution, I have rebased your >>> branch >>> upon 'master' and included it in 'master-pu' >>> >>> If this are to be included in master, you will most likely have to >>> add >>> this in the documentation, and in the test. >>> >>> >>> >>> On 10/18/2012 07:24 PM, Andreas Schultz wrote: >>>> Hi, >>>> >>>> Here are two changes to improve TLS 1.2 higher strength sha >>>> hashes. >>>> >>>> There is this comment in ssl_cipher: >>>> >>>> %% Currently no supported cipher suites defaults to sha384 or >>>> sha512 >>>> %% so these clauses are not needed at the moment. >>>> >>>> I'm afraid that this is wrong. With TLS 1.2 the actual hash being >>>> used >>>> can be negotiated and is not longer fixed to the one specified in >>>> the >>>> cipher suite. So it is possible to end up with a stronger cipher >>>> even >>>> when we don't default to one. >>>> >>>> The other change adds sha224 to list of support and announced >>>> ciphers. >>>> It might not be as good as sha256, but should still be stronger >>>> that >>>> sha1. >>>> >>>> https://github.com/RoadRunnr/otp/compare/master-pu...ssl-sha224-fixes >>>> https://github.com/RoadRunnr/otp/compare/master-pu...ssl-sha224-fixes.patch >>>> >>>> Both changes should apply cleanly on master and master-pu. >>>> >>>> Andreas >>> -- >>> /Henrik Nord Erlang/OTP >>> >>> >> -- >> -- >> Dipl. Inform. >> Andreas Schultz >> >> email: as@REDACTED >> phone: +49-391-819099-224 >> mobil: +49-170-2226073 >> >> ------------------ managed broadband access ------------------ >> >> Travelping GmbH phone: +49-391-8190990 >> Roentgenstr. 13 fax: +49-391-819099299 >> D-39108 Magdeburg email: info@REDACTED >> GERMANY web: http://www.travelping.com >> >> Company Registration: HRB21276 Handelsregistergericht Chemnitz >> Geschaeftsfuehrer: Holger Winkelmann | VAT ID No.: DE236673780 >> -------------------------------------------------------------- >> _______________________________________________ >> erlang-patches mailing list >> erlang-patches@REDACTED >> http://erlang.org/mailman/listinfo/erlang-patches >> -- /Henrik Nord Erlang/OTP From henrik@REDACTED Mon Oct 29 11:27:31 2012 From: henrik@REDACTED (Henrik Nord) Date: Mon, 29 Oct 2012 11:27:31 +0100 Subject: [erlang-patches] Erlang-mode face for exported functions In-Reply-To: References: Message-ID: <508E5A13.80702@erlang.org> Hello I have added your branch in 'master-pu' rebased on 'master' Thank you for your contribution! On 10/29/2012 10:10 AM, Thomas J?rvstrand wrote: > Hi! > > I sent this once but it didn't seem to appear on the mailing list. I'm > guessing that was because I sent it from an address not registered on > the list yet, but I apologize beforehand if this is duplicate post. > > I added a couple of small functions to erlang-mode to be able to > distinguish exported functions from non-exported functions in Emacs. > > Repo: > git fetch git@REDACTED:tjarvstrand/otp.git exported-function-face > > Comparison: > https://github.com/tjarvstrand/otp/compare/exported-function-face > https://github.com/tjarvstrand/otp/compare/exported-function-face.patch > > Regards > Thomas J?rvstrand > > > _______________________________________________ > erlang-patches mailing list > erlang-patches@REDACTED > http://erlang.org/mailman/listinfo/erlang-patches -- /Henrik Nord Erlang/OTP -------------- next part -------------- An HTML attachment was scrubbed... URL: From henrik@REDACTED Mon Oct 29 11:35:35 2012 From: henrik@REDACTED (Henrik Nord) Date: Mon, 29 Oct 2012 11:35:35 +0100 Subject: [erlang-patches] odbc:auto_commit/{2,3} In-Reply-To: <5088D883.30308@gmail.com> References: <50855ACE.2090700@gmail.com> <5088D883.30308@gmail.com> Message-ID: <508E5BF7.6050806@erlang.org> Hi Thank you for your contribution! Rebased your patch and added it to 'master-pu' On 10/25/2012 08:13 AM, Martynas Pumputis wrote: > Hello, > > I'm sending my patch: > > git fetch git://github.com/brb/otp.git odbc_autocommit > > https://github.com/brb/otp/compare/odbc_autocommit > https://github.com/brb/otp/compare/odbc_autocommit.patch > > Best, > Martynas > > > _______________________________________________ > erlang-patches mailing list > erlang-patches@REDACTED > http://erlang.org/mailman/listinfo/erlang-patches -- /Henrik Nord Erlang/OTP From n.oxyde@REDACTED Mon Oct 29 14:40:48 2012 From: n.oxyde@REDACTED (Anthony Ramine) Date: Mon, 29 Oct 2012 14:40:48 +0100 Subject: [erlang-patches] Print column numbers when compiling In-Reply-To: References: <610BC6F9-18BF-46A2-B487-492A9B41E42A@gmail.com> <4FCE3186.3000202@erlang.org> <5034FB10.7090804@erlang.org> <503CC79B.2020009@erlang.org> <50471240.3060005@erlang.org> <504DF309.2040900@erlang.org> <415229C2-452E-45FF-A207-69BD2212E2F5@gmail.com> <50519F42.7000109@erlang.org> <50598C38.8060506@erlang.org> Message-ID: <77306113-0789-4B6F-A45D-8304FFED5C39@gmail.com> Ping? -- Anthony Ramine Le 24 oct. 2012 ? 08:07, Anthony Ramine a ?crit : > Hi, > > It is mentioned in the OTP roadmap that column numbers won't be an option, should I rewrite my patch to take care of this or have you already done it? Is the line-only code path to be removed from erl_scan too? > > I continued this patch to make erlc able to issue error diagnostics like how clang does (parse-ranges branch on my repos), would you be interested by this? This branch handles end locations in erl_scan and parse ranges in erl_parse and epp; the two things that remain are macro expansions tracking and obviously the use of these informations in the compiler output. > > Regards, > > -- > Anthony Ramine > > Le 19 sept. 2012 ? 19:28, Anthony Ramine a ?crit : > >> Hi, >> >> I've documented the 'file' attribute item in the branch's first commit and reordered some erl_scan commits; >> please refetch. >> >> -- >> Anthony Ramine >> >> Le 19 sept. 2012 ? 11:11, Henrik Nord a ?crit : >> >>> done >>> On 09/14/2012 03:41 PM, Anthony Ramine wrote: >>>> Hi, >>>> >>>> I've rewritten the erl_lint_SUITE patch with less formatting changes so the diff is clearer; please refetch. >>>> >>>> Regards, >>>> >>>> -- >>>> Anthony Ramine >>>> >>>> >>>> Le 13 sept. 2012 ? 10:54, Henrik Nord a ?crit : >>>> >>>>> Refetched. >>>>> >>>>> On 09/11/2012 12:13 PM, Anthony Ramine wrote: >>>>>> Fixed, please refetch. Sorry for the inconvenience; I tried to remove every duplicate definition of erl_scan:error_info() and forgot to update the docs. >>>>>> >>>>>> -- >>>>>> Anthony Ramine >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> Le 10 sept. 2012 ? 16:02, Henrik Nord a ?crit : >>>>>> >>>>>>> build error >>>>>>> >>>>>>> >>>>>>> >>>>>>> date=`date +"%B %e %Y"`; \ >>>>>>> xsltproc --output "../man6/stdlib.6" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl stdlib_app.xml >>>>>>> /usr/bin/install -c -m 644 ushell1.gif ../html/ushell1.gif >>>>>>> /usr/bin/install -c -m 644 ushell2.gif ../html/ushell2.gif >>>>>>> /usr/bin/install -c -m 644 ushell3.gif ../html/ushell3.gif >>>>>>> date=`date +"%B %e %Y"`; \ >>>>>>> specs_file=`pwd`/../specs/specs_array.xml; \ >>>>>>> xsltproc --output "../man3/array.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl array.xml >>>>>>> date=`date +"%B %e %Y"`; \ >>>>>>> specs_file=`pwd`/../specs/specs_base64.xml; \ >>>>>>> xsltproc --output "../man3/base64.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl base64.xml >>>>>>> date=`date +"%B %e %Y"`; \ >>>>>>> specs_file=`pwd`/../specs/specs_beam_lib.xml; \ >>>>>>> xsltproc --output "../man3/beam_lib.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl beam_lib.xml >>>>>>> date=`date +"%B %e %Y"`; \ >>>>>>> specs_file=`pwd`/../specs/specs_binary.xml; \ >>>>>>> xsltproc --output "../man3/binary.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl binary.xml >>>>>>> date=`date +"%B %e %Y"`; \ >>>>>>> specs_file=`pwd`/../specs/specs_c.xml; \ >>>>>>> xsltproc --output "../man3/c.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl c.xml >>>>>>> date=`date +"%B %e %Y"`; \ >>>>>>> specs_file=`pwd`/../specs/specs_calendar.xml; \ >>>>>>> xsltproc --output "../man3/calendar.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl calendar.xml >>>>>>> date=`date +"%B %e %Y"`; \ >>>>>>> specs_file=`pwd`/../specs/specs_dets.xml; \ >>>>>>> xsltproc --output "../man3/dets.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl dets.xml >>>>>>> date=`date +"%B %e %Y"`; \ >>>>>>> specs_file=`pwd`/../specs/specs_dict.xml; \ >>>>>>> xsltproc --output "../man3/dict.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl dict.xml >>>>>>> date=`date +"%B %e %Y"`; \ >>>>>>> specs_file=`pwd`/../specs/specs_digraph.xml; \ >>>>>>> xsltproc --output "../man3/digraph.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl digraph.xml >>>>>>> date=`date +"%B %e %Y"`; \ >>>>>>> specs_file=`pwd`/../specs/specs_digraph_utils.xml; \ >>>>>>> xsltproc --output "../man3/digraph_utils.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl digraph_utils.xml >>>>>>> date=`date +"%B %e %Y"`; \ >>>>>>> specs_file=`pwd`/../specs/specs_epp.xml; \ >>>>>>> xsltproc --output "../man3/epp.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl epp.xml >>>>>>> date=`date +"%B %e %Y"`; \ >>>>>>> specs_file=`pwd`/../specs/specs_erl_eval.xml; \ >>>>>>> xsltproc --output "../man3/erl_eval.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl erl_eval.xml >>>>>>> date=`date +"%B %e %Y"`; \ >>>>>>> specs_file=`pwd`/../specs/specs_erl_expand_records.xml; \ >>>>>>> xsltproc --output "../man3/erl_expand_records.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl erl_expand_records.xml >>>>>>> date=`date +"%B %e %Y"`; \ >>>>>>> specs_file=`pwd`/../specs/specs_erl_id_trans.xml; \ >>>>>>> xsltproc --output "../man3/erl_id_trans.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl erl_id_trans.xml >>>>>>> date=`date +"%B %e %Y"`; \ >>>>>>> specs_file=`pwd`/../specs/specs_erl_internal.xml; \ >>>>>>> xsltproc --output "../man3/erl_internal.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl erl_internal.xml >>>>>>> date=`date +"%B %e %Y"`; \ >>>>>>> specs_file=`pwd`/../specs/specs_erl_lint.xml; \ >>>>>>> xsltproc --output "../man3/erl_lint.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl erl_lint.xml >>>>>>> date=`date +"%B %e %Y"`; \ >>>>>>> specs_file=`pwd`/../specs/specs_erl_parse.xml; \ >>>>>>> xsltproc --output "../man3/erl_parse.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl erl_parse.xml >>>>>>> date=`date +"%B %e %Y"`; \ >>>>>>> specs_file=`pwd`/../specs/specs_erl_pp.xml; \ >>>>>>> xsltproc --output "../man3/erl_pp.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl erl_pp.xml >>>>>>> date=`date +"%B %e %Y"`; \ >>>>>>> specs_file=`pwd`/../specs/specs_erl_scan.xml; \ >>>>>>> xsltproc --output "../man3/erl_scan.3" --stringparam company "Ericsson AB" --stringparam docgen "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam gendate "$date" --stringparam appname "stdlib" --stringparam appver "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl erl_scan.xml >>>>>>> >>>>>>> Error in erl_parse:error_description: unknown type >>>>>>> make[4]: *** [../man3/erl_parse.3] Error 10 >>>>>>> make[4]: *** Waiting for unfinished jobs.... >>>>>>> make[4]: Leaving directory `/ldisk/jenkins/jobs/compile-pu/workspace/lib/stdlib/doc/src' >>>>>>> make[3]: *** [release_docs] Error 2 >>>>>>> make[3]: Leaving directory `/ldisk/jenkins/jobs/compile-pu/workspace/lib/stdlib/doc/src' >>>>>>> make[2]: *** [release_docs] Error 2 >>>>>>> make[2]: Leaving directory `/ldisk/jenkins/jobs/compile-pu/workspace/lib/stdlib' >>>>>>> make[1]: *** [release_docs] Error 2 >>>>>>> make[1]: Leaving directory `/ldisk/jenkins/jobs/compile-pu/workspace/lib' >>>>>>> make: *** [release_docs] Error 2 >>>>>>> >>>>>>> On 09/09/2012 12:52 PM, Anthony Ramine wrote: >>>>>>>> Hi, >>>>>>>> >>>>>>>> I've rebased it against the latest maint branch. Please refetch. >>>>>>>> >>>>>>>> On Wed, Sep 5, 2012 at 10:50 AM, Henrik Nord wrote: >>>>>>>>> I would like you to rebase this on R15B02 after the release. >>>>>>>>> /Henrik >>>>>>>>> >>>>>>>>> On 09/02/2012 08:26 PM, Anthony Ramine wrote: >>>>>>>>>> Hi, >>>>>>>>>> >>>>>>>>>> Again, see responses inlined; please refetch. >>>>>>>>>> >>>>>>>>>> Regards. >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Anthony Ramine >>>>>>>>>> >>>>>>>>>> Le 28 ao?t 2012 ? 15:28, Lukas Larsson a ?crit : >>>>>>>>>> >>>>>>>>>>> Hello, >>>>>>>>>>> >>>>>>>>>>> See responses inlined. >>>>>>>>>>> >>>>>>>>>>> Lukas >>>>>>>>>>> >>>>>>>>>>> On 24/08/12 12:22, Anthony Ramine wrote: >>>>>>>>>>>> Most OTP (at least erl_lint, erl_parse and syntax_tools) already knows >>>>>>>>>>>> that locations can be a line or a line and a column; furthermore it is said >>>>>>>>>>>> in erl_parse itself that one should always use get_line/1 and set_line/3 >>>>>>>>>>>> instead of depending on having an integer there. >>>>>>>>>>> It does indeed say so inside the code of erl_parse. But all of the >>>>>>>>>>> visible documentation (here[1] and here[2]) say that it is an integer. So if >>>>>>>>>>> you have only read the documentation (which I assume most people only have) >>>>>>>>>>> you would assume that it is an integer. That documentation has to be updated >>>>>>>>>>> so that LINE can be either an integer() or a tuple(integer(),integer()), and >>>>>>>>>>> a reference to use erl_parse:set/get_attribute to manipulate it safely. >>>>>>>>>>> >>>>>>>>>>> The compiler should also be updated to use these API's, this includes >>>>>>>>>>> the convention that a line number of -1 is used to say that something is >>>>>>>>>>> compiler generated. To make sure that all uses of the non-api is eliminated, >>>>>>>>>>> it might be a good idea to declare erl_scan:line as -opaque and let dialyzer >>>>>>>>>>> search through the otp code for errors. >>>>>>>>>>> >>>>>>>>>>> [1]: http://www.erlang.org/doc/apps/erts/absform.html >>>>>>>>>>> [2]: http://www.erlang.org/doc/man/erl_scan.html#type-line >>>>>>>>>> I replaced LINE by LOC in the first documentation you point to and I've >>>>>>>>>> patched various type specs in erl_scan and erl_parse so they both use >>>>>>>>>> location(). >>>>>>>>>> >>>>>>>>>> With regard to negative line numbers, it should be noted that >>>>>>>>>> user-supplied -file attributes have their line numbers negated whereas as >>>>>>>>>> you said in other modules like erl_lint and v3_core, compile-generated nodes >>>>>>>>>> are the ones which lines are negated. Shouldn't the opposite be done in >>>>>>>>>> epp's -file attributes handling? >>>>>>>>>> >>>>>>>>>>>> If it is really that heavy of a change, why do we have >>>>>>>>>>>> erl_scan:set_attribute/3 and erl_scan:attributes_info/{1,2}? They obviously >>>>>>>>>>>> were coded to mitigate these issues. >>>>>>>>>>> We have indeed been working on getting this to work before, but the >>>>>>>>>>> effort was left as you see it now because there were a number of issues >>>>>>>>>>> which needed solving and more important things got in the way. The reason >>>>>>>>>>> why I say it is a heavy change is that we want to feel that a good effort >>>>>>>>>>> has been made to make sure that all error and warning column numbers point >>>>>>>>>>> to the correct position. >>>>>>>>>> I've already added a 'file' item to these functions to improve the code >>>>>>>>>> populating every node with the file from the -file attributes of the module >>>>>>>>>> declaration in erl_lint; maybe another 'generated' item should be added to >>>>>>>>>> replace the multiple neg_line and abs_line functions there are in some >>>>>>>>>> compile-related modules? >>>>>>>>>> >>>>>>>>>>>> Any parse transform that break because of this change will break >>>>>>>>>>>> because it does AST manipulation wrong and their users will just have to not >>>>>>>>>>>> use the "column" option for it to continue to work. >>>>>>>>>>> Strictly speaking parse transform is also an experimental/undocumented >>>>>>>>>>> feature of Erlang/OTP. But unfortunately a lot of people seem to use them, >>>>>>>>>>> so we have to take some backwards compatibility into consideration. The >>>>>>>>>>> closest thing to a documentation is the example found here >>>>>>>>>>> lib/stdlib/example/erl_id_trans.erl, and that does not deal with line >>>>>>>>>>> numbers at all. >>>>>>>>>>> >>>>>>>>>>> We really really have to be sure that the fun2ms and qlc parse >>>>>>>>>>> transforms work. >>>>>>>>>> I've read through the code of various parse transforms this week and they >>>>>>>>>> don't seem to make anything related to the transformed nodes' locations. >>>>>>>>>> Most OTP-provided parse transforms are covered in the test suites I patched. >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> erlang-patches mailing list >>>>>>>>>> erlang-patches@REDACTED >>>>>>>>>> http://erlang.org/mailman/listinfo/erlang-patches >>>>>>>>> -- >>>>>>>>> /Henrik Nord Erlang/OTP >>>>>>>>> >>>>>>> -- >>>>>>> /Henrik Nord Erlang/OTP >>>>>>> >>>>> -- >>>>> /Henrik Nord Erlang/OTP >>>>> >>> >>> -- >>> /Henrik Nord Erlang/OTP >>> >> From alevandal@REDACTED Tue Oct 30 04:57:55 2012 From: alevandal@REDACTED (Kernel Panic) Date: Tue, 30 Oct 2012 11:57:55 +0800 Subject: [erlang-patches] Patch for ODBC module Message-ID: Hi, folks. Sorry if it is a repetition, but I don't see my mail in archive though I sent it last friday. I created a patch for erlang odbc module which solves the problem with setup autocommit mode for connections established by Oracle ODBC driver in Linux. The issue - Oracle ODBC driver for Linux ignores setup autocommit mode during driver initialization before a connection to database has been established (in odbc module autocommit is set this way). My patch solves this problem by setting autocommit mode after a connection to database has been established. The patch and more info about it is there - https://github.com/RubberCthulhu/erlang-odbc-oracle-fix. Actually it's an Oracle ODBC driver problem, but it could be very useful to add this fix to erlang odbc module, because this module allow to set autocommit mode only at the moment of connection creation. ---------------------------------------------- Danil Onishchenko. alevandal@REDACTED From alevandal@REDACTED Tue Oct 30 05:11:52 2012 From: alevandal@REDACTED (Kernel Panic) Date: Tue, 30 Oct 2012 12:11:52 +0800 Subject: [erlang-patches] Patch for ODBC module Message-ID: Hi, folks. Sorry if it is a repetition, but I put a wrong patch URL in my previous message. I created a patch for erlang odbc module which solves the problem with setup autocommit mode for connections established by Oracle ODBC driver in Linux. The issue - Oracle ODBC driver for Linux ignores setup autocommit mode during driver initialization before a connection to database has been established (in odbc module autocommit is set this way). My patch solves this problem by setting autocommit mode after a connection to database has been established. Actually it's an Oracle ODBC driver problem, but it could be very useful to add this fix to erlang odbc module, because this module allow to set autocommit mode only at the moment of connection creation. Patch info: https://github.com/RubberCthulhu/erlang-odbc-oracle-fix Patch for R14B04, R15B, R15B01: https://github.com/RubberCthulhu/erlang-odbc-oracle-fix/blob/master/otp_R14B04_odbc-oracle-fix.patch Patch for R15B02: https://github.com/RubberCthulhu/erlang-odbc-oracle-fix/blob/master/otp_R15B02_odbc-oracle-fix.patch ---------------------------------------------- Danil Onishchenko. alevandal@REDACTED From erlangsiri@REDACTED Tue Oct 30 10:01:40 2012 From: erlangsiri@REDACTED (Siri Hansen) Date: Tue, 30 Oct 2012 10:01:40 +0100 Subject: [erlang-patches] Print column numbers when compiling In-Reply-To: <77306113-0789-4B6F-A45D-8304FFED5C39@gmail.com> References: <610BC6F9-18BF-46A2-B487-492A9B41E42A@gmail.com> <4FCE3186.3000202@erlang.org> <5034FB10.7090804@erlang.org> <503CC79B.2020009@erlang.org> <50471240.3060005@erlang.org> <504DF309.2040900@erlang.org> <415229C2-452E-45FF-A207-69BD2212E2F5@gmail.com> <50519F42.7000109@erlang.org> <50598C38.8060506@erlang.org> <77306113-0789-4B6F-A45D-8304FFED5C39@gmail.com> Message-ID: Hello Anthony - sorry for the delay! We are currently changing some responsibilities inside the OTP team and have not yet decided who is to follow up on this. We will get back to you as soon as the responsibilities are settled. Thank you for your contribution, and now also for your patience!! Regards Siri 2012/10/29 Anthony Ramine > Ping? > -- > Anthony Ramine > > > Le 24 oct. 2012 ? 08:07, Anthony Ramine a ?crit : > > > Hi, > > > > It is mentioned in the OTP roadmap that column numbers won't be an > option, should I rewrite my patch to take care of this or have you already > done it? Is the line-only code path to be removed from erl_scan too? > > > > I continued this patch to make erlc able to issue error diagnostics like > how clang does (parse-ranges branch on my repos), would you be interested > by this? This branch handles end locations in erl_scan and parse ranges in > erl_parse and epp; the two things that remain are macro expansions tracking > and obviously the use of these informations in the compiler output. > > > > Regards, > > > > -- > > Anthony Ramine > > > > Le 19 sept. 2012 ? 19:28, Anthony Ramine a ?crit : > > > >> Hi, > >> > >> I've documented the 'file' attribute item in the branch's first commit > and reordered some erl_scan commits; > >> please refetch. > >> > >> -- > >> Anthony Ramine > >> > >> Le 19 sept. 2012 ? 11:11, Henrik Nord a ?crit : > >> > >>> done > >>> On 09/14/2012 03:41 PM, Anthony Ramine wrote: > >>>> Hi, > >>>> > >>>> I've rewritten the erl_lint_SUITE patch with less formatting changes > so the diff is clearer; please refetch. > >>>> > >>>> Regards, > >>>> > >>>> -- > >>>> Anthony Ramine > >>>> > >>>> > >>>> Le 13 sept. 2012 ? 10:54, Henrik Nord a ?crit : > >>>> > >>>>> Refetched. > >>>>> > >>>>> On 09/11/2012 12:13 PM, Anthony Ramine wrote: > >>>>>> Fixed, please refetch. Sorry for the inconvenience; I tried to > remove every duplicate definition of erl_scan:error_info() and forgot to > update the docs. > >>>>>> > >>>>>> -- > >>>>>> Anthony Ramine > >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>> Le 10 sept. 2012 ? 16:02, Henrik Nord a ?crit : > >>>>>> > >>>>>>> build error > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> date=`date +"%B %e %Y"`; \ > >>>>>>> xsltproc --output "../man6/stdlib.6" --stringparam company > "Ericsson AB" --stringparam docgen > "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam > gendate "$date" --stringparam appname "stdlib" --stringparam appver > "1.18.3" --xinclude -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl > stdlib_app.xml > >>>>>>> /usr/bin/install -c -m 644 ushell1.gif ../html/ushell1.gif > >>>>>>> /usr/bin/install -c -m 644 ushell2.gif ../html/ushell2.gif > >>>>>>> /usr/bin/install -c -m 644 ushell3.gif ../html/ushell3.gif > >>>>>>> date=`date +"%B %e %Y"`; \ > >>>>>>> specs_file=`pwd`/../specs/specs_array.xml; \ > >>>>>>> xsltproc --output "../man3/array.3" --stringparam company > "Ericsson AB" --stringparam docgen > "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam > gendate "$date" --stringparam appname "stdlib" --stringparam appver > "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl > array.xml > >>>>>>> date=`date +"%B %e %Y"`; \ > >>>>>>> specs_file=`pwd`/../specs/specs_base64.xml; \ > >>>>>>> xsltproc --output "../man3/base64.3" --stringparam company > "Ericsson AB" --stringparam docgen > "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam > gendate "$date" --stringparam appname "stdlib" --stringparam appver > "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl > base64.xml > >>>>>>> date=`date +"%B %e %Y"`; \ > >>>>>>> specs_file=`pwd`/../specs/specs_beam_lib.xml; \ > >>>>>>> xsltproc --output "../man3/beam_lib.3" --stringparam company > "Ericsson AB" --stringparam docgen > "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam > gendate "$date" --stringparam appname "stdlib" --stringparam appver > "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl > beam_lib.xml > >>>>>>> date=`date +"%B %e %Y"`; \ > >>>>>>> specs_file=`pwd`/../specs/specs_binary.xml; \ > >>>>>>> xsltproc --output "../man3/binary.3" --stringparam company > "Ericsson AB" --stringparam docgen > "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam > gendate "$date" --stringparam appname "stdlib" --stringparam appver > "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl > binary.xml > >>>>>>> date=`date +"%B %e %Y"`; \ > >>>>>>> specs_file=`pwd`/../specs/specs_c.xml; \ > >>>>>>> xsltproc --output "../man3/c.3" --stringparam company "Ericsson > AB" --stringparam docgen > "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam > gendate "$date" --stringparam appname "stdlib" --stringparam appver > "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl > c.xml > >>>>>>> date=`date +"%B %e %Y"`; \ > >>>>>>> specs_file=`pwd`/../specs/specs_calendar.xml; \ > >>>>>>> xsltproc --output "../man3/calendar.3" --stringparam company > "Ericsson AB" --stringparam docgen > "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam > gendate "$date" --stringparam appname "stdlib" --stringparam appver > "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl > calendar.xml > >>>>>>> date=`date +"%B %e %Y"`; \ > >>>>>>> specs_file=`pwd`/../specs/specs_dets.xml; \ > >>>>>>> xsltproc --output "../man3/dets.3" --stringparam company > "Ericsson AB" --stringparam docgen > "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam > gendate "$date" --stringparam appname "stdlib" --stringparam appver > "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl > dets.xml > >>>>>>> date=`date +"%B %e %Y"`; \ > >>>>>>> specs_file=`pwd`/../specs/specs_dict.xml; \ > >>>>>>> xsltproc --output "../man3/dict.3" --stringparam company > "Ericsson AB" --stringparam docgen > "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam > gendate "$date" --stringparam appname "stdlib" --stringparam appver > "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl > dict.xml > >>>>>>> date=`date +"%B %e %Y"`; \ > >>>>>>> specs_file=`pwd`/../specs/specs_digraph.xml; \ > >>>>>>> xsltproc --output "../man3/digraph.3" --stringparam company > "Ericsson AB" --stringparam docgen > "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam > gendate "$date" --stringparam appname "stdlib" --stringparam appver > "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl > digraph.xml > >>>>>>> date=`date +"%B %e %Y"`; \ > >>>>>>> specs_file=`pwd`/../specs/specs_digraph_utils.xml; \ > >>>>>>> xsltproc --output "../man3/digraph_utils.3" --stringparam > company "Ericsson AB" --stringparam docgen > "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam > gendate "$date" --stringparam appname "stdlib" --stringparam appver > "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl > digraph_utils.xml > >>>>>>> date=`date +"%B %e %Y"`; \ > >>>>>>> specs_file=`pwd`/../specs/specs_epp.xml; \ > >>>>>>> xsltproc --output "../man3/epp.3" --stringparam company > "Ericsson AB" --stringparam docgen > "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam > gendate "$date" --stringparam appname "stdlib" --stringparam appver > "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl > epp.xml > >>>>>>> date=`date +"%B %e %Y"`; \ > >>>>>>> specs_file=`pwd`/../specs/specs_erl_eval.xml; \ > >>>>>>> xsltproc --output "../man3/erl_eval.3" --stringparam company > "Ericsson AB" --stringparam docgen > "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam > gendate "$date" --stringparam appname "stdlib" --stringparam appver > "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl > erl_eval.xml > >>>>>>> date=`date +"%B %e %Y"`; \ > >>>>>>> specs_file=`pwd`/../specs/specs_erl_expand_records.xml; \ > >>>>>>> xsltproc --output "../man3/erl_expand_records.3" --stringparam > company "Ericsson AB" --stringparam docgen > "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam > gendate "$date" --stringparam appname "stdlib" --stringparam appver > "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl > erl_expand_records.xml > >>>>>>> date=`date +"%B %e %Y"`; \ > >>>>>>> specs_file=`pwd`/../specs/specs_erl_id_trans.xml; \ > >>>>>>> xsltproc --output "../man3/erl_id_trans.3" --stringparam company > "Ericsson AB" --stringparam docgen > "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam > gendate "$date" --stringparam appname "stdlib" --stringparam appver > "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl > erl_id_trans.xml > >>>>>>> date=`date +"%B %e %Y"`; \ > >>>>>>> specs_file=`pwd`/../specs/specs_erl_internal.xml; \ > >>>>>>> xsltproc --output "../man3/erl_internal.3" --stringparam company > "Ericsson AB" --stringparam docgen > "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam > gendate "$date" --stringparam appname "stdlib" --stringparam appver > "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl > erl_internal.xml > >>>>>>> date=`date +"%B %e %Y"`; \ > >>>>>>> specs_file=`pwd`/../specs/specs_erl_lint.xml; \ > >>>>>>> xsltproc --output "../man3/erl_lint.3" --stringparam company > "Ericsson AB" --stringparam docgen > "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam > gendate "$date" --stringparam appname "stdlib" --stringparam appver > "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl > erl_lint.xml > >>>>>>> date=`date +"%B %e %Y"`; \ > >>>>>>> specs_file=`pwd`/../specs/specs_erl_parse.xml; \ > >>>>>>> xsltproc --output "../man3/erl_parse.3" --stringparam company > "Ericsson AB" --stringparam docgen > "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam > gendate "$date" --stringparam appname "stdlib" --stringparam appver > "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl > erl_parse.xml > >>>>>>> date=`date +"%B %e %Y"`; \ > >>>>>>> specs_file=`pwd`/../specs/specs_erl_pp.xml; \ > >>>>>>> xsltproc --output "../man3/erl_pp.3" --stringparam company > "Ericsson AB" --stringparam docgen > "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam > gendate "$date" --stringparam appname "stdlib" --stringparam appver > "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl > erl_pp.xml > >>>>>>> date=`date +"%B %e %Y"`; \ > >>>>>>> specs_file=`pwd`/../specs/specs_erl_scan.xml; \ > >>>>>>> xsltproc --output "../man3/erl_scan.3" --stringparam company > "Ericsson AB" --stringparam docgen > "/ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen" --stringparam > gendate "$date" --stringparam appname "stdlib" --stringparam appver > "1.18.3" --stringparam specs_file "$specs_file" --xinclude -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd -path > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/dtd_man_entities > /ldisk/jenkins/jobs/compile-pu/workspace/lib/erl_docgen/priv/xsl/db_man.xsl > erl_scan.xml > >>>>>>> > >>>>>>> Error in erl_parse:error_description: unknown type > >>>>>>> make[4]: *** [../man3/erl_parse.3] Error 10 > >>>>>>> make[4]: *** Waiting for unfinished jobs.... > >>>>>>> make[4]: Leaving directory > `/ldisk/jenkins/jobs/compile-pu/workspace/lib/stdlib/doc/src' > >>>>>>> make[3]: *** [release_docs] Error 2 > >>>>>>> make[3]: Leaving directory > `/ldisk/jenkins/jobs/compile-pu/workspace/lib/stdlib/doc/src' > >>>>>>> make[2]: *** [release_docs] Error 2 > >>>>>>> make[2]: Leaving directory > `/ldisk/jenkins/jobs/compile-pu/workspace/lib/stdlib' > >>>>>>> make[1]: *** [release_docs] Error 2 > >>>>>>> make[1]: Leaving directory > `/ldisk/jenkins/jobs/compile-pu/workspace/lib' > >>>>>>> make: *** [release_docs] Error 2 > >>>>>>> > >>>>>>> On 09/09/2012 12:52 PM, Anthony Ramine wrote: > >>>>>>>> Hi, > >>>>>>>> > >>>>>>>> I've rebased it against the latest maint branch. Please refetch. > >>>>>>>> > >>>>>>>> On Wed, Sep 5, 2012 at 10:50 AM, Henrik Nord > wrote: > >>>>>>>>> I would like you to rebase this on R15B02 after the release. > >>>>>>>>> /Henrik > >>>>>>>>> > >>>>>>>>> On 09/02/2012 08:26 PM, Anthony Ramine wrote: > >>>>>>>>>> Hi, > >>>>>>>>>> > >>>>>>>>>> Again, see responses inlined; please refetch. > >>>>>>>>>> > >>>>>>>>>> Regards. > >>>>>>>>>> > >>>>>>>>>> -- > >>>>>>>>>> Anthony Ramine > >>>>>>>>>> > >>>>>>>>>> Le 28 ao?t 2012 ? 15:28, Lukas Larsson a ?crit : > >>>>>>>>>> > >>>>>>>>>>> Hello, > >>>>>>>>>>> > >>>>>>>>>>> See responses inlined. > >>>>>>>>>>> > >>>>>>>>>>> Lukas > >>>>>>>>>>> > >>>>>>>>>>> On 24/08/12 12:22, Anthony Ramine wrote: > >>>>>>>>>>>> Most OTP (at least erl_lint, erl_parse and syntax_tools) > already knows > >>>>>>>>>>>> that locations can be a line or a line and a column; > furthermore it is said > >>>>>>>>>>>> in erl_parse itself that one should always use get_line/1 and > set_line/3 > >>>>>>>>>>>> instead of depending on having an integer there. > >>>>>>>>>>> It does indeed say so inside the code of erl_parse. But all of > the > >>>>>>>>>>> visible documentation (here[1] and here[2]) say that it is an > integer. So if > >>>>>>>>>>> you have only read the documentation (which I assume most > people only have) > >>>>>>>>>>> you would assume that it is an integer. That documentation has > to be updated > >>>>>>>>>>> so that LINE can be either an integer() or a > tuple(integer(),integer()), and > >>>>>>>>>>> a reference to use erl_parse:set/get_attribute to manipulate > it safely. > >>>>>>>>>>> > >>>>>>>>>>> The compiler should also be updated to use these API's, this > includes > >>>>>>>>>>> the convention that a line number of -1 is used to say that > something is > >>>>>>>>>>> compiler generated. To make sure that all uses of the non-api > is eliminated, > >>>>>>>>>>> it might be a good idea to declare erl_scan:line as -opaque > and let dialyzer > >>>>>>>>>>> search through the otp code for errors. > >>>>>>>>>>> > >>>>>>>>>>> [1]: http://www.erlang.org/doc/apps/erts/absform.html > >>>>>>>>>>> [2]: http://www.erlang.org/doc/man/erl_scan.html#type-line > >>>>>>>>>> I replaced LINE by LOC in the first documentation you point to > and I've > >>>>>>>>>> patched various type specs in erl_scan and erl_parse so they > both use > >>>>>>>>>> location(). > >>>>>>>>>> > >>>>>>>>>> With regard to negative line numbers, it should be noted that > >>>>>>>>>> user-supplied -file attributes have their line numbers negated > whereas as > >>>>>>>>>> you said in other modules like erl_lint and v3_core, > compile-generated nodes > >>>>>>>>>> are the ones which lines are negated. Shouldn't the opposite be > done in > >>>>>>>>>> epp's -file attributes handling? > >>>>>>>>>> > >>>>>>>>>>>> If it is really that heavy of a change, why do we have > >>>>>>>>>>>> erl_scan:set_attribute/3 and erl_scan:attributes_info/{1,2}? > They obviously > >>>>>>>>>>>> were coded to mitigate these issues. > >>>>>>>>>>> We have indeed been working on getting this to work before, > but the > >>>>>>>>>>> effort was left as you see it now because there were a number > of issues > >>>>>>>>>>> which needed solving and more important things got in the way. > The reason > >>>>>>>>>>> why I say it is a heavy change is that we want to feel that a > good effort > >>>>>>>>>>> has been made to make sure that all error and warning column > numbers point > >>>>>>>>>>> to the correct position. > >>>>>>>>>> I've already added a 'file' item to these functions to improve > the code > >>>>>>>>>> populating every node with the file from the -file attributes > of the module > >>>>>>>>>> declaration in erl_lint; maybe another 'generated' item should > be added to > >>>>>>>>>> replace the multiple neg_line and abs_line functions there are > in some > >>>>>>>>>> compile-related modules? > >>>>>>>>>> > >>>>>>>>>>>> Any parse transform that break because of this change will > break > >>>>>>>>>>>> because it does AST manipulation wrong and their users will > just have to not > >>>>>>>>>>>> use the "column" option for it to continue to work. > >>>>>>>>>>> Strictly speaking parse transform is also an > experimental/undocumented > >>>>>>>>>>> feature of Erlang/OTP. But unfortunately a lot of people seem > to use them, > >>>>>>>>>>> so we have to take some backwards compatibility into > consideration. The > >>>>>>>>>>> closest thing to a documentation is the example found here > >>>>>>>>>>> lib/stdlib/example/erl_id_trans.erl, and that does not deal > with line > >>>>>>>>>>> numbers at all. > >>>>>>>>>>> > >>>>>>>>>>> We really really have to be sure that the fun2ms and qlc parse > >>>>>>>>>>> transforms work. > >>>>>>>>>> I've read through the code of various parse transforms this > week and they > >>>>>>>>>> don't seem to make anything related to the transformed nodes' > locations. > >>>>>>>>>> Most OTP-provided parse transforms are covered in the test > suites I patched. > >>>>>>>>>> > >>>>>>>>>> _______________________________________________ > >>>>>>>>>> erlang-patches mailing list > >>>>>>>>>> erlang-patches@REDACTED > >>>>>>>>>> http://erlang.org/mailman/listinfo/erlang-patches > >>>>>>>>> -- > >>>>>>>>> /Henrik Nord Erlang/OTP > >>>>>>>>> > >>>>>>> -- > >>>>>>> /Henrik Nord Erlang/OTP > >>>>>>> > >>>>> -- > >>>>> /Henrik Nord Erlang/OTP > >>>>> > >>> > >>> -- > >>> /Henrik Nord Erlang/OTP > >>> > >> > > _______________________________________________ > erlang-patches mailing list > erlang-patches@REDACTED > http://erlang.org/mailman/listinfo/erlang-patches > -------------- next part -------------- An HTML attachment was scrubbed... URL: From henrik@REDACTED Tue Oct 30 10:34:52 2012 From: henrik@REDACTED (Henrik Nord) Date: Tue, 30 Oct 2012 10:34:52 +0100 Subject: [erlang-patches] odbc:auto_commit/{2,3} In-Reply-To: <5088D883.30308@gmail.com> References: <50855ACE.2090700@gmail.com> <5088D883.30308@gmail.com> Message-ID: <508F9F3C.3020604@erlang.org> Hi You have introduced a few test case fails. odbc_query_SUITE:auto_commit failed on line 1483 Reason: {badmatch,{ok,1}} Solaris 2.10 and linux 32 bit, skipped on 64 ---------------------------------------------------------------- ODBCINI = false **** User 2012-10-30 04:53:24.303 **** odbc_connect_SUITE:control_process_dies failed on line 296 Reason: {badmatch,{connected,<0.309.0>}} Drop table: "test_serverAtelendur" {error, "[MySQL][ODBC 5.1 Driver][mysqld-5.1.41-3ubuntu12.10]Unknown table 'test_serverAtelendur' SQLSTATE IS: 42S02"} This is on Linux 32 bit, skipped on 64 ---------------------------------------------------------------- ODBCINI = false **** User 2012-10-30 04:53:24.222 **** odbc_connect_SUITE:port_dies failed on line 286 Reason: {badmatch,{status,waiting}} Drop table: "test_serverAtelendur" {error, "[MySQL][ODBC 5.1 Driver][mysqld-5.1.41-3ubuntu12.10]Unknown table 'test_serverAtelendur' SQLSTATE IS: 42S02"} same Linux as before 32 bit, skipped on 64 On 10/25/2012 08:13 AM, Martynas Pumputis wrote: > Hello, > > I'm sending my patch: > > git fetch git://github.com/brb/otp.git odbc_autocommit > > https://github.com/brb/otp/compare/odbc_autocommit > https://github.com/brb/otp/compare/odbc_autocommit.patch > > Best, > Martynas > > > _______________________________________________ > erlang-patches mailing list > erlang-patches@REDACTED > http://erlang.org/mailman/listinfo/erlang-patches -- /Henrik Nord Erlang/OTP -------------- next part -------------- An HTML attachment was scrubbed... URL: From martynasp@REDACTED Tue Oct 30 10:46:40 2012 From: martynasp@REDACTED (Martynas Pumputis) Date: Tue, 30 Oct 2012 11:46:40 +0200 Subject: [erlang-patches] odbc:auto_commit/{2,3} In-Reply-To: <508F9F3C.3020604@erlang.org> References: <50855ACE.2090700@gmail.com> <5088D883.30308@gmail.com> <508F9F3C.3020604@erlang.org> Message-ID: <508FA200.6010906@gmail.com> Hi, I've run the test case on odbc-postresql (1:09.00.0310-2) and all tests have been passed. I will try to run on odbc-mysql later today. Martynas On 10/30/2012 11:34 AM, Henrik Nord wrote: > Hi You have introduced a few test case fails. > > odbc_query_SUITE:auto_commit failed on line 1483 > Reason: {badmatch,{ok,1}} > > Solaris 2.10 and linux 32 bit, skipped on 64 > > ---------------------------------------------------------------- > > > ODBCINI = false > > **** User 2012-10-30 04:53:24.303 **** > odbc_connect_SUITE:control_process_dies failed on line 296 Reason: > {badmatch,{connected,<0.309.0>}} > > Drop table: "test_serverAtelendur" {error, > "[MySQL][ODBC 5.1 Driver][mysqld-5.1.41-3ubuntu12.10]Unknown table 'test_serverAtelendur' SQLSTATE IS: 42S02"} > > > > This is on Linux 32 bit, skipped on 64 > > ---------------------------------------------------------------- > > ODBCINI = false > > **** User 2012-10-30 04:53:24.222 **** odbc_connect_SUITE:port_dies > failed on line 286 Reason: {badmatch,{status,waiting}} > > Drop table: "test_serverAtelendur" {error, > "[MySQL][ODBC 5.1 Driver][mysqld-5.1.41-3ubuntu12.10]Unknown table 'test_serverAtelendur' SQLSTATE IS: 42S02"} > > > same Linux as before 32 bit, skipped on 64 > > > On 10/25/2012 08:13 AM, Martynas Pumputis wrote: >> Hello, >> >> I'm sending my patch: >> >> git fetch git://github.com/brb/otp.git odbc_autocommit >> >> https://github.com/brb/otp/compare/odbc_autocommit >> https://github.com/brb/otp/compare/odbc_autocommit.patch >> >> Best, >> Martynas >> >> >> _______________________________________________ >> erlang-patches mailing list >> erlang-patches@REDACTED >> http://erlang.org/mailman/listinfo/erlang-patches > > -- > /Henrik Nord Erlang/OTP > From henrik@REDACTED Tue Oct 30 16:07:38 2012 From: henrik@REDACTED (Henrik Nord) Date: Tue, 30 Oct 2012 16:07:38 +0100 Subject: [erlang-patches] Small SNMP fixes In-Reply-To: References: Message-ID: <508FED3A.5060101@erlang.org> Thank you for your contributions, I have added your patches to master-pu On 10/29/2012 10:48 AM, Luca Favatella wrote: > Hello, > > Please find below three small SNMP fixes, based on maint. > > > 1. Fix typo in doc > > git fetch git://github.com/lucafavatella/otp.git snmp-fix-typo > > https://github.com/lucafavatella/otp/compare/snmp-fix-typo > https://github.com/lucafavatella/otp/compare/snmp-fix-typo.patch > > > 2. Remove usage of deprecated tuple fun > > git fetch git://github.com/lucafavatella/otp.git snmp-tuple-fun > > https://github.com/lucafavatella/otp/compare/snmp-tuple-fun > https://github.com/lucafavatella/otp/compare/snmp-tuple-fun.patch > > > 3. Fix snmpm_user_default return values > > git fetch git://github.com/lucafavatella/otp.git snmpm_user_default > > https://github.com/lucafavatella/otp/compare/snmpm_user_default > https://github.com/lucafavatella/otp/compare/snmpm_user_default.patch > > > Thanks and regards > Luca Favatella > _______________________________________________ > erlang-patches mailing list > erlang-patches@REDACTED > http://erlang.org/mailman/listinfo/erlang-patches -- /Henrik Nord Erlang/OTP From martynasp@REDACTED Wed Oct 31 08:21:46 2012 From: martynasp@REDACTED (Martynas Pumputis) Date: Wed, 31 Oct 2012 09:21:46 +0200 Subject: [erlang-patches] odbc:auto_commit/{2,3} In-Reply-To: <508F9F3C.3020604@erlang.org> References: <50855ACE.2090700@gmail.com> <5088D883.30308@gmail.com> <508F9F3C.3020604@erlang.org> Message-ID: <5090D18A.2010006@gmail.com> Hi again, It seems that the problem is with odbc-mysql driver: when there are two simultaneous connections (auto_commit=off) and one commits a transaction, then the other one won't see any changes introduced by the transaction. But this is out of scope problem. Anyway, I've fixed the test case, so, please, re-merge it: git fetch git://github.com/brb/otp.git odbc_autocommit https://github.com/brb/otp/compare/odbc_autocommit https://github.com/brb/otp/compare/odbc_autocommit.patch Thanks, Martynas On 10/30/2012 11:34 AM, Henrik Nord wrote: > Hi You have introduced a few test case fails. > > odbc_query_SUITE:auto_commit failed on line 1483 > Reason: {badmatch,{ok,1}} > > Solaris 2.10 and linux 32 bit, skipped on 64 > > ---------------------------------------------------------------- > > > ODBCINI = false > > **** User 2012-10-30 04:53:24.303 **** > odbc_connect_SUITE:control_process_dies failed on line 296 Reason: > {badmatch,{connected,<0.309.0>}} > > Drop table: "test_serverAtelendur" {error, > "[MySQL][ODBC 5.1 Driver][mysqld-5.1.41-3ubuntu12.10]Unknown table 'test_serverAtelendur' SQLSTATE IS: 42S02"} > > > > This is on Linux 32 bit, skipped on 64 > > ---------------------------------------------------------------- > > ODBCINI = false > > **** User 2012-10-30 04:53:24.222 **** odbc_connect_SUITE:port_dies > failed on line 286 Reason: {badmatch,{status,waiting}} > > Drop table: "test_serverAtelendur" {error, > "[MySQL][ODBC 5.1 Driver][mysqld-5.1.41-3ubuntu12.10]Unknown table 'test_serverAtelendur' SQLSTATE IS: 42S02"} > > > same Linux as before 32 bit, skipped on 64 > > > On 10/25/2012 08:13 AM, Martynas Pumputis wrote: >> Hello, >> >> I'm sending my patch: >> >> git fetch git://github.com/brb/otp.git odbc_autocommit >> >> https://github.com/brb/otp/compare/odbc_autocommit >> https://github.com/brb/otp/compare/odbc_autocommit.patch >> >> Best, >> Martynas >> >> >> _______________________________________________ >> erlang-patches mailing list >> erlang-patches@REDACTED >> http://erlang.org/mailman/listinfo/erlang-patches > > -- > /Henrik Nord Erlang/OTP >