<span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">Montenegro </span><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">Erlang Hackaton was great indeed!</span><div>

<font color="#222222" face="arial, sans-serif"><br></font></div><div><font color="#222222" face="arial, sans-serif">Thank you for your patch Max!<br></font><div><font color="#222222" face="arial, sans-serif"><br></font></div>

<div><font color="#222222" face="arial, sans-serif"><br clear="all"></font><div><div>Best regards,</div><div>Max</div><br></div>
<br><br><div class="gmail_quote">On Thu, Mar 21, 2013 at 10:40 AM, Evgeniy Khramtsov <span dir="ltr"><<a href="mailto:xramtsov@gmail.com" target="_blank">xramtsov@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="HOEnZb"><div class="h5">On <a href="tel:21.03.2013%2016" value="+12103201316" target="_blank">21.03.2013 16</a>:40, Maxim Treskin wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hello<br>
<br>
At Montenegro Erlang Hackaton ( <a href="http://lanyrd.com/2013/herceg-novi-erlang-meetup/" target="_blank">http://lanyrd.com/2013/herceg-<u></u>novi-erlang-meetup/</a> , there were only two people, unfortunately ) we found incorrect behaviour of Dialyzer.<br>


<br>
Our project erroneous had a duplicated modules with the same name, but different content. When we check it with dialyzer it show me something like that:<br>
<br>
Duplicate modules: [["/var/tmp/myproj/apps/<u></u>myproj/ebin/psc_operate.beam",<br>
                     "/var/tmp/myproj/deps/somedep/<u></u>ebin/amp_common_utils.beam"]]<br>
<br>
Obviously it is not the same modules. So I had to search this bug and find strange behaviour in dialyzer. Function lists:zip/2 called with two list, where first is reversed list of modules as atom, and second is list of filepaths for modules. And this list not always contains correspond elements. Module with name some_module1 can be has filename like abc_module55.beam. This is the cause of error.<br>


<br>
This bug exists in R15B02 and R16.<br>
<br>
I wrote such patch to fix bug, but I don't know whether this is solution or not, though it works fine.<br>
<br>
--- /opt/r16a/lib/dialyzer-2.5.4/<u></u>src/dialyzer_analysis_<u></u>callgraph.erl    2013-01-31 12:55:53.210402846 +0700<br>
+++ dialyzer_pa/dialyzer_analysis_<u></u>callgraph.erl 2013-03-21 13:20:46.794991889 +0700<br>
@@ -255,10 +255,18 @@<br>
   CServer2 = dialyzer_codeserver:set_next_<u></u>core_label(NextLabel, CServer),<br>
   case Failed =:= [] of<br>
     true -><br>
-      NewFiles = lists:zip(lists:reverse(<u></u>Modules), Files),<br>
+      %% Modules and Files have not the same order, so it is meaningless to zip it<br>
+      %% NewFiles = lists:zip(lists:reverse(<u></u>Modules), Files),<br>
+<br>
       ModDict =<br>
-        lists:foldl(fun({Mod, F}, Dict) -> dict:append(Mod, F, Dict) end,<br>
-                    dict:new(), NewFiles),<br>
+        lists:foldl(fun(F, Dict) -><br>
+                        ModFile = lists:last(filename:split(F)),<br>
+                        Mod = filename:basename(ModFile, ".beam"),<br>
+                        dict:append(Mod, F, Dict) end,<br>
+                    dict:new(), Files),<br>
+      %% ModDict =<br>
+      %%   lists:foldl(fun({Mod, F}, Dict) -> dict:append(Mod, F, Dict) end,<br>
+      %%               dict:new(), NewFiles),<br>
       check_for_duplicate_modules(<u></u>ModDict);<br>
     false -><br>
       Msg = io_lib:format("Could not scan the following file(s): ~p",<br>
</blockquote>
<br></div></div>
I have the same problem. Thanks for the patch.<span class="HOEnZb"><font color="#888888"><br>
<br>
-- <br>
Regards,<br>
Evgeniy Khramtsov, ProcessOne.<br>
<a href="mailto:xmpp%3Axram@jabber.ru" target="_blank">xmpp:xram@jabber.ru</a>.<br>
<br>
______________________________<u></u>_________________<br>
erlang-bugs mailing list<br>
<a href="mailto:erlang-bugs@erlang.org" target="_blank">erlang-bugs@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-bugs" target="_blank">http://erlang.org/mailman/<u></u>listinfo/erlang-bugs</a><br>
</font></span></blockquote></div><br></div></div>