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 500903 - Leak in gst_navigation_send_mouse_event
Leak in gst_navigation_send_mouse_event
Status: RESOLVED INCOMPLETE
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
git master
Other Linux
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2007-12-01 18:44 UTC by Philip Withnall
Modified: 2008-01-04 17:12 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Dump of GStreamer pipeline (17.17 KB, text/plain)
2007-12-08 18:59 UTC, Philip Withnall
Details
GST_DEBUG=*:3 log of the video playing (490.95 KB, text/plain)
2007-12-08 23:31 UTC, Philip Withnall
Details

Description Philip Withnall 2007-12-01 18:44:08 UTC
Valgrind log:

==28618== 960 bytes in 24 blocks are definitely lost in loss record 15,585 of 18,638
==28618==    at 0x4C1FFFC: calloc (vg_replace_malloc.c:279)
==28618==    by 0xE4A6043: g_malloc0 (gmem.c:150)
==28618==    by 0xC98FDC2: gst_structure_id_empty_new_with_size (gststructure.c:116)
==28618==    by 0xC98FF28: gst_structure_empty_new (gststructure.c:183)
==28618==    by 0xC990329: gst_structure_new_valist (gststructure.c:238)
==28618==    by 0xC9903FE: gst_structure_new (gststructure.c:209)
==28618==    by 0xC513A9D: gst_navigation_send_mouse_event (navigation.c:87)
==28618==    by 0x4386EE: bacon_video_widget_motion_notify (bacon-video-widget-gst-0.10.c:765)
==28618==    by 0x978508B: _gtk_marshal_BOOLEAN__BOXED (gtkmarshalers.c:84)
==28618==    by 0xE23450F: g_type_class_meta_marshal (gclosure.c:567)
==28618==    by 0xE235E45: g_closure_invoke (gclosure.c:490)
==28618==    by 0xE246A82: signal_emit_unlocked_R (gsignal.c:2478)

Looks like the GstStructure created in gst_navigation_send_mouse_event doesn't get unreffed, although I haven't looked into it too closely.
Comment 1 Tim-Philipp Müller 2007-12-06 15:37:34 UTC
What kind of file is this with?  What videosink are you using?

We'd need to look at the specific decoders/demuxers involved to see if any of them leak navigation events.
Comment 2 Philip Withnall 2007-12-08 18:59:35 UTC
Created attachment 100598 [details]
Dump of GStreamer pipeline

It's an AVI file, video encoded using DivX MPEG-4, Version 4 and audio encoded using MPEG 1 Audio, Layer 3 (MP3).

I've attached the dot file generated by GStreamer. I would convert it to PNG, but `dot` seems to baulk at it, and aborts while converting it.

Is this enough? I can make the video available online if you want.
Comment 3 Tim-Philipp Müller 2007-12-08 20:22:01 UTC
I can't reproduce the leak with everything CVS.

Maybe you could attach a GST_DEBUG_NO_COLOR=1 GST_DEBUG=*:5 log?
Comment 4 Philip Withnall 2007-12-08 23:31:39 UTC
Created attachment 100617 [details]
GST_DEBUG=*:3 log of the video playing
Comment 5 Philip Withnall 2007-12-08 23:35:52 UTC
I've attached a log of the video playing with GST_DEBUG=*:3. I did try to get logs with higher debug levels, but the level 5 log was almost 300MiB and the level 4 log was over 50MiB.

I've uploaded the video itself at http://tecnocode.co.uk/AlmostTerribleWorkDa.avi.
Comment 6 Tim-Philipp Müller 2007-12-13 11:45:09 UTC
How about a debug log like this:

$ GST_DEBUG=GST_PADS:5,GST_REFCOUNTING:5,GST_EVENT:5 totem AlmostTerribleWorkDa.avi 2>&1 | grep -i event | grep -v gstobject.c > dbg.log

?
Comment 7 Philip Withnall 2008-01-04 16:57:22 UTC
Meh. I can no longer reproduce it, so either it's been fixed on trunk, or something else has changed. Close as INCOMPLETE?
Comment 8 Tim-Philipp Müller 2008-01-04 17:12:03 UTC
> Meh. I can no longer reproduce it, so either it's been fixed on trunk, or
> something else has changed. Close as INCOMPLETE?

Yeah, let's do that. If there's really a leak, I'm sure someone will come across it again soon enough.