<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><br><div><div>On Jan 8, 2012, at 11:45 AM, MinRK wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><br><br><div class="gmail_quote">On Sat, Jan 7, 2012 at 23:27, Erik Petigura <span dir="ltr">&lt;<a href="mailto:eptune@gmail.com" target="_blank">eptune@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


Hi, Min.<br>
<div><br>
On Jan 7, 2012, at 4:51 PM, Min RK wrote:<br>
<br>
&gt; It would help a great deal to see your actual code, or better yet a minimal test case to cause the issue.<br>
&gt;<br>
<br>
</div>Here's the code that uses the IPython.parallel module. &nbsp;This typically doesn't crash. &nbsp;When I loop through it ~80 times, I get the too many files error:<br>
<br>
 &nbsp; def fitcandW(t,f,dL,par=False):<br>
 &nbsp; &nbsp; &nbsp; n = len(dL)<br>
 &nbsp; &nbsp; &nbsp; if par:<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; from IPython.parallel import Client<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rc = Client()<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; lview = rc.load_balanced_view()<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; resL = lview.map(fitcand , n*[t] , n*[f] , dL, n*[False] ,block=True)<br>
 &nbsp; &nbsp; &nbsp; else:<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; resL = map(fitcand , n*[t] , n*[f] , dL)<br>
<br>
 &nbsp; &nbsp; &nbsp; return resL<br></blockquote><div><br></div><div>I would recommend taking a view as an argument to your function, rather than reestablishing the connection on every function call, which can be a slow operation:</div>

<div><br></div><div><div>def fitcandW(t,f,dL,view=None):</div><div>&nbsp; &nbsp; n = len(dL)</div><div>&nbsp; &nbsp; if view is not None:</div><div>&nbsp; &nbsp; &nbsp; &nbsp; resL = view.map(fitcand , n*[t] , n*[f] , dL, n*[False], block=True)</div><div>&nbsp; &nbsp; else:</div>

<div>&nbsp; &nbsp; &nbsp; &nbsp; resL = map(fitcand , n*[t] , n*[f] , dL)</div><div><br></div><div>&nbsp; &nbsp; return resL</div></div><div><br></div><div>It would also let you use the same function with various views more easily (load-balanced, direct, engine subsets, etc.).</div>

<div><br></div></div></blockquote><div><br></div><div><br></div><div>Thanks. &nbsp;I'll try that.<div><br></div><div>Erik</div></div><div><br></div><br><blockquote type="cite"><div class="gmail_quote"><div><br></div><div>&nbsp;</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div><br>
<br>
&gt; Is it your client process that is running out of FDs?<br>
&gt;<br>
&gt; Are you perchance creating clients repeatedly? &nbsp;If at all possible, continue to use the same client for the duration of the process. &nbsp;Creating a client opens several socket connections to speak to the cluster, and if they are not properly cleaned up, then your fd count will obviously rise. &nbsp;Deleting a client *should* close all its sockets, but that assumes you have actually cleared all references to it (not always an easy task, especially in an interactive IPython session). &nbsp;Client.close() will explicitly close all of its sockets.<br>



&gt;<br>
<br>
</div>I think this is the issue. &nbsp;I added<br>
<br>
 &nbsp; rc.close()<br>
<br>
and the code ran to completion.<br>
<br>
Thanks!<br>
<span><font color="#888888"><br>
Erik<br>
</font></span><div><div><br>
<br>
&gt; -MinRK<br>
&gt;<br>
&gt; On Jan 7, 2012, at 16:00, Erik Petigura &lt;<a href="mailto:eptune@gmail.com" target="_blank">eptune@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt;&gt; Dear IPython,<br>
&gt;&gt;<br>
&gt;&gt; I've been running code on 8 engines via:<br>
&gt;&gt;<br>
&gt;&gt; &nbsp;ipcluster start --n=8<br>
&gt;&gt;<br>
&gt;&gt; The code ran for a while, but then it died with:<br>
&gt;&gt;<br>
&gt;&gt; &nbsp;ERROR: Internal Python error in the inspect module.<br>
&gt;&gt; &nbsp;Below is the traceback from this internal error.<br>
&gt;&gt; &nbsp;Traceback (most recent call last):<br>
&gt;&gt; &nbsp; &nbsp;File "/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/site-packages/IPython/core/ultratb.py", line 750, in structured_traceback<br>
&gt;&gt; &nbsp; &nbsp;File "/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/site-packages/IPython/core/ultratb.py", line 232, in _fixed_getinnerframes<br>
&gt;&gt; &nbsp; &nbsp;File "/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/inspect.py", line 1041, in getinnerframes<br>
&gt;&gt; &nbsp; &nbsp;File "/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/inspect.py", line 1001, in getframeinfo<br>
&gt;&gt; &nbsp; &nbsp;File "/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/inspect.py", line 456, in getsourcefile<br>
&gt;&gt; &nbsp; &nbsp;File "/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/inspect.py", line 485, in getmodule<br>
&gt;&gt; &nbsp; &nbsp;File "/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/inspect.py", line 469, in getabsfile<br>
&gt;&gt; &nbsp; &nbsp;File "/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/posixpath.py", line 347, in abspath<br>
&gt;&gt; OSError: [Errno 24] Too many open files<br>
&gt;&gt;<br>
&gt;&gt; I increased the limits on the number of open files from 256 to:<br>
&gt;&gt;<br>
&gt;&gt; &nbsp;[537][/Users/petigura]$ launchctl limit maxfiles<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; maxfiles &nbsp; &nbsp;1000000 &nbsp; &nbsp; &nbsp; &nbsp;1000000<br>
&gt;&gt;<br>
&gt;&gt; My code ran longer but died. &nbsp;Is IPython opening a bunch of files when it manages its engines?<br>
&gt;&gt;<br>
&gt;&gt; Thanks in advance for any help.<br>
&gt;&gt;<br>
&gt;&gt; Erik<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; IPython-User mailing list<br>
&gt;&gt; <a href="mailto:IPython-User@scipy.org" target="_blank">IPython-User@scipy.org</a><br>
&gt;&gt; <a href="http://mail.scipy.org/mailman/listinfo/ipython-user" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-user</a><br>
<br>
</div></div></blockquote></div><br>
</blockquote></div><br></div></body></html>