Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

converting some gif to webp will cause the program to crash #6

Open
WankkoRee opened this issue Jul 13, 2023 · 3 comments
Open

converting some gif to webp will cause the program to crash #6

WankkoRee opened this issue Jul 13, 2023 · 3 comments

Comments

@WankkoRee
Copy link

just use example code to do it and it will crash at webpanim.AddFrame(img, timeline, webpConfig).

test gif:

animation

4bb2ae60f9cfa8964fa1b28c5beffbaf

@WankkoRee
Copy link
Author

Exception 0xc0000005 0x0 0xc00102e000 0x7ff7a2b43700
PC=0x7ff7a2b43700
signal arrived during external code execution

runtime.cgocall(0x7ff7a2b1eb50, 0xc000095da0)
        D:/g/go/src/runtime/cgocall.go:157 +0x4a fp=0xc000095d78 sp=0xc000095d40 pc=0x7ff7a2a73d8a
github.com/sizeofint/webpanimation._Cfunc_WebPPictureImportRGBA(0xc000091100, 0xc000fa6000, 0x870)
        _cgo_gotypes.go:416 +0x56 fp=0xc000095da0 sp=0xc000095d78 pc=0x7ff7a2b17af6
github.com/sizeofint/webpanimation.WebPPictureImportRGBA.func1(0x80?, {0xc000fa6000, 0x11?, 0x7ff7a2bc14a0?}, 0x870)
        C:/Users/wkr/go/pkg/mod/github.com/sizeofint/webpanimation@v0.0.0-20210809145948-1d2b32119882/capi.go:303 +0x68 fp=0xc000095dd8 sp=0xc000095da0 pc=0x7ff7a2b18268
github.com/sizeofint/webpanimation.WebPPictureImportRGBA({0xc000fa6000?, 0x20?, 0x0?}, 0x0?, 0x7ff7a2bb5620?)
        C:/Users/wkr/go/pkg/mod/github.com/sizeofint/webpanimation@v0.0.0-20210809145948-1d2b32119882/capi.go:303 +0x39 fp=0xc000095e10 sp=0xc000095dd8 pc=0x7ff7a2b18159
github.com/sizeofint/webpanimation.(*WebpAnimation).AddFrame(0xc00006c0a0, {0x7ff7a2be9568?, 0xc00006a6c0?}, 0xc000057f18?, {0x7ff7a2bea318, 0xc00000a008})
        C:/Users/wkr/go/pkg/mod/github.com/sizeofint/webpanimation@v0.0.0-20210809145948-1d2b32119882/webpanimation.go:61 +0x248 fp=0xc000095ec8 sp=0xc000095e10 pc=0x7ff7a2b16a08
main.main()
        C:/Users/wkr/Desktop/awesomeProject/main.go:34 +0x237 fp=0xc000095f80 sp=0xc000095ec8 pc=0x7ff7a2b1e697
runtime.main()
        D:/g/go/src/runtime/proc.go:250 +0x1f7 fp=0xc000095fe0 sp=0xc000095f80 pc=0x7ff7a2aa7737
runtime.goexit()
        D:/g/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000095fe8 sp=0xc000095fe0 pc=0x7ff7a2acfc01

