Resize backgrounds via ffmpeg subprocess (crash-isolated)

FixConversionService
Shipped
July 9, 2026 at 7:24 PM UTC
Author
Kamo
Commit
afee6fd

ImageIO + webp-imageio could native-crash the JVM (SIGSEGV in libwebp-imageio, UpsampleBgraLinePair_SSE2) on certain WebP inputs, taking the whole ConversionService pod down. Replace the resize-bg decode/resize with an ffmpeg subprocess: ffprobe for height, then ffmpeg scale + libwebp encode. ffmpeg decodes via libavcodec (independent of Google libwebp) and, as a child process, cannot crash the JVM — a pathological image fails the request instead. Always emits a real, height-capped (<=1080) .webp.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing