chai2010 / webp

WebP decoder and encoder for Go (Zero Dependencies).
http://godoc.org/github.com/chai2010/webp
BSD 3-Clause "New" or "Revised" License
512 stars 89 forks source link

memory leak problem #28

Open nextonr opened 4 years ago

nextonr commented 4 years ago

I am using Go v1.13.6, here is my sample code: I was trying to convert a webp file into jpeg file, when I use 10000+ webp files to test program stability, the momery keeps rising...... image

chai2010 commented 4 years ago
package main

import (
    "bytes"
    "fmt"
    "io/ioutil"
    "log"
    "time"

    "github.com/chai2010/webp"
)

var buf bytes.Buffer
var width, height int
var data []byte
var err error

func main() {
    if data, err = ioutil.ReadFile("testdata/1_webp_a.webp"); err != nil {
        log.Println(err)
    }
    m, err := webp.Decode(bytes.NewReader(data))
    if err != nil {
        log.Println(err)
    }

    for i := 0; true; i++ {
        time.Sleep(time.Second / 10)

        if err = webp.Encode(&buf, m, &webp.Options{Lossless: true}); err != nil {
            log.Println(err)
        }

        fmt.Println("Save output.webp ok", i)
    }
}
nextonr commented 4 years ago

等待100毫秒依然一泻千里……

sotex commented 4 years ago

@nextonr

image

jpegFile not Close.

nextonr commented 4 years ago

@nextonr

image

jpegFile not Close.

作者那个呢

guangbaowan commented 4 years ago

我这边也存在这个问题。。。。

guangbaowan commented 4 years ago

应该是google 那个库有内存泄漏。。。。

guangbaowan commented 4 years ago

image

nextonr commented 4 years ago

我这边也存在这个问题。。。。

这个webp库是作者自己写的,跟google没关系,他是用的cgo调的libwebp的源码,可能cgo机制哪个地方存在问题

xiaoshengaimm commented 4 months ago

image

同样遇到在webp.webpDecodeRGBA时 内存泄漏了 你是怎么解决的??

how you solve it????