After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 712283 - rtpjitterbuffer: RTX unit test fails
rtpjitterbuffer: RTX unit test fails
Status: RESOLVED INCOMPLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
1.2.0
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
: 725700 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2013-11-14 11:16 UTC by Chebah
Modified: 2014-11-30 14:53 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Chebah 2013-11-14 11:16:10 UTC
target: armhf raspberry pi (OS. raspbian)

Used git branch rev 1.2 (not updated to 1.2.1). Make check test fails during debian package build for rtpjitterbuffer

make elements/rtpjitterbuffer.check-norepeat fails during 
Running suite(s): rtpjitterbuffer
**
ERROR:elements/rtpjitterbuffer.c:578:verify_rtx_event: assertion failed: (value && G_VALUE_HOLDS_UINT64 (value))
**
ERROR:elements/rtpjitterbuffer.c:578:verify_rtx_event: assertion failed: (value && G_VALUE_HOLDS_UINT64 (value))
**
ERROR:elements/rtpjitterbuffer.c:578:verify_rtx_event: assertion failed: (value && G_VALUE_HOLDS_UINT64 (value))
72%: Checks: 11, Failures: 0, Errors: 3
elements/rtpjitterbuffer.c:914:E:general:test_rtx_expected_next:0: (after this point) Received signal 6 (Aborted)
elements/rtpjitterbuffer.c:994:E:general:test_rtx_two_missing:0: (after this point) Received signal 6 (Aborted)
elements/rtpjitterbuffer.c:1119:E:general:test_rtx_packet_delay:0: (after this point) Received signal 6 (Aborted)
make: *** [elements/rtpjitterbuffer.check-norepeat] Erreur 3


