title: ValueError invalid literal error with Python Multiprocessing Pool
body: <p>I have a function that i'm trying to run in parallel. The function is of the form</p>
  
  <pre><code>def parallelFunc(curUser):
      if curUser in neighbors.getUsers(): #neighbors is a global object of a class
          userData = createData.createData(inpMat1,inpMat2,inpMat3, neighbors.getNeighbors(curUser) )
  
      #inpMatX are numpy arrays/scipy sparse arrays/lists with global scope
  
          return userData # tried returning a double value too, get the same error
  
      else:
          return 0
  
  
  
  pp = Pool(4) # tried with different values
  ret = pp.map(parallelFunc, userList)
  </code></pre>
  
  <p>When I try running this, I get the following error</p>
  
  <pre><code>ValueError: invalud literal for float(): 1.235443508738e
  </code></pre>
  
  <p>The error is in multiprocessing/pool.pyc . I'm doing this in an IPython notebook. Any ideas as to why this would happen? </p>
  
  <p>Stack Trace : </p>
  
  <hr>
  
  <pre><code>ValueError                                Traceback (most recent call last)
  &lt;ipython-input-99-2731048b72e2&gt; in &lt;module&gt;()
        3 
        4 #st = time.time()
  ----&gt; 5 ret = pp.map(parallelFunc, userList)
        6 #ft = time.time()
        7 
  
  /opt/Anaconda/lib/python2.7/multiprocessing/pool.pyc in map(self, func, iterable, chunksize)
      249         '''
      250         assert self._state == RUN
  --&gt; 251         return self.map_async(func, iterable, chunksize).get()
      252 
      253     def imap(self, func, iterable, chunksize=1):
  
  /opt/Anaconda/lib/python2.7/multiprocessing/pool.pyc in get(self, timeout)
      565             return self._value
      566         else:
  --&gt; 567             raise self._value
      568 
      569     def _set(self, i, obj):
  
  ValueError: invalid literal for float(): 1.34716296703.978260894942e+06
  </code></pre>