#1029618 Fwd: GStreamer1.0 Aborts Streams

Package:
libgstreamer1.0-0
Source:
libgstreamer1.0-0
Description:
Core GStreamer libraries and elements
Submitter:
Casey C
Date:
2023-03-31 18:00:02 UTC
Severity:
normal
#1029618#5
Date:
2023-01-25 15:43:27 UTC
From:
To:
Architecture is powerpc. Running 32-bit userland on 64-bit kernel
(5.14.0-3-powerpc64). GStreamer aborts streams and causes apps that
depend on GStreamer to close unexpectedly. This behavior is present in
version 1.20.2-1 and 1.20.5-1.

Version 1.16.2-2 did not exhibit this behavior, it worked correctly.

Example 1.20.5-1:
"fienix@fienix:~$ gst-launch-1.0 playbin
uri="
https://rr5---sn-vgqsrnek.googlevideo.com/videoplayback?expire=1674531421&ei=_f3OY_voL_2b2_gPoNeT8Aw&ip=2600%3A6c44%3A93f%3A62f3%3A28ba%3A44e5%3A4324%3Aba01&id=o-AGnkjnP88MjN7lD0RftW0BNjOFMp4bjMk31zRCAD3Os5&itag=251&source=youtube&requiressl=yes&mh=1_&mm=31%2C29&mn=sn-vgqsrnek%2Csn-vgqsknez&ms=au%2Crdu&mv=m&mvi=5&pl=34&initcwndbps=1681250&spc=H3gIhur2nEmAfkKUu7FHAHzRqW7q930&vprv=1&svpuc=1&mime=audio%2Fwebm&gir=yes&clen=4902093&dur=290.961&lmt=1584116719229328&mt=1674509574&fvip=4&keepalive=yes&fexp=24007246&c=ANDROID&txp=5431432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRAIgN_sDcp41RZrKDPaqz04uotyjKGqwjISalBComgFW_KYCIF3w-Sxs6Ppq7Y3_BVYSjUV5k7Ie9fChbkpqauIjMFMk&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRgIhAP5s4OgohwnRsEETu18mHcVxoUOXZUOeQZfyJcHWufrLAiEA4Dg8xUbIvII2wPgXdCXgpkdNB3chJBjYaOpjPoWNyV4%3D
"
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Got context from element 'source': gst.soup.session=context,
session=(GstSoupSession)NULL;
Aborted"

Example 1.16.2-2:
"fienix@fienix:~$ gst-launch-1.0 playbin
uri="
https://rr5---sn-vgqsrnek.googlevideo.com/videoplayback?expire=1674531421&ei=_f3OY_voL_2b2_gPoNeT8Aw&ip=2600%3A6c44%3A93f%3A62f3%3A28ba%3A44e5%3A4324%3Aba01&id=o-AGnkjnP88MjN7lD0RftW0BNjOFMp4bjMk31zRCAD3Os5&itag=251&source=youtube&requiressl=yes&mh=1_&mm=31%2C29&mn=sn-vgqsrnek%2Csn-vgqsknez&ms=au%2Crdu&mv=m&mvi=5&pl=34&initcwndbps=1681250&spc=H3gIhur2nEmAfkKUu7FHAHzRqW7q930&vprv=1&svpuc=1&mime=audio%2Fwebm&gir=yes&clen=4902093&dur=290.961&lmt=1584116719229328&mt=1674509574&fvip=4&keepalive=yes&fexp=24007246&c=ANDROID&txp=5431432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRAIgN_sDcp41RZrKDPaqz04uotyjKGqwjISalBComgFW_KYCIF3w-Sxs6Ppq7Y3_BVYSjUV5k7Ie9fChbkpqauIjMFMk&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRgIhAP5s4OgohwnRsEETu18mHcVxoUOXZUOeQZfyJcHWufrLAiEA4Dg8xUbIvII2wPgXdCXgpkdNB3chJBjYaOpjPoWNyV4%3D
"
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Got context from element 'source': gst.soup.session=context,
session=(SoupSession)NULL, force=(boolean)false;
Redistribute latency...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstPulseSinkClock
Buffering, setting pipeline to PAUSED ...
Done buffering, setting pipeline to PLAYING ...
^Chandling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 0:00:05.168342809
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ..."

