Age | Commit message (Collapse) | Author | |
---|---|---|---|
2017-06-11 | Strip throttling callbacks from diameter_tcp | Anders Svensson | |
Commits starting at 472a080c added a throttle_cb option to diameter_tcp to let a callback apply backpressure when it decides that additional requests should not be read. It didn't provide a hook for knowing that an answer was sent however, which is needed when sends no longer take place in the receiver process, and is more complicated than it should be. Strip it all away, in preparation for a simpler incarnation. | |||
2017-06-11 | Deal with (another) SCTP association id quirk on Solaris | Anders Svensson | |
Shutdown events have been seen to get a different association id. For example, first incoming message with association id = 0: + {trace_ts,<6421.268.0>,call, {diameter_sctp,handle_info, [{sctp,#Port<6421.2588>, {10,67,16,179}, 44159, {[{sctp_sndrcvinfo,0,0,[],0,0,0,269950872,269950872,0}], <<1,0,0,156,128,0,1,1,0,0,0,0,6,193,40,137,6,193,40,137,0,0, 1,8,64,0,0,30,67,45,49,51,52,50,49,55,52,52,49,46,101,114, 108,97,110,103,46,111,114,103,0,0,0,0,1,40,64,0,0,18,101, 114,108,97,110,103,46,111,114,103,0,0,0,0,1,1,64,0,0,14,0, 1,127,0,0,1,0,0,0,0,1,10,64,0,0,12,0,0,48,57,0,0,1,13,0,0, 0,20,79,84,80,47,100,105,97,109,101,116,101,114,0,0,1,22, 64,0,0,12,0,0,0,1,0,0,1,2,64,0,0,12,0,0,0,0,0,0,1,3,64,0,0, 12,0,0,0,3>>}}, {transport,<6421.252.0>,accept,#Port<6421.2588>,true,undefined, {32,32}, 0,undefined}]}, {1493,21505,577938}} Later, a shutdown event with association id 1536: + {trace_ts,<6421.268.0>,call, {diameter_sctp,handle_info, [{sctp,#Port<6421.2588>, {10,67,16,179}, 44159, {[],{sctp_shutdown_event,1536}}}, {transport,<6421.252.0>,accept,#Port<6421.2588>,0,undefined, {32,32}, 2,<6421.304.0>}]}, {1493,21505,746929}} Both this and the grandparent commit are on this: $ uname -a SunOS beren 5.10 Generic_118833-33 sun4v sparc SUNW,Netra-T2000 | |||
2017-06-11 | Use binary:copy/2 when generating largish data in test suites | Anders Svensson | |
Faster than lists:duplicate/2. | |||
2017-06-11 | Deal with SCTP association id quirk on Solaris | Anders Svensson | |
In particular, that the association id received in messages on a one-to-one socket after peeloff may be different from the id received on the listen socket at comm_up. This seems odd, since it's then not possible to send until the id is discovered by reception of an SCTP message containing it, but it's unclear if this is a bug or a feature, or if it's specific to certain platforms. Treat it as a feature in this commit, and get the association id as mentioned, an incoming CER being expected before anything is sent. Commit da3e5d67 has more history. | |||
2017-06-11 | Make skipped SCTP testcases more visible in traffic suite | Anders Svensson | |
By explicitly skipping instead of omitting testcases from groups. | |||
2017-06-11 | Make traffic suite fail less brutally | Anders Svensson | |
Autoskip traffic testcases if transport isn't established instead of having traffic cases run and fail. | |||
2017-06-11 | Remove superfluous traffic testcase | Anders Svensson | |
Testcase is already run elsewhere on the suite. | |||
2017-06-11 | Rework gen_sctp suite to demonstrate remaining problems | Anders Svensson | |
In particular, that transmission can be very slow. The problem appears to be linked to sndbuf/recbuf, but even with buffers that are large enough to hold all messages being sent, turnaround times can still vary by hundreds of milliseconds in a reasonable test environment. Use multiple streams and a sender process to more closely mirror the usage in diameter_sctp, but neither is the source of the problems. | |||
2017-06-11 | Fix diameter_transport_SUITE race | Anders Svensson | |
The server sent and died, but there's no guarantee that it won't take the connection down before the client has receive its bytes. Make the server wait for the client to take down the connection. | |||
2017-06-11 | Work around SCTP quirks on sparc-sun-solaris2.10 | Anders Svensson | |
This addresses the testcase failures mentioned in the parent commit, which has been on account of the behaviour below, in which connect fails on the loopback address. Work around it by finding/using another address if possible. $ erl Erlang/OTP 20 [DEVELOPMENT] [erts-9.0] [smp:2:2] [ds:2:2:10] [async-threads:10] [hipe] [kernel-poll:false] [sharing-preserving] Eshell V9.0 (abort with ^G) 1> {ok, LP} = gen_sctp:open(). {ok,#Port<0.439>} 2> gen_sctp:listen(LP, true). ok 3> inet:socknames(LP). {ok,[{{10,67,16,178},36506},{{127,0,0,1},36506}]} 4> {ok, S} = gen_sctp:open([{ip, {127,0,0,1}}]). {ok,#Port<0.443>} 5> gen_sctp:connect_init(S, {127,0,0,1}, 36506, []). {error,eaddrnotavail} 6> gen_sctp:connect_init(S, {10,67,16,178}, 36506, []). {error,eaddrnotavail} 7> gen_sctp:close(S). ok 8> f(S). ok 9> {ok, S} = gen_sctp:open(). {ok,#Port<0.444>} 10> gen_sctp:connect_init(S, {127,0,0,1}, 36506, []). ok Even the following has been seen on at least one host, so that success of gen_sctp:open/0 is no guarantee. $ ifconfig -a4 lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 bge0: flags=1004843<UP,BROADCAST,RUNNING,MULTICAST,DHCP,IPv4> mtu 1500 index 2 inet 10.67.16.180 netmask ffffff00 broadcast 10.67.16.255 $ erl Erlang/OTP 20 [DEVELOPMENT] [erts-9.0] [source] [smp:2:2] [ds:2:2:10] [async-threads:10] [hipe] [kernel-poll:false] Eshell V9.0 (abort with ^G) 1> {ok, S} = gen_sctp:open(), 1> gen_sctp:connect(S, {127,0,0,1}, 3868, []). {error,eafnosupport} 2> gen_sctp:connect(S, {10,67,16,180}, 3868, []). {error,eafnosupport} | |||
2017-06-11 | Revert "diameter: Do not test SCTP on sparc-sun-solaris2.10" | Anders Svensson | |
The comment in commit 736ce20a isn't quite true. There's no different behaviour that diameter doesn't support, but there is a quirk with the loopback address that has caused many testcases to fail. This will be addressed in a subsequent commit. Reverts commit 736ce20a. | |||
2017-06-11 | Add missing dialyzer types | Anders Svensson | |
Which dialyzer itself has never complained about. | |||
2017-06-11 | Don't send from receiving transport processes | Anders Svensson | |
Both diameter_tcp and diameter_sctp are susceptible to deadlock since a peer that blocks send also prevents additional messages from being received. Send from a process that's paired with the transport process to avoid this. Use the existing monitor process in the TCP case, add one in the SCTP case. This has been the reason for many sporadic testcase failures, mostly in diameter_traffic_SUITE. | |||
2017-06-11 | Fix gen_tcp close of ssl socket | Anders Svensson | |
Should be ssl:close/1. | |||
2017-06-11 | Remove clauses supporting old code | Anders Svensson | |
Since smooth upgrade won't be supported in this branch. | |||
2017-06-11 | Correct comment typo | Anders Svensson | |
2017-06-11 | Fix handling of message length errors | Anders Svensson | |
Message length errors in incoming messages were misinterpreted with transport_opt() {length_errors, exit} due to the throw introduced in commit 2ffb288: the corresponding catch in incoming/2 caught errors thrown by close/1, leading to failure when the error reason was interpreted as a diameter_packet record. Do away with the throw, that also caused woe in the parent commit. | |||
2017-06-11 | Fix broken discard acknowledgement | Anders Svensson | |
A transport process can request acknowledgement of the fate of an incoming message to a specified pid, causing it to receive one of {diameter, {request|answer, pid()} | discard} depending on whether or not diameter passes the message off to a handler process. This was broken in commit a4da06a5 (since recv/3 threw a message that should be received), but is of little consequence since the interface isn't yet documented and is only used from diameter_tcp with configuration that will soon change. | |||
2017-06-11 | Remove trailing whitespace | Anders Svensson | |
From commits 5ca5fb71 and 58091992. | |||
2017-06-10 | dtls: Handle getopts and setopts for DTLS | Ingela Anderton Andin | |
2017-06-09 | kernel: Improve handling of Unicode filenames | Hans Bolinder | |
2017-06-09 | stdlib: Handle Unicode atoms in ms_transform | Hans Bolinder | |
2017-06-09 | stdlib: Improve Unicode handling of the Erlang parser | Hans Bolinder | |
2017-06-09 | stdlib: Handle unknown compiler options with Unicode | Hans Bolinder | |
2017-06-09 | stdlib: Handle Unicode macro names | Hans Bolinder | |
2017-06-09 | stdlib: Correct Unicode handling in escript | Hans Bolinder | |
2017-06-09 | dialyzer: Improve handling of Unicode | Hans Bolinder | |
2017-06-09 | parsetools: Improve handling of Unicode atoms | Hans Bolinder | |
2017-06-09 | stdlib: Handle Unicode atoms when formatting stacktraces | Hans Bolinder | |
2017-06-09 | stdlib: Add more checks of module names to the linter | Hans Bolinder | |
Unicode atoms are handled better by the Erlang code linter. Module names are checked for character codes greater than 255. This means that modules invoked after the linter can assume that module names have only Latin-1 characters. | |||
2017-06-09 | stdlib: Handle Unicode atoms better in io_lib_format | Hans Bolinder | |
The field width calculation did not handle graphem clusters well. | |||
2017-06-09 | stdlib: Handle Unicode atoms in c.erl | Hans Bolinder | |
Pull request 1459 (https://github.com/erlang/otp/pull/1459) points out one situation where Unicode atoms are not handled well in c.erl. This commit tries to fix all situations. | |||
2017-06-08 | Merge branch 'siri/reltool/fix-doc-example' | Siri Hansen | |
* siri/reltool/fix-doc-example: [reltool] Fix outdated example in user's guide | |||
2017-06-07 | Merge branch 'maint' | Raimo Niskanen | |
2017-06-07 | Merge pull request #1482 from grahamrhay/patch-1 | Raimo Niskanen | |
Fix typo | |||
2017-06-07 | Fix unsafe bit syntax matching optimization | Björn Gustavsson | |
As part of sys_core_fold, variables involved in bit syntax matching would be annotated when it would be safe for a later pass to do the delayed sub-binary creation optimization. An implicit assumption regarding the annotation was that the code must not be further optimized. That assumption was broken in 05130e48555891, which introduced a fixpoint iteration (applying the optimizations until there were no more changes). That means that a variable could be annotated as safe for reusing the match context in one iteration, but a later iteration could rewrite the code in a way that would make the optimization unsafe. One way to fix this would be to clear all reuse_for_context annotations before each iteration. But that would be wasteful. Instead I chose to fix the problem by moving out the annotation code to a separate pass (sys_core_bsm) that is run later after all major optimizations of Core Erlang has been done. | |||
2017-06-07 | ssl: Document DTLS | Ingela Anderton Andin | |
2017-06-07 | stdlib: Lookup src path in beam | Dan Gudmundsson | |
find and use source directive when searching for source file | |||
2017-06-07 | Adjust inet:ntoa/1 to RFC5952, but not deeper | Raimo Niskanen | |
There are a multitude of RFC:s that point to each other and some of them suggest different addresses with IPv4 suffixes. Use the IPv4 suffix text representation only for the old well known ::a.b.c.d and ::ffff:a.b.c.d prefixes. The others seems to be moving targets. | |||
2017-06-07 | eldap: Prevent test to fail at end if ssl is not available | Hans Nilsson | |
2017-06-07 | Merge branch 'ingela/inets/ERL-382' | Ingela Anderton Andin | |
* ingela/inets/ERL-382: inets: httpc - Gracefull normal shutdown | |||
2017-06-07 | Merge branch 'ingela/dtls/retransmisssion-timers' | Ingela Anderton Andin | |
* ingela/dtls/retransmisssion-timers: dtls: Fetch next DTLS record when dropping resent handshake data dtls: Use enter actions | |||
2017-06-07 | Merge branch 'lukas/erts/sendfile_sunos_fix/OTP-14424' | Lukas Larsson | |
* lukas/erts/sendfile_sunos_fix/OTP-14424: erts: Fix sendfile closeduring scenario on sunos | |||
2017-06-07 | Merge branch 'dgud/observer/edit-pid-port-ref' | Dan Gudmundsson | |
* dgud/observer/edit-pid-port-ref: observer: Allow edit of pid, port and refs | |||
2017-06-07 | Merge branch 'dgud/fix-unicode-atom' | Dan Gudmundsson | |
* dgud/fix-unicode-atom: mnesia: Print tables with ~ts to support unicode atoms | |||
2017-06-07 | erts: Fix sendfile closeduring scenario on sunos | Lukas Larsson | |
On Solaris, giving a too long sfv_len results in an EINVAL error, but data is still transmitted and len is correctly. So we translate this to a success with that amount of data sent. This may hide some other errors that causes EINVAL, but it is the best we can do for now. | |||
2017-06-07 | dtls: Fetch next DTLS record when dropping resent handshake data | Ingela Anderton Andin | |
2017-06-07 | dtls: Use enter actions | Ingela Anderton Andin | |
Using enter actions for retransmission timers makes the code easier to understand. Previously the retransmission timer was incorrectly started in the connection state. Using enter actions feels like a cleaner approach than bloating the state with more flags. | |||
2017-06-05 | Merge branch 'lukas/erts/20_minor_fixes' | Lukas Larsson | |
* lukas/erts/20_minor_fixes: kernel: Iterate for correct time in os_SUITE:perf_counter | |||
2017-06-05 | Merge branch 'maint' | Lars Thorsen | |
Conflicts: OTP_VERSION erts/vsn.mk |