RidgeRun / gst-interpipe

GStreamer plug-in for interpipeline communication
Other
140 stars 63 forks source link

'test_stream_sync' test randomly fails in docker environment #140

Open jagtonomy opened 1 year ago

jagtonomy commented 1 year ago

This looks like similar issue to: https://github.com/RidgeRun/gst-interpipe/issues/134 The host/container architecture x86_64/arm64 or arm64/arm64 - the problem exists on both.

During the build I sometimes see the failure:

make  check-TESTS
make[3]: Entering directory '/app/gst-interpipe/tests/check'
make[4]: Entering directory '/app/gst-interpipe/tests/check'
PASS: gst/test_allow_renegotiation_property
PASS: gst/test_anonymous_connection
PASS: gst/test_block_switch
PASS: gst/test_buffer_properties
PASS: gst/test_caps_renegotiation
FAIL: gst/test_stream_sync
PASS: gst/test_get_caps
PASS: gst/test_hot_plug
PASS: gst/test_in_bounds_events
PASS: gst/test_invalid_caps
PASS: gst/test_node_name_removed
PASS: gst/test_out_of_bounds_events
PASS: gst/test_out_of_bounds_upstream_events
PASS: gst/test_reconfigure_event
PASS: gst/test_set_caps
============================================================================
Testsuite summary for GstInterpipe 1.1.8
============================================================================
# TOTAL: 15
# PASS:  14
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0
============================================================================
See tests/check/test-suite.log
Please report to http://www.github.com/RidgeRun/gst-interpipe-1.0
============================================================================

Then I run the failing test manually, and it can pass or fail. The likelihood of failure is high, if the test is run back to back with little delay.

root@c4344f972106:/app/gst-interpipe# tests/check/gst/test_stream_sync
Running suite(s): Interpipe
100%: Checks: 1, Failures: 0, Errors: 0
Check suite gst_interpipe ran in 0.425s (tests failed: 0)
root@c4344f972106:/app/gst-interpipe#
root@c4344f972106:/app/gst-interpipe# tests/check/gst/test_stream_sync
Running suite(s): Interpipe

Unexpected critical/warning: gst_caps_intersect_full: assertion 'GST_IS_CAPS (caps1)' failed

Stack trace:
/lib/aarch64-linux-gnu/libgstreamer-1.0.so.0(+0x6d9f0) [0x7f84bbc9f0]
/lib/aarch64-linux-gnu/libgstcheck-1.0.so.0(+0xa944) [0x7f84cb5944]
/lib/aarch64-linux-gnu/libglib-2.0.so.0(g_logv+0x214) [0x7f849fbd4c]
/lib/aarch64-linux-gnu/libglib-2.0.so.0(g_log+0x80) [0x7f849fbf38]
/lib/aarch64-linux-gnu/libgstreamer-1.0.so.0(gst_caps_intersect_full+0x5c) [0x7f84b9af5c]
/usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstcoreelements.so(+0xbac4) [0x7f84435ac4]
/lib/aarch64-linux-gnu/libgstbase-1.0.so.0(+0x417ec) [0x7f847ec7ec]
/lib/aarch64-linux-gnu/libgstbase-1.0.so.0(+0x46938) [0x7f847f1938]
/lib/aarch64-linux-gnu/libgstreamer-1.0.so.0(gst_pad_query+0x3c0) [0x7f84bd6370]
/lib/aarch64-linux-gnu/libgstreamer-1.0.so.0(gst_pad_peer_query+0x334) [0x7f84bd6ae4]
/lib/aarch64-linux-gnu/libgstreamer-1.0.so.0(gst_pad_peer_query_caps+0xd4) [0x7f84c18994]
/usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstinterpipe.so(+0x620c) [0x7f8441320c]
/usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstinterpipe.so(+0x31a0) [0x7f844101a0]
/usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstinterpipe.so(+0x3d84) [0x7f84410d84]
/usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstinterpipe.so(+0x5660) [0x7f84412660]
/lib/aarch64-linux-gnu/libgobject-2.0.so.0(g_object_set_valist+0x410) [0x7f84afa8d8]
/lib/aarch64-linux-gnu/libgobject-2.0.so.0(g_object_set+0xe8) [0x7f84afb268]
tests/check/gst/test_stream_sync(+0x18c0) [0x55669338c0]
/lib/aarch64-linux-gnu/libgstcheck-1.0.so.0(srunner_run_tagged+0x474) [0x7f84cc2c14]
/lib/aarch64-linux-gnu/libgstcheck-1.0.so.0(gst_check_run_suite+0x6c) [0x7f84cb7024]
tests/check/gst/test_stream_sync(+0x1290) [0x5566933290]
/lib/aarch64-linux-gnu/libc.so.6(__libc_start_main+0xe8) [0x7f84850e10]
tests/check/gst/test_stream_sync(+0x1314) [0x5566933314]

0%: Checks: 1, Failures: 1, Errors: 0
gstcheck.c:286:F:interpipe_stream_sync:interpipe_stream_sync_compensate_ts:0: Unexpected critical/warning: gst_caps_intersect_full: assertion 'GST_IS_CAPS (caps1)' failed
Check suite gst_interpipe ran in 0.219s (tests failed: 1)
root@c4344f972106:/app/gst-interpipe#
passerbythesun commented 9 months ago

confirm this problem, it actually appear randomly

MichaelDenczek commented 6 months ago

I can verify this is occuring. Using a fresh clone of interpipes on arm64 Jetson the unit test fails inside the docker container but passes outside the container. Same code, recompiled from within and outside the container on a shared volume.

What impact does this have on the functionality of the library?