goroutine 2 [force gc (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        D:/g/go/src/runtime/proc.go:381 +0xd6 fp=0xc000053fb0 sp=0xc000053f90 pc=0x7ff7a2aa7b56
runtime.goparkunlock(...)
        D:/g/go/src/runtime/proc.go:387
runtime.forcegchelper()
        D:/g/go/src/runtime/proc.go:305 +0xb2 fp=0xc000053fe0 sp=0xc000053fb0 pc=0x7ff7a2aa7972
runtime.goexit()
        D:/g/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000053fe8 sp=0xc000053fe0 pc=0x7ff7a2acfc01
created by runtime.init.6
        D:/g/go/src/runtime/proc.go:293 +0x25

goroutine 3 [GC sweep wait]:
runtime.gopark(0x1?, 0x0?, 0x0?, 0x0?, 0x0?)
        D:/g/go/src/runtime/proc.go:381 +0xd6 fp=0xc000055f80 sp=0xc000055f60 pc=0x7ff7a2aa7b56
runtime.goparkunlock(...)
        D:/g/go/src/runtime/proc.go:387
runtime.bgsweep(0x0?)
        D:/g/go/src/runtime/mgcsweep.go:319 +0xde fp=0xc000055fc8 sp=0xc000055f80 pc=0x7ff7a2a9279e
runtime.gcenable.func1()
        D:/g/go/src/runtime/mgc.go:178 +0x26 fp=0xc000055fe0 sp=0xc000055fc8 pc=0x7ff7a2a87b66
runtime.goexit()
        D:/g/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000055fe8 sp=0xc000055fe0 pc=0x7ff7a2acfc01
created by runtime.gcenable
        D:/g/go/src/runtime/mgc.go:178 +0x6b

goroutine 4 [GC scavenge wait]:
runtime.gopark(0xc00001a1c0?, 0x7ff7a2be7b88?, 0x0?, 0x0?, 0x0?)
        D:/g/go/src/runtime/proc.go:381 +0xd6 fp=0xc000065f70 sp=0xc000065f50 pc=0x7ff7a2aa7b56
runtime.goparkunlock(...)
        D:/g/go/src/runtime/proc.go:387
runtime.(*scavengerState).park(0x7ff7a2c78120)
        D:/g/go/src/runtime/mgcscavenge.go:400 +0x53 fp=0xc000065fa0 sp=0xc000065f70 pc=0x7ff7a2a90653
runtime.bgscavenge(0x0?)
        D:/g/go/src/runtime/mgcscavenge.go:633 +0x65 fp=0xc000065fc8 sp=0xc000065fa0 pc=0x7ff7a2a90c65
runtime.gcenable.func2()
        D:/g/go/src/runtime/mgc.go:179 +0x26 fp=0xc000065fe0 sp=0xc000065fc8 pc=0x7ff7a2a87b06
runtime.goexit()
        D:/g/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000065fe8 sp=0xc000065fe0 pc=0x7ff7a2acfc01
created by runtime.gcenable
        D:/g/go/src/runtime/mgc.go:179 +0xaa

goroutine 5 [finalizer wait]:
runtime.gopark(0x0?, 0x7ff7a2bce810?, 0x60?, 0x40?, 0x2000000020?)
        D:/g/go/src/runtime/proc.go:381 +0xd6 fp=0xc000057e28 sp=0xc000057e08 pc=0x7ff7a2aa7b56
runtime.runfinq()
        D:/g/go/src/runtime/mfinal.go:193 +0x107 fp=0xc000057fe0 sp=0xc000057e28 pc=0x7ff7a2a86bc7
runtime.goexit()
        D:/g/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000057fe8 sp=0xc000057fe0 pc=0x7ff7a2acfc01
created by runtime.createfing
        D:/g/go/src/runtime/mfinal.go:163 +0x45

goroutine 6 [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        D:/g/go/src/runtime/proc.go:381 +0xd6 fp=0xc000067f50 sp=0xc000067f30 pc=0x7ff7a2aa7b56
runtime.gcBgMarkWorker()
        D:/g/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc000067fe0 sp=0xc000067f50 pc=0x7ff7a2a89711
runtime.goexit()
        D:/g/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000067fe8 sp=0xc000067fe0 pc=0x7ff7a2acfc01
created by runtime.gcBgMarkStartWorkers
        D:/g/go/src/runtime/mgc.go:1199 +0x25

goroutine 18 [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        D:/g/go/src/runtime/proc.go:381 +0xd6 fp=0xc000061f50 sp=0xc000061f30 pc=0x7ff7a2aa7b56
runtime.gcBgMarkWorker()
        D:/g/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc000061fe0 sp=0xc000061f50 pc=0x7ff7a2a89711
runtime.goexit()
        D:/g/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000061fe8 sp=0xc000061fe0 pc=0x7ff7a2acfc01
created by runtime.gcBgMarkStartWorkers
        D:/g/go/src/runtime/mgc.go:1199 +0x25

goroutine 7 [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        D:/g/go/src/runtime/proc.go:381 +0xd6 fp=0xc000505f50 sp=0xc000505f30 pc=0x7ff7a2aa7b56
runtime.gcBgMarkWorker()
        D:/g/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc000505fe0 sp=0xc000505f50 pc=0x7ff7a2a89711
runtime.goexit()
        D:/g/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000505fe8 sp=0xc000505fe0 pc=0x7ff7a2acfc01
created by runtime.gcBgMarkStartWorkers
        D:/g/go/src/runtime/mgc.go:1199 +0x25

goroutine 34 [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        D:/g/go/src/runtime/proc.go:381 +0xd6 fp=0xc000501f50 sp=0xc000501f30 pc=0x7ff7a2aa7b56
runtime.gcBgMarkWorker()
        D:/g/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc000501fe0 sp=0xc000501f50 pc=0x7ff7a2a89711
runtime.goexit()
        D:/g/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000501fe8 sp=0xc000501fe0 pc=0x7ff7a2acfc01
created by runtime.gcBgMarkStartWorkers
        D:/g/go/src/runtime/mgc.go:1199 +0x25

goroutine 8 [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        D:/g/go/src/runtime/proc.go:381 +0xd6 fp=0xc000507f50 sp=0xc000507f30 pc=0x7ff7a2aa7b56
runtime.gcBgMarkWorker()
        D:/g/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc000507fe0 sp=0xc000507f50 pc=0x7ff7a2a89711
runtime.goexit()
        D:/g/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000507fe8 sp=0xc000507fe0 pc=0x7ff7a2acfc01
created by runtime.gcBgMarkStartWorkers
        D:/g/go/src/runtime/mgc.go:1199 +0x25

goroutine 35 [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        D:/g/go/src/runtime/proc.go:381 +0xd6 fp=0xc000503f50 sp=0xc000503f30 pc=0x7ff7a2aa7b56
runtime.gcBgMarkWorker()
        D:/g/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc000503fe0 sp=0xc000503f50 pc=0x7ff7a2a89711
runtime.goexit()
        D:/g/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000503fe8 sp=0xc000503fe0 pc=0x7ff7a2acfc01
created by runtime.gcBgMarkStartWorkers
        D:/g/go/src/runtime/mgc.go:1199 +0x25

goroutine 19 [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        D:/g/go/src/runtime/proc.go:381 +0xd6 fp=0xc000063f50 sp=0xc000063f30 pc=0x7ff7a2aa7b56
runtime.gcBgMarkWorker()
        D:/g/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc000063fe0 sp=0xc000063f50 pc=0x7ff7a2a89711
runtime.goexit()
        D:/g/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000063fe8 sp=0xc000063fe0 pc=0x7ff7a2acfc01
created by runtime.gcBgMarkStartWorkers
        D:/g/go/src/runtime/mgc.go:1199 +0x25

goroutine 9 [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        D:/g/go/src/runtime/proc.go:381 +0xd6 fp=0xc00050df50 sp=0xc00050df30 pc=0x7ff7a2aa7b56
runtime.gcBgMarkWorker()
        D:/g/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc00050dfe0 sp=0xc00050df50 pc=0x7ff7a2a89711
runtime.goexit()
        D:/g/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc00050dfe8 sp=0xc00050dfe0 pc=0x7ff7a2acfc01
created by runtime.gcBgMarkStartWorkers
        D:/g/go/src/runtime/mgc.go:1199 +0x25

goroutine 36 [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        D:/g/go/src/runtime/proc.go:381 +0xd6 fp=0xc000509f50 sp=0xc000509f30 pc=0x7ff7a2aa7b56
runtime.gcBgMarkWorker()
        D:/g/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc000509fe0 sp=0xc000509f50 pc=0x7ff7a2a89711
runtime.goexit()
        D:/g/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000509fe8 sp=0xc000509fe0 pc=0x7ff7a2acfc01
created by runtime.gcBgMarkStartWorkers
        D:/g/go/src/runtime/mgc.go:1199 +0x25

goroutine 37 [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        D:/g/go/src/runtime/proc.go:381 +0xd6 fp=0xc00050bf50 sp=0xc00050bf30 pc=0x7ff7a2aa7b56
runtime.gcBgMarkWorker()
        D:/g/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc00050bfe0 sp=0xc00050bf50 pc=0x7ff7a2a89711
runtime.goexit()
        D:/g/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc00050bfe8 sp=0xc00050bfe0 pc=0x7ff7a2acfc01
created by runtime.gcBgMarkStartWorkers
        D:/g/go/src/runtime/mgc.go:1199 +0x25

goroutine 38 [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        D:/g/go/src/runtime/proc.go:381 +0xd6 fp=0xc00008df50 sp=0xc00008df30 pc=0x7ff7a2aa7b56
runtime.gcBgMarkWorker()
        D:/g/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc00008dfe0 sp=0xc00008df50 pc=0x7ff7a2a89711
runtime.goexit()
        D:/g/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc00008dfe8 sp=0xc00008dfe0 pc=0x7ff7a2acfc01
created by runtime.gcBgMarkStartWorkers
        D:/g/go/src/runtime/mgc.go:1199 +0x25

goroutine 39 [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        D:/g/go/src/runtime/proc.go:381 +0xd6 fp=0xc00008ff50 sp=0xc00008ff30 pc=0x7ff7a2aa7b56
runtime.gcBgMarkWorker()
        D:/g/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc00008ffe0 sp=0xc00008ff50 pc=0x7ff7a2a89711
runtime.goexit()
        D:/g/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc00008ffe8 sp=0xc00008ffe0 pc=0x7ff7a2acfc01
created by runtime.gcBgMarkStartWorkers
        D:/g/go/src/runtime/mgc.go:1199 +0x25

goroutine 40 [GC worker (idle)]:
runtime.gopark(0x4936fe991e10?, 0x0?, 0x0?, 0x0?, 0x0?)
        D:/g/go/src/runtime/proc.go:381 +0xd6 fp=0xc000089f50 sp=0xc000089f30 pc=0x7ff7a2aa7b56
runtime.gcBgMarkWorker()
        D:/g/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc000089fe0 sp=0xc000089f50 pc=0x7ff7a2a89711
runtime.goexit()
        D:/g/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000089fe8 sp=0xc000089fe0 pc=0x7ff7a2acfc01
created by runtime.gcBgMarkStartWorkers
        D:/g/go/src/runtime/mgc.go:1199 +0x25

goroutine 41 [GC worker (idle)]:
runtime.gopark(0x4936fe991e10?, 0x1?, 0x0?, 0x0?, 0x0?)
        D:/g/go/src/runtime/proc.go:381 +0xd6 fp=0xc00008bf50 sp=0xc00008bf30 pc=0x7ff7a2aa7b56
runtime.gcBgMarkWorker()
        D:/g/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc00008bfe0 sp=0xc00008bf50 pc=0x7ff7a2a89711
runtime.goexit()
        D:/g/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc00008bfe8 sp=0xc00008bfe0 pc=0x7ff7a2acfc01
created by runtime.gcBgMarkStartWorkers
        D:/g/go/src/runtime/mgc.go:1199 +0x25

goroutine 42 [GC worker (idle)]:
runtime.gopark(0x4936fe991e10?, 0x3?, 0x0?, 0x0?, 0x0?)
        D:/g/go/src/runtime/proc.go:381 +0xd6 fp=0xc000097f50 sp=0xc000097f30 pc=0x7ff7a2aa7b56
runtime.gcBgMarkWorker()
        D:/g/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc000097fe0 sp=0xc000097f50 pc=0x7ff7a2a89711
runtime.goexit()
        D:/g/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000097fe8 sp=0xc000097fe0 pc=0x7ff7a2acfc01
created by runtime.gcBgMarkStartWorkers
        D:/g/go/src/runtime/mgc.go:1199 +0x25

goroutine 43 [GC worker (idle)]:
runtime.gopark(0x4936fe991e10?, 0x1?, 0x8c?, 0xff?, 0x0?)
        D:/g/go/src/runtime/proc.go:381 +0xd6 fp=0xc000099f50 sp=0xc000099f30 pc=0x7ff7a2aa7b56
runtime.gcBgMarkWorker()
        D:/g/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc000099fe0 sp=0xc000099f50 pc=0x7ff7a2a89711
runtime.goexit()
        D:/g/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000099fe8 sp=0xc000099fe0 pc=0x7ff7a2acfc01
created by runtime.gcBgMarkStartWorkers
        D:/g/go/src/runtime/mgc.go:1199 +0x25
rax     0x1a7e11f0610
rbx     0xc00102d870
rcx     0xc00102e010
rdi     0x1a7e11efe70
rsi     0xc000091100
rbp     0x7ff7a2ccf368
rsp     0x58cd7ff668
r8      0x1a7e11efe70
r9      0xc00102e0d0
r10     0x860
r11     0x42
r12     0x870
r13     0x102
r14     0x126
r15     0xc000fa6001
rip     0x7ff7a2b43700
rflags  0x10202
cs      0x33
fs      0x53
gs      0x2b

@WankkoRee
Copy link
Author

and some gif will be broken after be convert to webp.

test:

animation

converted:

github not allowed to upload webp, so i rename it to .gif, in fact, it's a webp

animation

@alpineQ
Copy link

alpineQ commented Jul 20, 2023

Same issue with:
2GU
Converts to:
2GU webp
As a temporary fix, I use previous version of this project:
2GU webp
Sadly, it takes more time on converting: 5.63 secs using the old one versus only 1.18 secs on newer one

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants