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 637824 - mpeg4videoparse: gst_buffer_is_metadata_writable warning (regression)
mpeg4videoparse: gst_buffer_is_metadata_writable warning (regression)
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal normal
: 0.10.21
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-12-22 19:16 UTC by nathanael
Modified: 2011-01-05 17:08 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description nathanael 2010-12-22 19:16:13 UTC
This is a regression from the latest release

The message output on the terminal...

(DigitalObservation:8730): GStreamer-WARNING **: (gstbuffer.c:495):gst_buffer_set_caps: runtime check failed: (gst_buffer_is_metadata_writable (buffer))

Backtrace...

  • #0 raise
    from /lib64/libc.so.6
  • #1 abort
    from /lib64/libc.so.6
  • #2 g_logv
    at gmessages.c line 557
  • #3 g_log
    at gmessages.c line 577
  • #4 g_warn_message
  • #5 gst_buffer_set_caps
    at gstbuffer.c line 495
  • #6 gst_mpeg4vparse_push
    at mpeg4videoparse.c line 530
  • #7 gst_mpeg4vparse_drain
    at mpeg4videoparse.c line 662
  • #8 gst_mpeg4vparse_chain
    at mpeg4videoparse.c line 697
  • #9 gst_pad_push
    at gstpad.c line 4665
  • #10 gst_queue2_push_one
    at gstqueue2.c line 2220
  • #11 gst_queue2_loop
    at gstqueue2.c line 2324
  • #12 gst_task_func
    at gsttask.c line 318
  • #13 g_thread_pool_thread_proxy
    at gthreadpool.c line 319
  • #14 g_thread_create_proxy
    at gthread.c line 1897
  • #15 start_thread
    from /lib64/libpthread.so.0
  • #16 clone
    from /lib64/libc.so.6

Comment 1 Tim-Philipp Müller 2010-12-22 21:47:06 UTC
This should fix it. Please re-open if not:

commit e29a1073b1bceb0c279c0a96c233d11d211f97ac
Author: Tim-Philipp Müller <tim.muller@collabora.co.uk>
Date:   Wed Dec 22 21:44:47 2010 +0000

    mpeg4videoparse: ensure buffer metadata is writable before modifying it
    
    https://bugzilla.gnome.org/show_bug.cgi?id=637824
Comment 2 nathanael 2010-12-22 23:25:04 UTC
No such luck. I just git updated all packages, built and installed on my test system... same messages.
Comment 3 Tim-Philipp Müller 2010-12-22 23:39:29 UTC
> No such luck. I just git updated all packages, built and installed on my test
> system... same messages.

This means it's not fixed then? (VERIFIED = you confirm it's been fixed)

Same stack trace still?
Comment 4 nathanael 2010-12-23 01:06:15 UTC
I just had no idea what to change it to to "reopen it".. I don't have a stack trace comparison. I just ran it and the same messages appeared after the same behaviour. I can do a stack trace comparison if you need it.... Feel free to change status to whatever you want to mean "Open and unfixed"
Comment 5 Tim-Philipp Müller 2010-12-23 09:03:30 UTC
(In reply to comment #4)
> I just had no idea what to change it to to "reopen it".. I don't have a stack
> trace comparison. I just ran it and the same messages appeared after the same
> behaviour. I can do a stack trace comparison if you need it.... Feel free to
> change status to whatever you want to mean "Open and unfixed"

Ok, well could you just get another stack trace with the up-to-date mpeg4videoparse from git? (Run in gdb with G_DEBUG=fatal_warnings gdb ...)
Comment 6 nathanael 2010-12-23 20:07:13 UTC
No idea why the installed debuginfo for mpeg4videoparse isn't being detected... so I'm not sure if this BT is even useful to you...

  • #0 __kernel_vsyscall
  • #1 raise
    from /lib/libc.so.6
  • #2 abort
    from /lib/libc.so.6
  • #3 g_logv
    at gmessages.c line 557
  • #4 g_log
    at gmessages.c line 577
  • #5 g_warn_message
  • #6 gst_buffer_set_caps
    at gstbuffer.c line 495
  • #7 ??
    from /usr/lib/gstreamer-0.10/libgstmpeg4videoparse.so
  • #8 ??
    from /usr/lib/gstreamer-0.10/libgstmpeg4videoparse.so
  • #9 gst_pad_push
    at gstpad.c line 4665
  • #10 gst_queue2_push_one
    at gstqueue2.c line 2220
  • #11 gst_queue2_loop
    at gstqueue2.c line 2324
  • #12 gst_task_func
    at gsttask.c line 318
  • #13 default_func
  • #14 g_thread_pool_thread_proxy
    at gthreadpool.c line 319
  • #15 g_thread_create_proxy
    at gthread.c line 1897
  • #16 start_thread
    from /lib/libpthread.so.0
  • #17 clone
    from /lib/libc.so.6

Comment 7 Tim-Philipp Müller 2010-12-23 22:04:37 UTC
(In reply to comment #6)
> No idea why the installed debuginfo for mpeg4videoparse isn't being detected...
> so I'm not sure if this BT is even useful to you...

Luckily there's only one gst_buffer_set_caps() call...

Let's try this:

 commit e6d0435a8ed722ba1d61b1c2d56a26c1b6fc5ff8
 Author: Tim-Philipp Müller <tim.muller@collabora.co.uk>
 Date:   Thu Dec 23 22:01:00 2010 +0000

    mpeg4videoparse: try harder to make buffer metadata writable before modifying
    
    Also, check buffer for NULL-ness before dereferencing it.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=637824


Does it work fine now?
Comment 8 nathanael 2011-01-05 07:58:43 UTC
It does now.
Comment 9 Tim-Philipp Müller 2011-01-05 09:36:25 UTC
Thanks for confirming.
Comment 10 nathanael 2011-01-05 16:16:13 UTC
I should note that my first test was a no-op as I hadn't actually updated the mpeg4videoparse, so whatever changes you made the first time probably did it. Did you want me to check the original commit? Or are the two combined changes sufficient?
Comment 11 Tim-Philipp Müller 2011-01-05 17:08:14 UTC
If it works now, it's all good, thanks.