Example Goodvibes (depends on GStreamer):
"fienix@fienix:~$ goodvibes

(goodvibes:1024): Gtk-WARNING **: 17:31:07.812: Theme parsing error:
gtk-contained-dark.css:2871:228: Missing closing bracket for :not()
Aborted"

Example Goodvibes via gdb:
"Reading symbols from goodvibes...
Reading symbols from
/usr/lib/debug/.build-id/4b/026b582e015d5446c3d825804d547274785898.debug...
(gdb) run
Starting program: /usr/bin/goodvibes
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/powerpc-linux-gnu/libthread_db.so.1".
[New Thread 0xf1f3f180 (LWP 3247)]
[New Thread 0xf15ff180 (LWP 3248)]

(goodvibes:3243): Gtk-WARNING **: 17:41:48.823: Theme parsing error:
gtk-contained-dark.css:2871:228: Missing closing bracket for :not()
[New Thread 0xf092f180 (LWP 3249)]
[New Thread 0xefd7f180 (LWP 3250)]
[Thread 0xefd7f180 (LWP 3250) exited]
[New Thread 0xefd7f180 (LWP 3251)]
[New Thread 0xef06f180 (LWP 3252)]
[Thread 0xefd7f180 (LWP 3251) exited]
[New Thread 0xefd7f180 (LWP 3253)]
[New Thread 0xee61f180 (LWP 3254)]
[Thread 0xef06f180 (LWP 3252) exited]
[Thread 0xefd7f180 (LWP 3253) exited]
[Thread 0xee61f180 (LWP 3254) exited]
[New Thread 0xee61f180 (LWP 3255)]
[New Thread 0xefd7f180 (LWP 3256)]
[Thread 0xee61f180 (LWP 3255) exited]
[New Thread 0xee61f180 (LWP 3257)]
[New Thread 0xef06f180 (LWP 3258)]
[Thread 0xefd7f180 (LWP 3256) exited]
[Thread 0xee61f180 (LWP 3257) exited]
[Thread 0xef06f180 (LWP 3258) exited]
[New Thread 0xef06f180 (LWP 3259)]
[New Thread 0xee61f180 (LWP 3260)]
[Thread 0xef06f180 (LWP 3259) exited]
[New Thread 0xef06f180 (LWP 3261)]
[New Thread 0xefd7f180 (LWP 3262)]
[Thread 0xee61f180 (LWP 3260) exited]
[Thread 0xef06f180 (LWP 3261) exited]
[Thread 0xefd7f180 (LWP 3262) exited]
[New Thread 0xefd7f180 (LWP 3263)]
[New Thread 0xef06f180 (LWP 3264)]
[New Thread 0xee61f180 (LWP 3265)]

