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
Created attachment 183628 [details] Patch
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.
Created attachment 183662 [details] Patch Take Philippe's comment into consideration. It is a bit simpler indeed.
Comment on attachment 183662 [details] Patch Clearing flags on attachment: 183662 Committed r140272: <http://trac.webkit.org/changeset/140272>
All reviewed patches have been landed. Closing bug.