<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>