<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div style="color: rgb(0, 0, 0); font-family: Calibri, sans-serif; font-size: 14px;">If you don't want to wait for the fork.pm maintainer to alter his code and submit an update to CPAN, you should be able to suppress the warning by manually editing forks.pm line 1736 yourself.</div><div style="color: rgb(0, 0, 0); font-family: Calibri, sans-serif; font-size: 14px;"><br></div><div style="color: rgb(0, 0, 0); font-family: Calibri, sans-serif; font-size: 14px;">Change it from this --></div><div><font face="Courier">$write = each %WRITE;</font></div><div style="color: rgb(0, 0, 0); font-family: Calibri, sans-serif; font-size: 14px;"><br></div><div style="color: rgb(0, 0, 0); font-family: Calibri, sans-serif; font-size: 14px;">To this (make sure to include the {} brackets)--></div><div style="color: rgb(0, 0, 0); font-size: 14px;"><font face="Courier">{</font></div><div><font face="Courier">     no warnings qw(internal);</font></div><div><font face="Courier">     $write = each %WRITE;</font></div><div><font face="Courier">}</font></div><div><font face="Calibri,sans-serif"><br></font></div><div><font face="Calibri,sans-serif"><br></font></div><div><font face="Calibri,sans-serif">The issue is because the modules author has his code calling 'each', altering the hash, and then calling 'each' again which causes a warning in perl 5.18+.  In this case it's relatively innocuous because of how the value and 'each' function are being used (any hash reordering ends up being handled in an outer while loop).</font></div><div style="color: rgb(0, 0, 0); font-family: Calibri, sans-serif; font-size: 14px;"><br></div><div style="color: rgb(0, 0, 0); font-family: Calibri, sans-serif; font-size: 14px;">Thanks,</div><div style="color: rgb(0, 0, 0); font-family: Calibri, sans-serif; font-size: 14px;">Carson</div><div style="color: rgb(0, 0, 0); font-family: Calibri, sans-serif; font-size: 14px;"><br></div><div style="color: rgb(0, 0, 0); font-family: Calibri, sans-serif; font-size: 14px;"><br></div><span id="OLK_SRC_BODY_SECTION" style="color: rgb(0, 0, 0); font-family: Calibri, sans-serif; font-size: 14px;"><div style="font-family:Calibri; font-size:11pt; text-align:left; color:black; BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt"><span style="font-weight:bold">From: </span> Carson Holt <<a href="mailto:carsonhh@gmail.com">carsonhh@gmail.com</a>><br><span style="font-weight:bold">Date: </span> Saturday, April 26, 2014 at 10:06 PM<br><span style="font-weight:bold">To: </span> "Fields, Christopher J" <<a href="mailto:cjfields@illinois.edu">cjfields@illinois.edu</a>><br><span style="font-weight:bold">Cc: </span> Matthew MacManes <<a href="mailto:matthew.macmanes@unh.edu">matthew.macmanes@unh.edu</a>>, "<a href="mailto:maker-devel@yandell-lab.org">maker-devel@yandell-lab.org</a>" <<a href="mailto:maker-devel@yandell-lab.org">maker-devel@yandell-lab.org</a>><br><span style="font-weight:bold">Subject: </span> Re: [maker-devel] Use of each() on hash<br></div><div><br></div><div><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;"><div>Yah, I had already seen that ticket.  It's related to changing the function from a while loop to a foreach loop just to suppress the warning.  Not sure why the forks.pm maintainer hasn't looked at it, but I imagine he will probably just do something more like --> no warnings qw(each); or whatever would suppress that warning without altering anything else in the code.</div><div><br></div><div>I wouldn't say 5.18 is a development release.  What  said is that it's not good for 'production'.  The problem is that most system still use 5.10 and 5.12, with a very few only recently moving to 5.16 (amazon's EC2 images for example).  So you will find that issues with even very popular CPAN modules (as we see here) will be more common in something like 5.18.X.  Not because 5.18 is flawed, or buggy, but because it's not yet used enough to flush out all the secondary issues it can cause elsewhere in wider world of perl.</div><div><br></div><div>Thanks,</div><div>Carson</div><div><br></div><div><br></div><span id="OLK_SRC_BODY_SECTION"><div style="font-family:Calibri; font-size:11pt; text-align:left; color:black; BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt"><span style="font-weight:bold">From: </span> "Fields, Christopher J" <<a href="mailto:cjfields@illinois.edu">cjfields@illinois.edu</a>><br><span style="font-weight:bold">Date: </span> Saturday, April 26, 2014 at 9:34 PM<br><span style="font-weight:bold">To: </span> Carson Holt <<a href="mailto:carsonhh@gmail.com">carsonhh@gmail.com</a>><br><span style="font-weight:bold">Cc: </span> Matthew MacManes <<a href="mailto:matthew.macmanes@unh.edu">matthew.macmanes@unh.edu</a>>, "<a href="mailto:maker-devel@yandell-lab.org">maker-devel@yandell-lab.org</a>" <<a href="mailto:maker-devel@yandell-lab.org">maker-devel@yandell-lab.org</a>><br><span style="font-weight:bold">Subject: </span> Re: [maker-devel] Use of each() on hash<br></div><div><br></div><div><meta http-equiv="Content-Type" content="text/html; charset=Windows-1252"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">
See this RT ticket:
<div><br></div><div>    <a href="https://rt.cpan.org/Public/Bug/Display.html?id=86910">https://rt.cpan.org/Public/Bug/Display.html?id=86910</a></div><div><br></div><div>The specific warning in question is there for a good reason, Reini Urban wrote about it recently and why it is bad:</div><div><br></div><div>    <a href="http://blogs.perl.org/users/rurban/2014/04/do-not-use-each.html">
http://blogs.perl.org/users/rurban/2014/04/do-not-use-each.html</a> </div><div><br></div><div>There is a possible 2-line fix, mainly changing a while loop to a for loop, but the bug (originally reported in summer 2013) is still unfortunately open.</div><div><br></div><div>Just a note, I don’t agree that perl 5.18.2 is a development release.  Even numbered minor releases (5.10, 5.12…) are considered stable/production, odd numbered ones (5.19) are developer.  I do agree that initial .0 ‘patch’ releases (e.g. 5.18.0) are generally
 to be avoided, but I always try to use a more recent version of perl when possible.  This version is two releases past the .0, and perl 5.20 (next stable) is due next month.  </div><div><br></div><div>chris</div><div><br><div><div>On Apr 26, 2014, at 10:26 AM, Carson Holt <<a href="mailto:carsonhh@gmail.com">carsonhh@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="auto"><div>The message appears to be coming from forks.pm.  Probably a warning added to perl 5.18.2 which is really really new (other versions don't care about this), and most developers would not consider 5.18 a fully stable release for production purposes (it will
 have lots of test features and messages that will get improved or dropped rather quickly).  You can try updating the forks module from CPAN.  Otherwise I would ignore it, as forks is sufficiently tested to know it works (it's not a MAKER module, it a widely
 used CPAN module - literally tens of thousands of scripts use it worldwide).  The authors of forks.pm will take steps to silence the warning rather quickly, or the warning will be removed from the perl interpreter altogether.</div><div><br></div><div>Thanks,</div><div>Carson<br><br>
