Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Memory leak

Abierto
#14 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
javascript
Área
web-dev

Línea de trabajo

Empieza reproduciendo el ejemplo del navegador con un archivo de 300MB soltado e inspecciona el ciclo de vida de gzip/gunzip y fileReaderStream mientras monitorizas la memoria y los objetos blob://. Determina si el stream finaliza mientras conserva chunks o URLs de blob; terminado significa que la operación completada ya no conserva esos objetos y que el comportamiento de la memoria está cubierto por una comprobación reproducible.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

This could be my fault because I don't know anything about javascript but it looks like the chunks don't get garbage collected. I got this far:


var drop = require('drag-and-drop-files')
var concat = require('concat-stream')
var fileReaderStream = require('filereader-stream')
var zlib = require('zlib')

drop(document.body, function(files) {
  var first = files[0]
  console.log("start gzip " + first.name);
  gzip = zlib.createGzip({'level':1})
  gunzip = zlib.createGunzip()
  // fileReaderStream(first).pipe(gzip.pipe(gunzip))
  datin = fileReaderStream(first)
  // datin.setEncoding('utf8')
  datin.pipe(gzip)
  gzip.pipe(gunzip)
  gunzip.setEncoding('utf8')
  var count = 0
  gunzip.on('data', function(chunk) { count = count + chunk.length })
  gunzip.on('finish', function() { console.log("done, got " + count + " bytes") })
})

When I drop a 300MB file on the browser, I watch the memory go up and up. When it's done, there's a bunch of blob:// objects like:

blobs

Lenguaje dominante
JavaScript
Estrellas
102
Forks
18
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Aún no hemos revisado los archivos de configuración de este proyecto. Empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de max-mapper/filereader-stream

Todos los issues de max-mapper/filereader-stream

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.