RESOLVED FIXED 107374
[gstreamer] assertion in g_object_unref from _WebKitWebAudioSourcePrivate destructor
https://bugs.webkit.org/show_bug.cgi?id=107374
Summary [gstreamer] assertion in g_object_unref from _WebKitWebAudioSourcePrivate de...
Chris Dumez
Reported 2013-01-19 10:47:44 PST
We get the following assertion when running the webaudio tests in _WebKitWebAudioSourcePrivate destructor: crash log for WebProcess (pid <unknown>): STDOUT: <empty> STDERR: STDERR: (WebProcess:17295): GLib-GObject-CRITICAL **: g_object_unref: assertion `object->ref_count > 0' failed STDERR: 1 0x7f437a569903 STDERR: 2 0x7f437cd134a0 STDERR: 3 0x7f4375ba5d18 g_logv STDERR: 4 0x7f4375ba5e3e g_log STDERR: 5 0x7f4375ba5e7f g_return_if_fail_warning STDERR: 6 0x7f437597e42d g_object_unref STDERR: 7 0x7f4372f58711 STDERR: 8 0x7f437597e65a g_object_unref STDERR: 9 0x7f4372edb16b gst_object_unref STDERR: 10 0x7f437a46ab19 void WTF::derefGPtr<_GstTask>(_GstTask*) STDERR: 11 0x7f437a43ced2 WTF::GRefPtr<_GstTask>::~GRefPtr() STDERR: 12 0x7f437a43ce70 _WebKitWebAudioSourcePrivate::~_WebKitWebAudioSourcePrivate() STDERR: 13 0x7f437a43c18f STDERR: 14 0x7f437597e65a g_object_unref STDERR: 15 0x7f4372edb16b gst_object_unref STDERR: 16 0x7f4372ee218f STDERR: 17 0x7f4372ee23d5 gst_bin_remove STDERR: 18 0x7f4372edfa72 STDERR: 19 0x7f4372f2bc47 STDERR: 20 0x7f437597e566 g_object_unref STDERR: 21 0x7f4372edb16b gst_object_unref STDERR: 22 0x7f437a438f57 WebCore::AudioDestinationGStreamer::~AudioDestinationGStreamer() STDERR: 23 0x7f437a438fae WebCore::AudioDestinationGStreamer::~AudioDestinationGStreamer() STDERR: 24 0x7f437901ad55 void WTF::deleteOwnedPtr<WebCore::AudioDestination>(WebCore::AudioDestination*) STDERR: 25 0x7f437901ac1f WTF::OwnPtr<WebCore::AudioDestination>::~OwnPtr() STDERR: 26 0x7f437901a86a WebCore::DefaultAudioDestinationNode::~DefaultAudioDestinationNode() STDERR: 27 0x7f437901a8b6 WebCore::DefaultAudioDestinationNode::~DefaultAudioDestinationNode() STDERR: 28 0x7f4378ff9ab1 WebCore::AudioContext::deleteMarkedNodes() STDERR: 29 0x7f4379009480 WebCore::AudioNode::deref(WebCore::AudioNode::RefType) STDERR: 30 0x7f4378ffd250 void WTF::derefIfNotNull<WebCore::AudioDestinationNode>(WebCore::AudioDestinationNode*) STDERR: 31 0x7f4378ffbada WTF::RefPtr<WebCore::AudioDestinationNode>::clear() STDERR: LEAK: 1 WebPage STDERR: LEAK: 1 WebFrame STDERR: LEAK: 3 RenderObject STDERR: LEAK: 1 Page STDERR: LEAK: 1 Frame STDERR: LEAK: 5 CachedResource STDERR: LEAK: 109 WebCoreNode STDERR: LEAK: 1 WebContext
Attachments
Patch (2.05 KB, patch)
2013-01-19 10:53 PST, Chris Dumez
no flags
Patch (1.92 KB, patch)
2013-01-20 03:17 PST, Chris Dumez
no flags
Chris Dumez
Comment 1 2013-01-19 10:53:56 PST
Philippe Normand
Comment 2 2013-01-20 01:51:08 PST
Comment on attachment 183628 [details] Patch Maybe it'd be simpler to set a NULL GDestroyNotify callback instead? Thanks for taking care of this issue.
Chris Dumez
Comment 3 2013-01-20 03:17:10 PST
Created attachment 183662 [details] Patch Take Philippe's comment into consideration. It is a bit simpler indeed.
WebKit Review Bot
Comment 4 2013-01-20 03:37:47 PST
Comment on attachment 183662 [details] Patch Clearing flags on attachment: 183662 Committed r140272: <http://trac.webkit.org/changeset/140272>
WebKit Review Bot
Comment 5 2013-01-20 03:37:51 PST
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.