gstreamer/subprojects
Alicia Boya García bcf95cc087 tests: nle: Call ges_init() only inside test cases
Some NLE tests were calling ges_init() from the test suite
initialization function. This was causing them to deadlock when running
with glib 2.76.3.

ges_init() causes a GThreadPool to be initialized. Even if GES at this
point doesn't request any thread to be created, since glib 2.63.4+
(see 8aeca4fa64)
the first time a GThreadPool is initialized a "pool-spawner" thread is
created, which is later used by g_thread_pool_push().

The default behavior of the GStreamer check tests is to fork for every
test case. This is not safe if any thread has been created at this
point. In this particular case, GThreadPool preserves the state that
says a "pool-spawner" thread has been created, and will have access to
its mutex and condition variable, but their queues will have different
contents as the memory has been forked. In consequence, calls to
g_thread_pool_push() will deadlock.

The deadlock will not occur if running the tests with CK_FORK=no.

This patch modifies the affected tests to only call ges_init() from
inside the test cases, fixing the deadlock.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4915>
2023-06-22 18:04:24 +00:00
..
gst-devtools validate: disable plugins in static build 2023-05-31 15:17:11 +00:00
gst-docs examples: iOS tutorials: remove kate plugin references here too 2023-06-05 10:59:22 +01:00
gst-editing-services tests: nle: Call ges_init() only inside test cases 2023-06-22 18:04:24 +00:00
gst-examples gst-examples: prepare for removal of kate plugin from cerbero 2023-06-05 06:45:54 +00:00
gst-integration-testsuites streamcollection: Use upstream-id as name 2023-06-22 14:06:04 +02:00
gst-libav avvidec: Fix more deprecated symbol 2023-06-13 20:12:11 +00:00
gst-omx tools: add bad/ges/omx tools to gst_tools 2023-05-31 15:17:11 +00:00
gst-plugins-bad streamcollection: Use upstream-id as name 2023-06-22 14:06:04 +02:00
gst-plugins-base tags: Don't allow image tags with G_MAXUINT32 length 2023-06-20 10:02:19 +00:00
gst-plugins-good matroska-demux: Properly handle early time-based segments 2023-06-22 06:56:33 +00:00
gst-plugins-ugly gstreamer-full: add full static support 2023-05-31 15:17:11 +00:00
gst-python python: More functions can be called before gst_init() 2023-06-02 13:25:23 +00:00
gst-rtsp-server gstreamer-full: add full static support 2023-05-31 15:17:11 +00:00
gstreamer streamcollection: Use upstream-id as name 2023-06-22 14:06:04 +02:00
gstreamer-sharp sharp: Mark _reserved fields as padding 2023-04-29 21:52:19 -04:00
gstreamer-vaapi vaapidecodebin: don't load vaapipostproc if not available 2023-06-08 12:50:41 +00:00
macos-bison-binary macos-bison-binary: Remove warning when running on arm64 2022-12-16 23:58:07 +00:00
packagefiles wrap: add libpsl patch to fix win build 2023-06-22 08:38:22 +00:00
win-flex-bison-binaries
win-nasm
avtp.wrap
bindinator.wrap
cairo.wrap
dav1d.wrap meson: add missing source_filename in the dav1d wrap 2023-04-03 14:29:36 +00:00
dssim.wrap
dv.wrap
expat.wrap
fdk-aac.wrap
FFmpeg.wrap
fontconfig.wrap
freetype2.wrap
fribidi.wrap
gl-headers.wrap
glib-networking.wrap
glib.wrap
graphene.wrap
gst-plugins-rs.wrap gst-plugins-rs: Track main branch again 2023-01-24 19:08:50 +00:00
gtk-sharp.wrap
gtk.wrap meson: Use gtk tarball for the subproject wrap 2023-02-01 06:29:11 +00:00
harfbuzz.wrap
json-glib.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
lame.wrap meson: Update lame to -7 which contains the def file fix 2022-12-19 01:43:08 +05:30
libdrm.wrap
libffi.wrap subprojects: libffi: pin to meson-3.2.9999.4 tag 2022-12-31 13:49:17 +00:00
libgudev.wrap meson: Add a wrap file for libgudev 2023-04-19 22:47:19 +00:00
libjpeg-turbo.wrap
libmicrodns.wrap
libnice.wrap libnice: disable gst tests in static mode 2023-05-31 15:17:11 +00:00
libopenjp2.wrap
libpng.wrap
libpsl.wrap wrap: add libpsl patch to fix win build 2023-06-22 08:38:22 +00:00
libsoup.wrap
libsrtp2.wrap subprojects: Update libsrtp2 wrap to v2.5.0 2023-02-01 10:34:35 +00:00
libva.wrap subprojects: libva: Pin to 2.19.0.pre1 (1c58941) 2023-06-15 21:14:29 +00:00
libwpe.wrap
libxml2.wrap libxml2: update to 2.10.3-4 2023-06-22 08:38:22 +00:00
ogg.wrap
openh264.wrap
opus.wrap
orc.wrap orc: update subproject wrap to 0.4.34 2023-05-30 01:21:20 +00:00
pango.wrap meson: Add a patch that fixes pangocairo usage in gst-plugins-rs 2022-12-17 07:37:03 +05:30
pixman.wrap
proxy-libintl.wrap
pycairo.wrap
pygobject.wrap meson: Allow sysdeps to be forced as fallback subprojects 2023-02-06 09:26:02 +00:00
sqlite3.wrap
vorbis.wrap
webrtc-audio-processing.wrap meson: Update webrtc-audio-processing wrap to 1.1 2023-06-01 09:34:37 +00:00
wpebackend-fdo.wrap
x264.wrap
zlib.wrap