Sent from my iPhone</div><div><br>
On Apr 26, 2014, at 8:56 AM, Matthew MacManes <<a href="mailto:matthew.macmanes@unh.edu">matthew.macmanes@unh.edu</a>> wrote:<br><br></div><blockquote type="cite"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">
Hello, </div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">
I am getting a large number of errors, while running maker on my ubuntu server.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small"><br></div><div class="gmail_default" style=""><font face="arial,helvetica,sans-serif">Use of each() on hash after insertion without resetting hash iterator results in undefined behavior, Perl interpreter: 0x2045200 at /usr/local/lib/perl/5.18.2/<a href="http://forks.pm/">forks.pm</a>
 line 1736</font><span style="font-family: arial, helvetica, sans-serif;">.</span></div><div class="gmail_default" style=""><font face="arial,helvetica,sans-serif">Use of each() on hash after insertion without resetting hash iterator results in undefined behavior, Perl interpreter: 0x837200 at /usr/local/lib/perl/5.18.2/<a href="http://forks.pm/">forks.pm</a>
 line 1736.</font><br></div><div class="gmail_default" style=""><font face="arial,helvetica,sans-serif">Use of each() on hash after insertion without resetting hash iterator results in undefined behavior, Perl interpreter: 0x9d1200 at /usr/local/lib/perl/5.18.2/<a href="http://forks.pm/">forks.pm</a>
 line 1736.<br></font></div><div class="gmail_default" style=""><font face="arial,helvetica,sans-serif"><br></font></div><div class="gmail_default" style=""><font face="arial,helvetica,sans-serif">It is unclear how this effects the results or performance of the software, but these errors are repeated thousands of times in even a small run. </font></div><div class="gmail_default" style=""><font face="arial,helvetica,sans-serif"><br></font></div><div class="gmail_default" style=""><font face="arial,helvetica,sans-serif">For the record, Maker 2.31, Ubuntu 14.04, perl 5.18.2, MPI via OpenMPI</font></div><div class="gmail_default" style=""><font face="arial,helvetica,sans-serif"><br></font></div><div class="gmail_default" style=""><font face="arial,helvetica,sans-serif">Compiled perl modules using ./build </font></div><div class="gmail_default" style=""><font face="arial,helvetica,sans-serif"><br></font></div><div class="gmail_default" style=""><font face="arial,helvetica,sans-serif">Thanks for any insight anyone may have. </font></div><div class="gmail_default" style=""><font face="arial,helvetica,sans-serif"><br></font></div><div><div dir="ltr"><div style="font-family:Helvetica;word-wrap:break-word"><span style="border-collapse:separate;text-align:-webkit-auto"><div style="font-size:12px"><font color="#929292">__________________________________</font></div><b>Matthew MacManes</b>, Ph.D. <br>
