GNOME Bugzilla – Bug 643581
gst-rtsp-server memory leak
Last modified: 2011-09-25 00:03:57 UTC
here is the output from valgrind when I remove a media when I see it ==12160== Invalid read of size 8 ==12160== at 0x505D2EC: media_unprepared (rtsp-media-factory.c:389) ==12160== by 0x555C5DD: g_closure_invoke (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x5570597: ??? (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x5571A75: g_signal_emit_valist (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x5572032: g_signal_emit (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x50586D5: gst_rtsp_media_unprepare (rtsp-media.c:1786) ==12160== by 0x505BAA9: gst_rtsp_media_set_state (rtsp-media.c:2022) ==12160== by 0x5063BD6: message_received (rtsp-client.c:538) ==12160== by 0x7F401F2: gst_rtsp_source_dispatch (gstrtspconnection.c:3179) ==12160== by 0x61368C1: g_main_context_dispatch (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x613A747: ??? (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x613AC54: g_main_loop_run (in /lib/libglib-2.0.so.0.2400.1) ==12160== Address 0xa4b4f48 is 56 bytes inside a block of size 72 free'd ==12160== at 0x4C270BD: free (vg_replace_malloc.c:366) ==12160== by 0x557DE49: g_type_free_instance (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x6127BD4: ??? (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x6128C5F: ??? (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x418BD2: StreamingClass::removeRtspMedia() (streamingclass.cpp:414) ==12160== by 0x4158F4: StreamingClass::freeClassRes() (streamingclass.cpp:46) ==12160== by 0x40DB72: SocketRequest::parseJsonRequest(QByteArray) (socketrequest.cpp:381) ==12160== by 0x408EA0: SocketRequest::readClientRequest() (socketrequest.cpp:49) ==12160== by 0x41FE39: SocketRequest::qt_metacall(QMetaObject::Call, int, void**) (moc_socketrequest.cpp:81) ==12160== by 0x6884E3E: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3293) ==12160== by 0x648144E: QAbstractSocketPrivate::canReadNotification() (qabstractsocket.cpp:626) ==12160== by 0x6470600: QReadNotifier::event(QEvent*) (qnativesocketengine.cpp:1094) ==12160== ==12160== Invalid read of size 4 ==12160== at 0x6B903C4: pthread_mutex_lock (pthread_mutex_lock.c:50) ==12160== by 0x505D2F2: media_unprepared (rtsp-media-factory.c:389) ==12160== by 0x555C5DD: g_closure_invoke (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x5570597: ??? (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x5571A75: g_signal_emit_valist (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x5572032: g_signal_emit (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x50586D5: gst_rtsp_media_unprepare (rtsp-media.c:1786) ==12160== by 0x505BAA9: gst_rtsp_media_set_state (rtsp-media.c:2022) ==12160== by 0x5063BD6: message_received (rtsp-client.c:538) ==12160== by 0x7F401F2: gst_rtsp_source_dispatch (gstrtspconnection.c:3179) ==12160== by 0x61368C1: g_main_context_dispatch (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x613A747: ??? (in /lib/libglib-2.0.so.0.2400.1) ==12160== Address 0xa4b50e0 is 16 bytes inside a block of size 40 free'd ==12160== at 0x4C270BD: free (vg_replace_malloc.c:366) ==12160== by 0x505DFAD: gst_rtsp_media_factory_finalize (rtsp-media-factory.c:128) ==12160== by 0x555E5A3: g_object_unref (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x6127BD4: ??? (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x6128C5F: ??? (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x418BD2: StreamingClass::removeRtspMedia() (streamingclass.cpp:414) ==12160== by 0x4158F4: StreamingClass::freeClassRes() (streamingclass.cpp:46) ==12160== by 0x40DB72: SocketRequest::parseJsonRequest(QByteArray) (socketrequest.cpp:381) ==12160== by 0x408EA0: SocketRequest::readClientRequest() (socketrequest.cpp:49) ==12160== by 0x41FE39: SocketRequest::qt_metacall(QMetaObject::Call, int, void**) (moc_socketrequest.cpp:81) ==12160== by 0x6884E3E: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3293) ==12160== by 0x648144E: QAbstractSocketPrivate::canReadNotification() (qabstractsocket.cpp:626) ==12160== ==12160== Invalid read of size 4 ==12160== at 0x6B8FDB3: __pthread_mutex_lock_full (pthread_mutex_lock.c:139) ==12160== by 0x505D2F2: media_unprepared (rtsp-media-factory.c:389) ==12160== by 0x555C5DD: g_closure_invoke (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x5570597: ??? (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x5571A75: g_signal_emit_valist (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x5572032: g_signal_emit (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x50586D5: gst_rtsp_media_unprepare (rtsp-media.c:1786) ==12160== by 0x505BAA9: gst_rtsp_media_set_state (rtsp-media.c:2022) ==12160== by 0x5063BD6: message_received (rtsp-client.c:538) ==12160== by 0x7F401F2: gst_rtsp_source_dispatch (gstrtspconnection.c:3179) ==12160== by 0x61368C1: g_main_context_dispatch (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x613A747: ??? (in /lib/libglib-2.0.so.0.2400.1) ==12160== Address 0xa4b50e0 is 16 bytes inside a block of size 40 free'd ==12160== at 0x4C270BD: free (vg_replace_malloc.c:366) ==12160== by 0x505DFAD: gst_rtsp_media_factory_finalize (rtsp-media-factory.c:128) ==12160== by 0x555E5A3: g_object_unref (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x6127BD4: ??? (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x6128C5F: ??? (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x418BD2: StreamingClass::removeRtspMedia() (streamingclass.cpp:414) ==12160== by 0x4158F4: StreamingClass::freeClassRes() (streamingclass.cpp:46) ==12160== by 0x40DB72: SocketRequest::parseJsonRequest(QByteArray) (socketrequest.cpp:381) ==12160== by 0x408EA0: SocketRequest::readClientRequest() (socketrequest.cpp:49) ==12160== by 0x41FE39: SocketRequest::qt_metacall(QMetaObject::Call, int, void**) (moc_socketrequest.cpp:81) ==12160== by 0x6884E3E: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3293) ==12160== by 0x648144E: QAbstractSocketPrivate::canReadNotification() (qabstractsocket.cpp:626) ==12160== ==12160== Invalid read of size 8 ==12160== at 0x505D291: media_unprepared (rtsp-media-factory.c:390) ==12160== by 0x555C5DD: g_closure_invoke (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x5570597: ??? (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x5571A75: g_signal_emit_valist (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x5572032: g_signal_emit (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x50586D5: gst_rtsp_media_unprepare (rtsp-media.c:1786) ==12160== by 0x505BAA9: gst_rtsp_media_set_state (rtsp-media.c:2022) ==12160== by 0x5063BD6: message_received (rtsp-client.c:538) ==12160== by 0x7F401F2: gst_rtsp_source_dispatch (gstrtspconnection.c:3179) ==12160== by 0x61368C1: g_main_context_dispatch (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x613A747: ??? (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x613AC54: g_main_loop_run (in /lib/libglib-2.0.so.0.2400.1) ==12160== Address 0xa4b4f50 is 64 bytes inside a block of size 72 free'd ==12160== at 0x4C270BD: free (vg_replace_malloc.c:366) ==12160== by 0x557DE49: g_type_free_instance (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x6127BD4: ??? (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x6128C5F: ??? (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x418BD2: StreamingClass::removeRtspMedia() (streamingclass.cpp:414) ==12160== by 0x4158F4: StreamingClass::freeClassRes() (streamingclass.cpp:46) ==12160== by 0x40DB72: SocketRequest::parseJsonRequest(QByteArray) (socketrequest.cpp:381) ==12160== by 0x408EA0: SocketRequest::readClientRequest() (socketrequest.cpp:49) ==12160== by 0x41FE39: SocketRequest::qt_metacall(QMetaObject::Call, int, void**) (moc_socketrequest.cpp:81) ==12160== by 0x6884E3E: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3293) ==12160== by 0x648144E: QAbstractSocketPrivate::canReadNotification() (qabstractsocket.cpp:626) ==12160== by 0x6470600: QReadNotifier::event(QEvent*) (qnativesocketengine.cpp:1094) ==12160== ==12160== Invalid read of size 4 ==12160== at 0x6128877: ??? (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x505D2A0: media_unprepared (rtsp-media-factory.c:390) ==12160== by 0x555C5DD: g_closure_invoke (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x5570597: ??? (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x5571A75: g_signal_emit_valist (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x5572032: g_signal_emit (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x50586D5: gst_rtsp_media_unprepare (rtsp-media.c:1786) ==12160== by 0x505BAA9: gst_rtsp_media_set_state (rtsp-media.c:2022) ==12160== by 0x5063BD6: message_received (rtsp-client.c:538) ==12160== by 0x7F401F2: gst_rtsp_source_dispatch (gstrtspconnection.c:3179) ==12160== by 0x61368C1: g_main_context_dispatch (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x613A747: ??? (in /lib/libglib-2.0.so.0.2400.1) ==12160== Address 0xa4b5140 is 0 bytes inside a block of size 72 free'd ==12160== at 0x4C270BD: free (vg_replace_malloc.c:366) ==12160== by 0x505DF41: gst_rtsp_media_factory_finalize (rtsp-media-factory.c:127) ==12160== by 0x555E5A3: g_object_unref (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x6127BD4: ??? (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x6128C5F: ??? (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x418BD2: StreamingClass::removeRtspMedia() (streamingclass.cpp:414) ==12160== by 0x4158F4: StreamingClass::freeClassRes() (streamingclass.cpp:46) ==12160== by 0x40DB72: SocketRequest::parseJsonRequest(QByteArray) (socketrequest.cpp:381) ==12160== by 0x408EA0: SocketRequest::readClientRequest() (socketrequest.cpp:49) ==12160== by 0x41FE39: SocketRequest::qt_metacall(QMetaObject::Call, int, void**) (moc_socketrequest.cpp:81) ==12160== by 0x6884E3E: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3293) ==12160== by 0x648144E: QAbstractSocketPrivate::canReadNotification() (qabstractsocket.cpp:626) ==12160== ==12160== Invalid read of size 8 ==12160== at 0x6128893: ??? (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x505D2A0: media_unprepared (rtsp-media-factory.c:390) ==12160== by 0x555C5DD: g_closure_invoke (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x5570597: ??? (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x5571A75: g_signal_emit_valist (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x5572032: g_signal_emit (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x50586D5: gst_rtsp_media_unprepare (rtsp-media.c:1786) ==12160== by 0x505BAA9: gst_rtsp_media_set_state (rtsp-media.c:2022) ==12160== by 0x5063BD6: message_received (rtsp-client.c:538) ==12160== by 0x7F401F2: gst_rtsp_source_dispatch (gstrtspconnection.c:3179) ==12160== by 0x61368C1: g_main_context_dispatch (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x613A747: ??? (in /lib/libglib-2.0.so.0.2400.1) ==12160== Address 0xa4b5158 is 24 bytes inside a block of size 72 free'd ==12160== at 0x4C270BD: free (vg_replace_malloc.c:366) ==12160== by 0x505DF41: gst_rtsp_media_factory_finalize (rtsp-media-factory.c:127) ==12160== by 0x555E5A3: g_object_unref (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x6127BD4: ??? (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x6128C5F: ??? (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x418BD2: StreamingClass::removeRtspMedia() (streamingclass.cpp:414) ==12160== by 0x4158F4: StreamingClass::freeClassRes() (streamingclass.cpp:46) ==12160== by 0x40DB72: SocketRequest::parseJsonRequest(QByteArray) (socketrequest.cpp:381) ==12160== by 0x408EA0: SocketRequest::readClientRequest() (socketrequest.cpp:49) ==12160== by 0x41FE39: SocketRequest::qt_metacall(QMetaObject::Call, int, void**) (moc_socketrequest.cpp:81) ==12160== by 0x6884E3E: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3293) ==12160== by 0x648144E: QAbstractSocketPrivate::canReadNotification() (qabstractsocket.cpp:626) ==12160== ==12160== Invalid read of size 4 ==12160== at 0x6128897: ??? (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x505D2A0: media_unprepared (rtsp-media-factory.c:390) ==12160== by 0x555C5DD: g_closure_invoke (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x5570597: ??? (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x5571A75: g_signal_emit_valist (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x5572032: g_signal_emit (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x50586D5: gst_rtsp_media_unprepare (rtsp-media.c:1786) ==12160== by 0x505BAA9: gst_rtsp_media_set_state (rtsp-media.c:2022) ==12160== by 0x5063BD6: message_received (rtsp-client.c:538) ==12160== by 0x7F401F2: gst_rtsp_source_dispatch (gstrtspconnection.c:3179) ==12160== by 0x61368C1: g_main_context_dispatch (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x613A747: ??? (in /lib/libglib-2.0.so.0.2400.1) ==12160== Address 0xa4b51e0 is 16 bytes inside a block of size 192 free'd ==12160== at 0x4C270BD: free (vg_replace_malloc.c:366) ==12160== by 0x61286ED: g_hash_table_unref (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x505DF41: gst_rtsp_media_factory_finalize (rtsp-media-factory.c:127) ==12160== by 0x555E5A3: g_object_unref (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x6127BD4: ??? (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x6128C5F: ??? (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x418BD2: StreamingClass::removeRtspMedia() (streamingclass.cpp:414) ==12160== by 0x4158F4: StreamingClass::freeClassRes() (streamingclass.cpp:46) ==12160== by 0x40DB72: SocketRequest::parseJsonRequest(QByteArray) (socketrequest.cpp:381) ==12160== by 0x408EA0: SocketRequest::readClientRequest() (socketrequest.cpp:49) ==12160== by 0x41FE39: SocketRequest::qt_metacall(QMetaObject::Call, int, void**) (moc_socketrequest.cpp:81) ==12160== by 0x6884E3E: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3293) ==12160== ==12160== Invalid read of size 4 ==12160== at 0x61288C1: ??? (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x505D2A0: media_unprepared (rtsp-media-factory.c:390) ==12160== by 0x555C5DD: g_closure_invoke (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x5570597: ??? (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x5571A75: g_signal_emit_valist (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x5572032: g_signal_emit (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x50586D5: gst_rtsp_media_unprepare (rtsp-media.c:1786) ==12160== by 0x505BAA9: gst_rtsp_media_set_state (rtsp-media.c:2022) ==12160== by 0x5063BD6: message_received (rtsp-client.c:538) ==12160== by 0x7F401F2: gst_rtsp_source_dispatch (gstrtspconnection.c:3179) ==12160== by 0x61368C1: g_main_context_dispatch (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x613A747: ??? (in /lib/libglib-2.0.so.0.2400.1) ==12160== Address 0xa4b5150 is 16 bytes inside a block of size 72 free'd ==12160== at 0x4C270BD: free (vg_replace_malloc.c:366) ==12160== by 0x505DF41: gst_rtsp_media_factory_finalize (rtsp-media-factory.c:127) ==12160== by 0x555E5A3: g_object_unref (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x6127BD4: ??? (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x6128C5F: ??? (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x418BD2: StreamingClass::removeRtspMedia() (streamingclass.cpp:414) ==12160== by 0x4158F4: StreamingClass::freeClassRes() (streamingclass.cpp:46) ==12160== by 0x40DB72: SocketRequest::parseJsonRequest(QByteArray) (socketrequest.cpp:381) ==12160== by 0x408EA0: SocketRequest::readClientRequest() (socketrequest.cpp:49) ==12160== by 0x41FE39: SocketRequest::qt_metacall(QMetaObject::Call, int, void**) (moc_socketrequest.cpp:81) ==12160== by 0x6884E3E: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3293) ==12160== by 0x648144E: QAbstractSocketPrivate::canReadNotification() (qabstractsocket.cpp:626) ==12160== ==12160== Invalid read of size 8 ==12160== at 0x505D2C7: media_unprepared (rtsp-media-factory.c:391) ==12160== by 0x555C5DD: g_closure_invoke (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x5570597: ??? (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x5571A75: g_signal_emit_valist (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x5572032: g_signal_emit (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x50586D5: gst_rtsp_media_unprepare (rtsp-media.c:1786) ==12160== by 0x505BAA9: gst_rtsp_media_set_state (rtsp-media.c:2022) ==12160== by 0x5063BD6: message_received (rtsp-client.c:538) ==12160== by 0x7F401F2: gst_rtsp_source_dispatch (gstrtspconnection.c:3179) ==12160== by 0x61368C1: g_main_context_dispatch (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x613A747: ??? (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x613AC54: g_main_loop_run (in /lib/libglib-2.0.so.0.2400.1) ==12160== Address 0xa4b4f48 is 56 bytes inside a block of size 72 free'd ==12160== at 0x4C270BD: free (vg_replace_malloc.c:366) ==12160== by 0x557DE49: g_type_free_instance (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x6127BD4: ??? (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x6128C5F: ??? (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x418BD2: StreamingClass::removeRtspMedia() (streamingclass.cpp:414) ==12160== by 0x4158F4: StreamingClass::freeClassRes() (streamingclass.cpp:46) ==12160== by 0x40DB72: SocketRequest::parseJsonRequest(QByteArray) (socketrequest.cpp:381) ==12160== by 0x408EA0: SocketRequest::readClientRequest() (socketrequest.cpp:49) ==12160== by 0x41FE39: SocketRequest::qt_metacall(QMetaObject::Call, int, void**) (moc_socketrequest.cpp:81) ==12160== by 0x6884E3E: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3293) ==12160== by 0x648144E: QAbstractSocketPrivate::canReadNotification() (qabstractsocket.cpp:626) ==12160== by 0x6470600: QReadNotifier::event(QEvent*) (qnativesocketengine.cpp:1094) ==12160== ==12160== Invalid read of size 4 ==12160== at 0x6B91A04: pthread_mutex_unlock (pthread_mutex_unlock.c:37) ==12160== by 0x555C5DD: g_closure_invoke (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x5570597: ??? (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x5571A75: g_signal_emit_valist (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x5572032: g_signal_emit (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x50586D5: gst_rtsp_media_unprepare (rtsp-media.c:1786) ==12160== by 0x505BAA9: gst_rtsp_media_set_state (rtsp-media.c:2022) ==12160== by 0x5063BD6: message_received (rtsp-client.c:538) ==12160== by 0x7F401F2: gst_rtsp_source_dispatch (gstrtspconnection.c:3179) ==12160== by 0x61368C1: g_main_context_dispatch (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x613A747: ??? (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x613AC54: g_main_loop_run (in /lib/libglib-2.0.so.0.2400.1) ==12160== Address 0xa4b50e0 is 16 bytes inside a block of size 40 free'd ==12160== at 0x4C270BD: free (vg_replace_malloc.c:366) ==12160== by 0x505DFAD: gst_rtsp_media_factory_finalize (rtsp-media-factory.c:128) ==12160== by 0x555E5A3: g_object_unref (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x6127BD4: ??? (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x6128C5F: ??? (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x418BD2: StreamingClass::removeRtspMedia() (streamingclass.cpp:414) ==12160== by 0x4158F4: StreamingClass::freeClassRes() (streamingclass.cpp:46) ==12160== by 0x40DB72: SocketRequest::parseJsonRequest(QByteArray) (socketrequest.cpp:381) ==12160== by 0x408EA0: SocketRequest::readClientRequest() (socketrequest.cpp:49) ==12160== by 0x41FE39: SocketRequest::qt_metacall(QMetaObject::Call, int, void**) (moc_socketrequest.cpp:81) ==12160== by 0x6884E3E: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3293) ==12160== by 0x648144E: QAbstractSocketPrivate::canReadNotification() (qabstractsocket.cpp:626) ==12160== ==12160== Invalid read of size 4 ==12160== at 0x6B91570: __pthread_mutex_unlock_full (pthread_mutex_unlock.c:86) ==12160== by 0x555C5DD: g_closure_invoke (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x5570597: ??? (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x5571A75: g_signal_emit_valist (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x5572032: g_signal_emit (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x50586D5: gst_rtsp_media_unprepare (rtsp-media.c:1786) ==12160== by 0x505BAA9: gst_rtsp_media_set_state (rtsp-media.c:2022) ==12160== by 0x5063BD6: message_received (rtsp-client.c:538) ==12160== by 0x7F401F2: gst_rtsp_source_dispatch (gstrtspconnection.c:3179) ==12160== by 0x61368C1: g_main_context_dispatch (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x613A747: ??? (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x613AC54: g_main_loop_run (in /lib/libglib-2.0.so.0.2400.1) ==12160== Address 0xa4b50e0 is 16 bytes inside a block of size 40 free'd ==12160== at 0x4C270BD: free (vg_replace_malloc.c:366) ==12160== by 0x505DFAD: gst_rtsp_media_factory_finalize (rtsp-media-factory.c:128) ==12160== by 0x555E5A3: g_object_unref (in /usr/lib/libgobject-2.0.so.0.2400.1) ==12160== by 0x6127BD4: ??? (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x6128C5F: ??? (in /lib/libglib-2.0.so.0.2400.1) ==12160== by 0x418BD2: StreamingClass::removeRtspMedia() (streamingclass.cpp:414) ==12160== by 0x4158F4: StreamingClass::freeClassRes() (streamingclass.cpp:46) ==12160== by 0x40DB72: SocketRequest::parseJsonRequest(QByteArray) (socketrequest.cpp:381) ==12160== by 0x408EA0: SocketRequest::readClientRequest() (socketrequest.cpp:49) ==12160== by 0x41FE39: SocketRequest::qt_metacall(QMetaObject::Call, int, void**) (moc_socketrequest.cpp:81) ==12160== by 0x6884E3E: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3293) ==12160== by 0x648144E: QAbstractSocketPrivate::canReadNotification() (qabstractsocket.cpp:626) ==12160==
I'm thinking that this is caused by multithreading issues, which could be improved still..
I fixed a lot of rtsp-server memory leaks recently, and I know that it is now valgrind-clean for certain situations. I'm going to mark this obsolete for now, but please reopen if there are valgrind problems with current git.