#5184·libvips

vips_sink_screen: 发生崩溃,背景渲染线程可以使用一个已释放的 Render

作者: octopus-kkk创建于 2026年8月13日更新于 2026年9月3日
标签bug

/* gcc -g -o mre mre.c pkg-config vips --cflags --libs */

#include <stdio.h> #include <glib.h> #include <vips/vips.h>

// A non-NULL notify is what selects the asynchronous path. static void notify_cb(VipsImage *im, VipsRect *rect, void *a) { }

int main(int argc, char **argv) { if (VIPS_INIT(argv[0])) vips_error_exit(NULL);

for (int i = 0; i < 4000; i++) {
	VipsImage *in, *out;
	VipsRegion *region;
	VipsRect r = { 0, 0, 64, 64 };

	if (vips_gaussnoise(&in, 2048, 2048, NULL))
		vips_error_exit(NULL);

	out = vips_image_new();
	if (vips_sink_screen(in, out, NULL, 64, 64, 32, 0, notify_cb, NULL))

内容来源: libvips/libvips