University of New Hampshire  <font color="#929292">I  Assistant Professor</font><br>
Department of Molecular, Cellular, & Biomedical Sciences<br>
Durham, NH  03824<br><font color="#929292">Phone: </font>603-862-4052  <font color="#929292">I  Twitter: </font><a href="https://twitter.com/PeroMHC" target="_blank">@PeroMHC</a><br></span><font><font color="#929292">Web: </font><a href="http://genomebio.org/" target="_blank">genomebio.org</a></font></div><div style="font-family:Helvetica;word-wrap:break-word"><font><font color="#929292">Office</font><font color="#7a7a7a">:</font> 189 Rudman Hall </font><span style="color:rgb(146,146,146);font-size:small">I Lab: </span><span style="font-size:small">145 Rudman
 Hall</span></div></div></div></div></blockquote><blockquote type="cite"><span>_______________________________________________</span><br><span>maker-devel mailing list</span><br><span><a href="mailto:maker-devel@box290.bluehost.com">maker-devel@box290.bluehost.com</a></span><br><span><a href="http://box290.bluehost.com/mailman/listinfo/maker-devel_yandell-lab.org">http://box290.bluehost.com/mailman/listinfo/maker-devel_yandell-lab.org</a></span><br></blockquote></div>
_______________________________________________<br>
maker-devel mailing list<br><a href="mailto:maker-devel@box290.bluehost.com">maker-devel@box290.bluehost.com</a><br><a href="http://box290.bluehost.com/mailman/listinfo/maker-devel_yandell-lab.org">http://box290.bluehost.com/mailman/listinfo/maker-devel_yandell-lab.org</a><br></blockquote></div><br></div></div></div></span></div></div></span></body></html>