Thread 20 "pool-goodvibes" received signal SIGABRT, Aborted.
[Switching to Thread 0xee61f180 (LWP 3265)]
0xf6ac2ec0 in __pthread_kill_implementation (threadid=<optimized out>,
signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:43
43      pthread_kill.c: No such file or directory.
(gdb) "

Please let me know if I can provide any additional information to
assist in resolving this issue.

#1029618#10
Date:
2023-01-30 16:56:19 UTC
From:
To:
I can confirm this bug also affects version 1.22.0-2, which was
recently released to Debian sid.

Example:
fienix@fienix:~$ yt-dlp -g -x https://www.youtube.com/watch?v=B7xai5u_tnk
https://rr4---sn-vgqsknez.googlevideo.com/videoplayback?expire=1675118797&ei=bfTXY7j4EoColu8PgqmQsAI&ip=2600%3A6c44%3A93f%3A62f3%3A28ba%3A44e5%3A4324%3Aba01&id=o-AL-uOcbw087rHpx2iYu1Rbi-yi1AS1M_xmR1iBp29WHX&itag=251&source=youtube&requiressl=yes&mh=1_&mm=31%2C26&mn=sn-vgqsknez%2Csn-p5qlsn6l&ms=au%2Conr&mv=m&mvi=4&pl=34&initcwndbps=1625000&spc=H3gIhvbfx70EptYwVvP7lqj-lnYy_yk&vprv=1&svpuc=1&mime=audio%2Fwebm&gir=yes&clen=4902093&dur=290.961&lmt=1584116719229328&mt=1675096869&fvip=4&keepalive=yes&fexp=24007246&c=ANDROID&txp=5431432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRAIgZeHPW3YaEVgMYfZgAAUVl62449gqar8QBKg2SFV2DbsCIHft38hBSAJuw7A_wonGlZT3pyX5-BoP3ducun4JUEtE&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRgIhAJZth3oNdSuIvw09x3gppNh3WfqdSKtNGARUnWQYhZUTAiEA51Ad3cSgCgGue30dG30a6qDLTIAw0QMbtq0ymH2m8ac%3D
fienix@fienix:~$ gst-launch-1.0 playbin
uri="https://rr4---sn-vgqsknez.googlevideo.com/videoplayback?expire=1675118797&ei=bfTXY7j4EoColu8PgqmQsAI&ip=2600%3A6c44%3A93f%3A62f3%3A28ba%3A44e5%3A4324%3Aba01&id=o-AL-uOcbw087rHpx2iYu1Rbi-yi1AS1M_xmR1iBp29WHX&itag=251&source=youtube&requiressl=yes&mh=1_&mm=31%2C26&mn=sn-vgqsknez%2Csn-p5qlsn6l&ms=au%2Conr&mv=m&mvi=4&pl=34&initcwndbps=1625000&spc=H3gIhvbfx70EptYwVvP7lqj-lnYy_yk&vprv=1&svpuc=1&mime=audio%2Fwebm&gir=yes&clen=4902093&dur=290.961&lmt=1584116719229328&mt=1675096869&fvip=4&keepalive=yes&fexp=24007246&c=ANDROID&txp=5431432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRAIgZeHPW3YaEVgMYfZgAAUVl62449gqar8QBKg2SFV2DbsCIHft38hBSAJuw7A_wonGlZT3pyX5-BoP3ducun4JUEtE&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRgIhAJZth3oNdSuIvw09x3gppNh3WfqdSKtNGARUnWQYhZUTAiEA51Ad3cSgCgGue30dG30a6qDLTIAw0QMbtq0ymH2m8ac%3D"
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Got context from element 'source': gst.soup.session=context,
session=(GstSoupSession)NULL;
Aborted

#1029618#15
Date:
2023-03-31 17:57:41 UTC
From:
To:
I submitted a bug report to GStreamer about this issue. See
https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/1008. The
GStreamer dev that helped out with my bug report found that the fault
originates with libproxy in glib-networking. I ran the
"environment-libproxy" test from glib-networking-tests and the result was:
"$ /usr/libexec/installed-tests/glib-networking/environment-libproxy
# random seed: R02S5b1dc0abfabd6b943121bee035468cde
1..3
# Start of proxy tests
# Start of environment tests
ok 1 /proxy/environment/uri
ok 2 /proxy/environment/socks
# child process (/proxy/environment/ignore [2067]) exit status: 1 (error)
# child process (/proxy/environment/ignore [2067]) stdout: ""
# child process (/proxy/environment/ignore [2067]) stderr:
"**\nGLib-Net:ERROR:../proxy/tests/common.c:192:test_proxy_ignore_common:
assertion failed (proxies[0] == ignore_tests[i].proxy): (\"
http://localhost:8080\" == \"direct://\")\n"
**
GLib-Net:ERROR:../proxy/tests/environment.c:72:test_proxy_ignore: child
process (/proxy/environment/ignore [2067]) failed unexpectedly
Bail out! GLib-Net:ERROR:../proxy/tests/environment.c:72:test_proxy_ignore:
child process (/proxy/environment/ignore [2067]) failed unexpectedly
Aborted"

The rest of the glib-networking tests complete without errors. I will
submit a bug report for glib-networking.