wpe: random segfault
Not always, but sometimes wpesrc causes segfault with this backtrace:
Thread 30 "wpesrc_1" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f94438ba700 (LWP 1552424)]
0x00007f94d024779c in gst_wpe_src_create (bsrc=<optimized out>, offset=18446744073709551615, length=4096, buf=0x7f94438b8598) at ../ext/wpe/gstwpesrc.cpp:181
181 GST_BUFFER_TIMESTAMP (*buf) = ts_offset + gl_src->running_time;
(gdb) bt
#0 0x00007f94d024779c in gst_wpe_src_create(GstBaseSrc*, guint64, guint, GstBuffer**) (bsrc=<optimized out>, offset=18446744073709551615, length=4096, buf=0x7f94438b8598) at ../ext/wpe/gstwpesrc.cpp:181
#1 0x00007f94d308f3dd in gst_base_src_get_range (src=src@entry=0x7f94cc0f9f80 [GstBaseSrc|wpesrc_1], offset=offset@entry=18446744073709551615, length=<optimized out>, length@entry=4096, buf=buf@entry=0x7f94438b8670)
at ../libs/gst/base/gstbasesrc.c:2587
#2 0x00007f94d30924ac in gst_base_src_loop (pad=0x7f94cc0fc1c0 [GstPad|src]) at ../libs/gst/base/gstbasesrc.c:2911
#3 0x00007f94d2fc1667 in gst_task_func (task=0x7f94cc07a830 [GstTask|wpesrc_1:src]) at ../gst/gsttask.c:328
#4 0x00007f94d2df51d4 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007f94d2df4931 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6 0x00007f94d2905609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7 0x00007f94d280f103 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Here are some runtime details:
(gdb) p ts_offset
$1 = 0
(gdb) p gl_src
$2 = 0x7fe2380f3850 [GstGLBaseSrc|wpesrc_1]
(gdb) p gl_src->running_time
$3 = 66666666 [0:00:00.066666666]
(gdb) p *buf
$4 = 0x0
Null pointer?
UPD: This is with LIBGL_ALWAYS_SOFTWARE=true
on master branch.
cc @philn