flaky camerabin test in bad plugins
Setup
- Debian Unstable or Ubuntu 22.10 Development or Ubuntu 22.04 LTS
- GStreamer Version: 1.20.2
Steps to reproduce the bug
From gst-plugins-bad:
meson test
Additional Information
The test passes sometimes but often fails. Here's an example on arm64:
77/77 elements_camerabin FAIL 61.66s exit status 1
20:09:24 CK_DEFAULT_TIMEOUT=20 GST_PLUGIN_SCANNER_1_0=/usr/libexec/gstreamer-1.0/gst-plugin-scanner
GST_PLUGIN_PATH_1_0=/<<PKGBUILDDIR>>/obj-aarch64-linux-gnu:/usr/lib/aarch64-linux-gnu/gstreamer-1.0:
/usr/lib/aarch64-linux-gnu/gstreamer-1.0 GST_PLUGIN_SYSTEM_PATH_1_0=''
GST_REGISTRY=/<<PKGBUILDDIR>>/obj-aarch64-linux-gnu/tests/check/elements_camerabin.registry
GST_PLUGIN_LOADING_WHITELIST=gstreamer:gst-plugins-base:gst-plugins-good:gst-plugins-ugly:
gst-libav:libnice:gst-plugins-bad@/<<PKGBUILDDIR>>/obj-aarch64-linux-gnu
GST_STATE_IGNORE_ELEMENTS='' MALLOC_PERTURB_=192 /<<PKGBUILDDIR>>/obj-aarch64-linux-gnu/tests/check/elements_camerabin
----------------------------------- output -----------------------------------
stdout:
Running suite(s): camerabin
Unexpected critical/warning:
Trying to dispose element audiotestsrc0, but it is in READY (locked) instead of the NULL state.
You need to explicitly set elements to the NULL state before
dropping the final reference, to allow them to clean up.
This problem may also be caused by a refcounting bug in the
application or some element.
Stack trace:
gst_debug_get_stack_trace (/usr/lib/aarch64-linux-gnu/libgstreamer-1.0.so.0.2002.0:0xffff8886a55c)
?? (/usr/lib/aarch64-linux-gnu/libgstcheck-1.0.so.0.2002.0:0xffff88432988)
g_logv (/usr/lib/aarch64-linux-gnu/libglib-2.0.so.0.7200.1:0xffff8867ddb0)
g_log (/usr/lib/aarch64-linux-gnu/libglib-2.0.so.0.7200.1:0xffff8867e048)
g_object_unref (/usr/lib/aarch64-linux-gnu/libgobject-2.0.so.0.7200.1:0xffff887939e0)
?? (/usr/lib/aarch64-linux-gnu/libgstreamer-1.0.so.0.2002.0:0xffff888382c8)
gst_bin_remove (/usr/lib/aarch64-linux-gnu/libgstreamer-1.0.so.0.2002.0:0xffff88833698)
?? (/usr/lib/aarch64-linux-gnu/libgstreamer-1.0.so.0.2002.0:0xffff88833e30)
g_object_unref (/usr/lib/aarch64-linux-gnu/libgobject-2.0.so.0.7200.1:0xffff887939e0)
teardown (camerabin.c:750)
?? (/usr/lib/aarch64-linux-gnu/libgstcheck-1.0.so.0.2002.0:0xffff88438508)
srunner_run_tagged (/usr/lib/aarch64-linux-gnu/libgstcheck-1.0.so.0.2002.0:0xffff88439214)
gst_check_run_suite (/usr/lib/aarch64-linux-gnu/libgstcheck-1.0.so.0.2002.0:0xffff88435d68)
main (camerabin.c:2002)
?? (/usr/lib/aarch64-linux-gnu/libc.so.6:0xffff882973f8)
__libc_start_main (/usr/lib/aarch64-linux-gnu/libc.so.6:0xffff882974c8)
_start (/<<PKGBUILDDIR>>/obj-aarch64-linux-gnu/tests/check/elements_camerabin:0xaaaac68f186c)
94%: Checks: 17, Failures: 1, Errors: 0
../libs/gst/check/gstcheck.c:286:S:wrappercamerabinsrc:test_multiple_video_recordings:0: Unexpected critical/warning:
Trying to dispose element audiotestsrc0, but it is in READY (locked) instead of the NULL state.
You need to explicitly set elements to the NULL state before
dropping the final reference, to allow them to clean up.
This problem may also be caused by a refcounting bug in the
application or some element.
Check suite camerabin ran in 60.679s (tests failed: 1)
stderr:
(elements_camerabin): GStreamer-WARNING **: External plugin loader failed.
This most likely means that the plugin loader helper binary was not found
or could not be run. You might need to set the GST_PLUGIN_SCANNER environment
variable if your setup is unusual. This should normally not be required though.