title: Node csv-parse halting after 16 rows
body: <p>I'm experiencing very weird behavior running csv-parse in the following setup:
  csv - ^1.1.0
  stream-transform - ^0.1.1
  node - v4.6.0</p>
  
  <p>And running the following code to transform CSVs into an array of objects:</p>
  
  <pre><code>var parse = require('csv').parse
  var fs = require('fs')
  var streamtransform = require('stream-transform')
  
  function mapCsvRow(headers, record) {
    return record.reduce((p, c, i) =&gt; {
      p[headers[i]] = c //eslint-disable-line
      return p
    }, {})
  }
  
  function parseFile(path) {
    var headers
    var output = []
    var parser = parse({ delimiter: ',' })
    var input = fs.createReadStream(path)
  
    var transformer = streamtransform((record) =&gt; {
      if (!headers) {
        headers = record
        return record
      }
  
      output.push(mapCsvRow(headers, record))
      return record
    })
  
    // Return a new promise to wrap the parsing stream
    return new Promise((resolve, reject) =&gt; {
      input
        .pipe(parser)
        .pipe(transformer)
        .on('error', e =&gt; reject(e))
        .on('finish', () =&gt; resolve(output))
    })
  }
  
  module.exports = parseFile
  </code></pre>
  
  <p>module.exports = parseFile
  What happens is that the parser halts on processing files larger than 16 records. No error, no finish, no nothing.</p>
  
  <p>I have no idea how to debug this, I couldn't get any input from the parser when that happens.</p>