Closed christopherhesse closed 4 years ago
Thanks for making this reproducible with the Docker image. I will have a look when I can, but I do'nt have much free cycles right now, and have a conf + holiday coming up, so it can be a while :)
Have you tried to do this with just imageio-ffmpeg (no imageio)? That might help narrow it down ...
I'm not familiar with the api of imageio-ffmpeg, so I have not. Being able to cause a segfault in python is odd, and makes me think this is some thread related thing, or else a python issue that would require some workaround in imageio-ffmpeg.
@christopherhesse Thanks again for providing the example to reproduce the issue!
I can reproduce this on a VM (Ubunty 18.04). Results:
master
before yesterday, with p.communicate("q")
: consistently segfaults.master
(I merged #19 yesterday), with p.stdin.write(b"q"); p.stdin.close()
which does not work so it always kills ffmpeg: Loads of "We had to kill ffmpeg to stop it." messages, but not segfaults so far.p.stdout.close()
: clean run (ran it to 1000+ twice).I am in the dark as to where the segfault comes from, but this is another confirmation that (with ffmpeg) p.communictate
should be avoided. Anyway, will be fixed in #29! New release coming up!
This script will segfault pretty reliably when using imageio. It's hard to say if this is an imageio error, or even an imageio-ffmpeg error (maybe this python build is broken or something), but doesn't happen when using the image loading backend and may be related to #17.
https://github.com/christopherhesse/imageio-sigsegv