GDB bt available below or here: http://pastebin.com/MAnEycX6
	

    ~/src/gst-plugins-good $ G_DEBUG=fatal_warnings make -C tests/check/ elements/rtpjitterbuffer.gdb
    make: entrant dans le répertoire « /home/pi/src/gst-plugins-good/tests/check »
    GNU gdb (GDB) 7.4.1-debian
    Copyright (C) 2012 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
    and "show warranty" for details.
    This GDB was configured as "arm-linux-gnueabihf".
    For bug reporting instructions, please see:
    <http://www.gnu.org/software/gdb/bugs/>...
    Reading symbols from /home/pi/src/gst-plugins-good/tests/check/elements/rtpjitterbuffer...done.
     
     
    (gdb) run
    Starting program: /home/pi/src/gst-plugins-good/tests/check/elements/rtpjitterbuffer
    [Thread debugging using libthread_db enabled]
    Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
    Running suite(s): rtpjitterbuffer
    [New Thread 0x4092c470 (LWP 31831)]
    [New Thread 0x40b2c470 (LWP 31832)]
    [Thread 0x4092c470 (LWP 31831) exited]
    [Thread 0x40b2c470 (LWP 31832) exited]
    [New Thread 0x4092c470 (LWP 31833)]
    [New Thread 0x40b2c470 (LWP 31834)]
    [Thread 0x4092c470 (LWP 31833) exited]
    [Thread 0x40b2c470 (LWP 31834) exited]
    [New Thread 0x4092c470 (LWP 31835)]
    [New Thread 0x40b2c470 (LWP 31836)]
    [Thread 0x4092c470 (LWP 31835) exited]
    [Thread 0x40b2c470 (LWP 31836) exited]
    [New Thread 0x4092c470 (LWP 31837)]
    [New Thread 0x40b2c470 (LWP 31838)]
    [Thread 0x4092c470 (LWP 31837) exited]
    [Thread 0x40b2c470 (LWP 31838) exited]
    [New Thread 0x4092c470 (LWP 31839)]
    [New Thread 0x40b2c470 (LWP 31840)]
    [Thread 0x4092c470 (LWP 31839) exited]
    [Thread 0x40b2c470 (LWP 31840) exited]
    [New Thread 0x4092c470 (LWP 31841)]
    [New Thread 0x40b2c470 (LWP 31842)]
    [Thread 0x4092c470 (LWP 31841) exited]
    [Thread 0x40b2c470 (LWP 31842) exited]
    [New Thread 0x4092c470 (LWP 31843)]
    [New Thread 0x40b2c470 (LWP 31844)]
    [Thread 0x4092c470 (LWP 31843) exited]
    [Thread 0x40b2c470 (LWP 31844) exited]
    [New Thread 0x4092c470 (LWP 31845)]
    [New Thread 0x40b2c470 (LWP 31846)]
    [Thread 0x4092c470 (LWP 31845) exited]
    [Thread 0x40b2c470 (LWP 31846) exited]
    [New Thread 0x4092c470 (LWP 31847)]
    [New Thread 0x40b2c470 (LWP 31848)]
    **
    ERROR:elements/rtpjitterbuffer.c:578:verify_rtx_event: assertion failed: (value && G_VALUE_HOLDS_UINT64 (value))
     
    Program received signal SIGABRT, Aborted.
    0x4035cbfc in __GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:67
    67      ../nptl/sysdeps/unix/sysv/linux/raise.c: Aucun fichier ou dossier de ce type.
    // FILE NOT FOUND VISIBLY
     
     
    (gdb) thread apply all bt
     
    Thread 19 (Thread 0x40b2c470 (LWP 31848)):
    #0  0x4031c494 in __pthread_cond_wait (cond=0x9baf8, mutex=0x9d810)
        at pthread_cond_wait.c:153
    #1  0x402b4110 in g_cond_wait () from /lib/arm-linux-gnueabihf/libglib-2.0.so.0
    #2  0x4057a4a8 in gst_rtp_jitter_buffer_loop (jitterbuffer=0x9e030)
        at gstrtpjitterbuffer.c:2685
    #3  0x40183a64 in ?? () from /usr/lib/libgstreamer-1.0.so.0
    #4  0x40183a64 in ?? () from /usr/lib/libgstreamer-1.0.so.0
    Backtrace stopped: previous frame identical to this frame (corrupt stack?)
     
    Thread 18 (Thread 0x4092c470 (LWP 31847)):
    #0  0x4031c494 in __pthread_cond_wait (cond=0xa9f00, mutex=0x258d0)
        at pthread_cond_wait.c:153
    #1  0x402b4110 in g_cond_wait () from /lib/arm-linux-gnueabihf/libglib-2.0.so.0
    #2  0x4006bfcc in ?? () from /usr/lib/libgstcheck-1.0.so.0
    #3  0x4006bfcc in ?? () from /usr/lib/libgstcheck-1.0.so.0
    Backtrace stopped: previous frame identical to this frame (corrupt stack?)
     
    Thread 1 (Thread 0x40021dd0 (LWP 31828)):
    #0  0x4035cbfc in __GI_raise (sig=6)
        at ../nptl/sysdeps/unix/sysv/linux/raise.c:67
    #1  0x4036097c in __GI_abort () at abort.c:92
    ---Type <return> to continue, or q <return> to quit---
    #2  0x4029667c in g_assertion_message ()
       from /lib/arm-linux-gnueabihf/libglib-2.0.so.0
    #3  0x40296c20 in g_assertion_message_expr ()
       from /lib/arm-linux-gnueabihf/libglib-2.0.so.0
    #4  0x0000bbcc in verify_rtx_event (event=<optimized out>,
        expected_seqnum=1078311924, expected_timestamp=<optimized out>,
        expected_delay=20, expected_spacing=20000000)
        at elements/rtpjitterbuffer.c:578
    #5  0x0000db24 in test_rtx_expected_next (__i__=<optimized out>)
        at elements/rtpjitterbuffer.c:949
    #6  0x40070070 in srunner_run_all () from /usr/lib/libgstcheck-1.0.so.0
    #7  0x40069afc in gst_check_run_suite () from /usr/lib/libgstcheck-1.0.so.0
    #8  0x0000a3fc in main (argc=41980, argv=0x95ee8)
        at elements/rtpjitterbuffer.c:1286
     
    (gdb) frame 4
    #4  0x0000bbcc in verify_rtx_event (event=<optimized out>,
        expected_seqnum=1078311924, expected_timestamp=<optimized out>,
        expected_delay=20, expected_spacing=20000000)
        at elements/rtpjitterbuffer.c:578
    578       g_assert (value && G_VALUE_HOLDS_UINT64 (value));
    (gdb) print value
    $1 = (const GValue *) 0x0
Comment 1 Olivier Crête 2013-12-03 20:05:49 UTC
I can reproduce this problem, I suggest we just drop this unit tests in the 1.2 branch, as we don't have the rest of the RTX features in there anyway. Any opposition?
Comment 2 George Kiagiadakis 2013-12-04 10:14:52 UTC
Retransmission is supposed to be working in 1.2 with rtprtxqueue (simple, non-rfc4588-compliant implementation) and these features in rtpjitterbuffer are meant to be working. Looking at the code, I don't see why it would fail.

However, this is curious:
  • #4 verify_rtx_event

expected_seqnum should be 2 according to the code. Maybe there is memory corruption there?
Comment 3 Wim Taymans 2013-12-27 16:02:01 UTC
Is this still happening in current git?
Comment 4 Wim Taymans 2014-05-14 13:44:19 UTC
*** Bug 725700 has been marked as a duplicate of this bug. ***
Comment 5 Olivier Crête 2014-11-29 23:39:41 UTC
This was probably fixed a long time ago, please re-open if it happens againl
Comment 6 Tim-Philipp Müller 2014-11-30 14:53:50 UTC
Make check-valgrind produces failures in these tests quite often, but I think they're different failures. Also happens more frequently on slow/single-core machines.