<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
I've finally manage to pop my stack to this issue.<br>
<br>
I can confirm that your example does trigger an dialyzer error on
17.5 .. though that is not the case on current master. I believe
other fixes in format has remedied this problem on master.<br>
<br>
If you have the possibility, recheck your codebase with dialyzer
using current master or 18.0-rc1 and see if any other problems
persist.<br>
<br>
// Björn-Egil<br>
<br>
<div class="moz-cite-prefix">On 04/23/2015 12:46 PM, Ali Sabil
wrote:<br>
</div>
<blockquote
cite="mid:CAFXsykgspFtWmMudfw0AwyWq-DHFRfNb79uFDMRBcJcUad8wQw@mail.gmail.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<div dir="ltr"><font><font>Any update regarding this?</font></font><br>
<br>
<div dir="ltr">
<div class="gmail_quote"><font><font>On Thu, Apr 9, 2015 at
5:21 PM Ali Sabil <</font></font><a
moz-do-not-send="true" href="mailto:ali.sabil@gmail.com"
target="_blank"><font><font>ali.sabil@gmail.com</font></font></a><font><font>>
wrote:</font></font><br>
</div>
</div>
<div dir="ltr">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<div><font><font><font><font class="">Sorry for the late
reply, I finally managed to get a minimal test
case that reproduces the bug in 17.5:</font></font></font></font></div>
<div><br>
</div>
<div><font><font><font><font>-module(sum).</font></font></font></font></div>
<div><font><font><font><font>-export([</font></font></font></font></div>
<div><span style="white-space:pre-wrap"> </span><font><font><font><font>test/1</font></font></font></font></div>
<div><font><font><font><font>]).</font></font></font></font></div>
<div><br>
</div>
<div><font><font><font><font>-spec test(#{atom() =>
term()}) -> integer().</font></font></font></font></div>
<div><font><font><font><font>test(Data) -></font></font></font></font></div>
<div><span style="white-space:pre-wrap"> </span><font><font><font><font>maps:fold(fun</font></font></font></font></div>
<div><span style="white-space:pre-wrap"> </span><font><font><font><font>(_Key,
Value, Acc) when is_integer(Value) -></font></font></font></font></div>
<div><span style="white-space:pre-wrap"> </span><font><font><font><font>Acc
+ Value;</font></font></font></font></div>
<div><span style="white-space:pre-wrap"> </span><font><font><font><font>(_Key,
_Value, Acc) -></font></font></font></font></div>
<div><span style="white-space:pre-wrap"> </span><font><font><font><font>Acc</font></font></font></font></div>
<div><span style="white-space:pre-wrap"> </span><font><font><font><font>end,
0, Data).</font></font></font></font></div>
<div><br>
</div>
<div><br>
</div>
<div><font><font><font><font>I don't know if this is the
correct fix, but this makes dialyzer work
again:</font></font></font></font></div>
<div><br>
</div>
<div>
<div><font><font><font><font>diff --git
a/lib/hipe/cerl/erl_types.erl
b/lib/hipe/cerl/erl_types.erl</font></font></font></font></div>
<div><font><font><font><font>index 4215448..bb4c1c1
100644</font></font></font></font></div>
<div><font><font><font><font>---
a/lib/hipe/cerl/erl_types.erl</font></font></font></font></div>
<div><font><font><font><font>+++
b/lib/hipe/cerl/erl_types.erl</font></font></font></font></div>
<div><font><font><font><font>@@ -4594,6 +4594,8 @@
t_form_to_string({type, _L, list, [Type]})
-></font></font></font></font></div>
<div><font><font><font><font> "[" ++
t_form_to_string(Type) ++ "]";</font></font></font></font></div>
<div><font><font><font><font> t_form_to_string({type,
_L, map, Args}) when not is_list(Args) -></font></font></font></font></div>
<div><font><font><font><font> "#{}";</font></font></font></font></div>
<div><font><font><font><font>+t_form_to_string({type,
_L, map_field_assoc, Key, Value}) -></font></font></font></font></div>
<div><font><font><font><font>+ "#{" ++
t_form_to_string(Key) ++ "=>" ++
t_form_to_string(Value) ++ "}";</font></font></font></font></div>
<div><font><font><font><font> t_form_to_string({type,
_L, mfa, []}) -> "mfa()";</font></font></font></font></div>
<div><font><font><font><font> t_form_to_string({type,
_L, module, []}) -> "module()";</font></font></font></font></div>
<div><font><font><font><font> t_form_to_string({type,
_L, node, []}) -> "node()";</font></font></font></font></div>
</div>
<div><br>
</div>
<div><font><font><font><font>Thanks,</font></font></font></font></div>
</div>
</blockquote>
</div>
</div>
<div dir="ltr">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<div><font><font>Are</font></font></div>
</div>
<br>
</blockquote>
</div>
</div>
<div dir="ltr">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="gmail_quote"><font><font><font><font>On Tue,
Apr 7, 2015 at 2:31 PM Björn-Egil Dahlberg <</font></font></font></font><a
moz-do-not-send="true"
href="mailto:wallentin.dahlberg@gmail.com"
target="_blank"><font><font><font><font>wallentin.dahlberg@gmail.com</font></font></font></font></a><font><font><font><font>>
wrote:</font></font></font></font><br>
</div>
</blockquote>
</div>
</div>
<div dir="ltr">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><font><font><font><font>Again - could
you provide me with a sample code .. or at
least some sort of a clue to what you are
dialyzing?</font></font></font></font></div>
<div class="gmail_extra"><br>
</div>
<div class="gmail_extra">
<div class="gmail_quote"><font><font><font><font>2015-04-07
14:05 GMT+02:00 Ali Sabil </font></font></font></font><span
dir="ltr"><font><font><font><font><</font></font></font></font><a
moz-do-not-send="true"
href="mailto:ali.sabil@gmail.com"
target="_blank"><font><font><font><font>ali.sabil@gmail.com</font></font></font></font></a><font><font><font><font>></font></font></font></font></span><font><font><font><font>:</font></font></font></font><br>
</div>
</div>
</blockquote>
</div>
</blockquote>
</div>
</div>
<div dir="ltr">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="gmail_extra">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0
0 .8ex;border-left:1px #ccc
solid;padding-left:1ex">
<div dir="ltr"><font><font><font><font>Hi again,</font></font></font><font><font><font>Running
dialyzer shipped with 17.5 on the same
code base leads now to the following
error (17.4 works without any errors):</font></font></font></font></div>
</blockquote>
</div>
</div>
</blockquote>
</div>
</blockquote>
</div>
</div>
<div dir="ltr">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="gmail_extra">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0
0 .8ex;border-left:1px #ccc
solid;padding-left:1ex">
<div dir="ltr"><br>
<br>
<div><br>
</div>
<div>
<div><font><font><font><font>===> Error
in dialyzing apps: Analysis failed
with error:</font></font></font></font></div>
<div><font><font><font><font>{function_clause,[{erl_types,t</font></font></font></font><font><font><font><font>_form_to_string,</font></font></font></font></div>
<div><font><font><font><font>
[{type,36,map_field_assoc,</font></font></font></font></div>
<div><font><font><font><font>
{type,36,atom,[]},</font></font></font></font></div>
<div><font><font><font><font>
{type,36,term,[]}}],</font></font></font></font></div>
<div><font><font><font><font>
[{file,"erl_types.erl"},{line</font></font></font></font><font><font><font><font>,4546}]},</font></font></font></font></div>
<div><font><font><font><font>
{erl_types,t_form_to_string_li</font></font></font></font><font><font><font><font>st,2,</font></font></font></font></div>
<div><font><font><font><font>
[{file,"erl_types.erl"},{line</font></font></font></font><font><font><font><font>,4637}]},</font></font></font></font></div>
<div><font><font><font><font>
{erl_types,t_form_to_string,1,</font></font></font></font></div>
<div><font><font><font><font>
[{file,"erl_types.erl"},{line</font></font></font></font><font><font><font><font>,4634}]},</font></font></font></font></div>
<div><font><font><font><font>
{erl_types,t_form_to_string_li</font></font></font></font><font><font><font><font>st,2,</font></font></font></font></div>
<div><font><font><font><font>
[{file,"erl_types.erl"},{line</font></font></font></font><font><font><font><font>,4637}]},</font></font></font></font></div>
<div><font><font><font><font>
{erl_types,t_form_to_string,1,</font></font></font></font></div>
<div><font><font><font><font>
[{file,"erl_types.erl"},{line</font></font></font></font><font><font><font><font>,4634}]},</font></font></font></font></div>
<div><font><font><font><font>
{dialyzer_contracts,contract_t</font></font></font></font><font><font><font><font>o_string_1,1,</font></font></font></font></div>
<div><font><font><font><font>
[{file,"dialyzer_contracts.erl</font></font></font></font><font><font><font><font>"},</font></font></font></font></div>
<div><font><font><font><font>
{line,107}]},</font></font></font></font></div>
<div><font><font><font><font>
{dialyzer_contracts,extra_cont</font></font></font></font><font><font><font><font>ract_warning,6,</font></font></font></font></div>
<div><font><font><font><font>
[{file,"dialyzer_contracts.erl</font></font></font></font><font><font><font><font>"},</font></font></font></font></div>
<div><font><font><font><font>
{line,712}]},</font></font></font></font></div>
<div><font><font><font><font>
{dialyzer_contracts,picky_cont</font></font></font></font><font><font><font><font>ract_check,7,</font></font></font></font></div>
<div><font><font><font><font>
[{file,"dialyzer_contracts.erl</font></font></font></font><font><font><font><font>"},</font></font></font></font></div>
<div><font><font><font><font>
{line,686}]}]}</font></font></font></font></div>
<span>
<div><font><font><font><font>Last messages
in the log cache:</font></font></font></font></div>
</span>
<div><font><font><font><font> Reading files
and computing callgraph... done in
1.21 secs</font></font></font></font></div>
<div><font><font><font><font> Removing
edges... done in 0.04 secs</font></font></font></font></div>
</div>
<div><br>
</div>
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
</blockquote>
</div>
</div>
<div dir="ltr">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="gmail_extra">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0
0 .8ex;border-left:1px #ccc
solid;padding-left:1ex">
<div>
<div><br>
<div class="gmail_quote"><font><font><font><font>On
Wed, Mar 18, 2015 at 12:12 PM
Björn-Egil Dahlberg <</font></font></font></font><a
moz-do-not-send="true"
href="mailto:egil@erlang.org"
target="_blank"><font><font><font><font>egil@erlang.org</font></font></font></font></a><font><font><font><font>>
wrote:</font></font></font></font><br>
<blockquote class="gmail_quote"
style="margin:0 0 0 .8ex;border-left:1px
#ccc solid;padding-left:1ex"><font><font><font><font>On
2015-03-18 12:01, Ali Sabil
wrote:</font></font></font></font><br>
<font><font><font><font>
> I tried to create a minimal
testcase but I unfortunately
haven't been</font></font></font></font><br>
<font><font><font><font>
> able to. I was running
dialyzer on a quite large code
base and now</font></font></font></font><br>
<font><font><font><font>
> even the unpatched dialyzer
works without any issue after I
fixed all</font></font></font></font><br>
<font><font><font><font>
> the issues reported by
dialyzer.</font></font></font><font><font><font>
Ah, well .. I suspect it was the
missing clause in find_terminals
and I</font></font></font><font><font><font>
had it on a TODO somewhere.
Should be included to 17.5.</font></font></font><font><font><font>
// Björn-Egil</font></font></font></font><br>
<br>
<br>
<br>
<br>
<br>
</blockquote>
</div>
</div>
</div>
<br>
</blockquote>
</div>
</div>
</blockquote>
</div>
</blockquote>
</div>
</div>
<div dir="ltr">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="gmail_extra">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0
0 .8ex;border-left:1px #ccc
solid;padding-left:1ex"><font><font>______________________________</font></font><font><font>_________________</font></font><br>
<font><font>
erlang-questions mailing list</font><a
moz-do-not-send="true"
href="mailto:erlang-questions@erlang.org"
target="_blank"><font>erlang-questions@erlang.org</font></a><a
moz-do-not-send="true"
href="http://erlang.org/mailman/listinfo/erlang-questions"
target="_blank"><font>http://erlang.org/mailman/list</font></a><a
moz-do-not-send="true"
href="http://erlang.org/mailman/listinfo/erlang-questions"
target="_blank"><font>info/erlang-questions</font></a></font><br>
<br>
<br>
<br>
</blockquote>
</div>
</div>
</blockquote>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
<br>
</body>
</html>