Re: Crash on compile with deprecated functions (18-rc1)
Björn Gustavsson <[email protected]> Mon, 4 May 2015 12:38:03 +0200
| Newsgroups | gmane.comp.lang.erlang.bugs |
|---|---|
| Message-ID | <CA+yh78TxMbTRvVMuLkoo99q_4n8hPVRAvcx2GS6aLc60ZNMgcg@mail.gmail.com> |
On Sat, May 2, 2015 at 5:11 PM, Loïc Hoguin <[email protected]> wrote: > Hello, > > Some of my applications don't compile anymore because they have the > ssl:negotiated_next_protocol instead of negotiated_protocol. > > Problem is there is a crash instead of a nice error: > > src/gun.erl: internal error in lint_module; > crash reason: {case_clause,{deprecated,{ssl,negotiated_protocol}}} This bug was introduced in https://github.com/erlang/otp/commit/7cf85926 > in function otp_internal:obsolete/3 (otp_internal.erl, line 33) > in call from erl_lint:deprecated_function/5 (erl_lint.erl, line 3551) > in call from erl_lint:check_remote_function/5 (erl_lint.erl, line 3527) > in call from erl_lint:expr/3 (erl_lint.erl, line 2166) > in call from erl_lint:expr/3 (erl_lint.erl, line 2111) > in call from erl_lint:expr/3 (erl_lint.erl, line 2250) > in call from erl_lint:exprs/3 (erl_lint.erl, line 2044) > in call from erl_lint:icrt_clause/3 (erl_lint.erl, line 3029) > > When I sent the PR I just copied the code around this clause so I'm pretty > sure this crash will happen on many more functions. Not sure what action to > take about it. No. All other functions are fine. They specify a replacement function as a complete {M,F,A} tuple. You left out the arity. The correction is here: https://github.com/erlang/otp/commit/85dbd5ff There is a test suite that can find similar bugs automatically. It is run like this: ts:run(system, otp_SUITE, [batch]). /Björn -- Björn Gustavsson, Erlang/OTP, Ericsson AB _______________________________________________ erlang-bugs mailing list [email protected] http://erlang.org/mailman/listinfo/erlang-bugs