Skip to content

dbus memory leak

Probably from c839ffd9 (!3029 (merged)).

To reproduce:

./vlc -Idummy some_file

Then Ctrl+C:

=================================================================
==256234==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 32 byte(s) in 1 object(s) allocated from:
    #0 0x7fec1b2b89cf in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
    #1 0x7fec11eb691e in tracklist_append_event_create ../../modules/control/dbus/dbus_tracklist.c:41
    #2 0x7fec11ec4ec3 in playlist_on_items_added ../../modules/control/dbus/dbus.c:1051
    #3 0x7fec1a425650 in vlc_playlist_ItemsInserted ../../src/playlist/content.c:76
    #4 0x7fec1a429ea5 in vlc_playlist_Insert ../../src/playlist/content.c:285
    #5 0x7fec1a420d41 in vlc_playlist_InsertOne ../../include/vlc_playlist.h:461
    #6 0x7fec1a42220e in intf_InsertItem ../../src/interface/interface.c:218
    #7 0x7fec1a3af4f7 in GetFilenames ../../src/libvlc.c:446
    #8 0x7fec1a3ae48c in libvlc_InternalInit ../../src/libvlc.c:304
    #9 0x7fec1b12eb28 in libvlc_new ../../lib/core.c:68
    #10 0x55a81a334285 in main ../../bin/vlc.c:230
    #11 0x7fec19446189 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58

Indirect leak of 344 byte(s) in 1 object(s) allocated from:
    #0 0x7fec1b2b83b7 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77
    #1 0x7fec1a469362 in input_item_NewExt ../../src/input/item.c:1037
    #2 0x7fec1a42219a in intf_InsertItem ../../src/interface/interface.c:205
    #3 0x7fec1a3af4f7 in GetFilenames ../../src/libvlc.c:446
    #4 0x7fec1a3ae48c in libvlc_InternalInit ../../src/libvlc.c:304
    #5 0x7fec1b12eb28 in libvlc_new ../../lib/core.c:68
    #6 0x55a81a334285 in main ../../bin/vlc.c:230
    #7 0x7fec19446189 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58

Indirect leak of 248 byte(s) in 1 object(s) allocated from:
    #0 0x7fec1b2b89cf in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
    #1 0x7fec1a46cdea in input_item_UpdateTracksInfo ../../src/input/item.c:1298
    #2 0x7fec1a4fc81f in EsOutUpdateInfo ../../src/input/es_out.c:4228
    #3 0x7fec1a4eb395 in EsOutSend ../../src/input/es_out.c:3028
    #4 0x7fec1a502809 in es_out_Send ../../include/vlc_es_out.h:161
    #5 0x7fec1a513b40 in CmdExecuteSend ../../src/input/es_out_timeshift.c:1484
    #6 0x7fec1a504aa2 in Send ../../src/input/es_out_timeshift.c:486
    #7 0x7fec0d8a369b in es_out_Send ../../include/vlc_es_out.h:161
    #8 0x7fec0d8abf31 in Demux ../../modules/demux/flac.c:397
    #9 0x7fec1a4b79ea in demux_Demux ../../src/input/demux.c:212
    #10 0x7fec1a524fc2 in MainLoopDemux ../../src/input/input.c:498
    #11 0x7fec1a52742a in MainLoop ../../src/input/input.c:645
    #12 0x7fec1a5247a9 in Run ../../src/input/input.c:428
    #13 0x7fec194a7fd3 in start_thread nptl/pthread_create.c:442

Indirect leak of 240 byte(s) in 1 object(s) allocated from:
    #0 0x7fec1b2b89cf in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
    #1 0x7fec1a54f41d in vlc_meta_New ../../src/input/meta.c:99
    #2 0x7fec1a469477 in input_item_NewExt ../../src/input/item.c:1046
    #3 0x7fec1a42219a in intf_InsertItem ../../src/interface/interface.c:205
    #4 0x7fec1a3af4f7 in GetFilenames ../../src/libvlc.c:446
    #5 0x7fec1a3ae48c in libvlc_InternalInit ../../src/libvlc.c:304
    #6 0x7fec1b12eb28 in libvlc_new ../../lib/core.c:68
    #7 0x55a81a334285 in main ../../bin/vlc.c:230
    #8 0x7fec19446189 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58

Indirect leak of 123 byte(s) in 5 object(s) allocated from:
    #0 0x7fec1b27077b in __interceptor_strdup ../../../../src/libsanitizer/asan/asan_interceptors.cpp:439
    #1 0x7fec1a550156 in vlc_meta_Merge ../../src/input/meta.c:192
    #2 0x7fec1a4da533 in EsOutMeta ../../src/input/es_out.c:1960
    #3 0x7fec1a4daa2a in EsOutGlobalMeta ../../src/input/es_out.c:2001
    #4 0x7fec1a4f2dad in EsOutVaControlLocked ../../src/input/es_out.c:3608
    #5 0x7fec1a4fa2a1 in EsOutControl ../../src/input/es_out.c:4019
    #6 0x7fec1a504fde in es_out_in_vaControl ../../src/input/es_out_timeshift.c:513
    #7 0x7fec1a5050fc in es_out_in_Control ../../src/input/es_out_timeshift.c:523
    #8 0x7fec1a518616 in CmdExecuteControl ../../src/input/es_out_timeshift.c:1698
    #9 0x7fec1a5067d2 in ControlLocked ../../src/input/es_out_timeshift.c:684
    #10 0x7fec1a5081b3 in Control ../../src/input/es_out_timeshift.c:772
    #11 0x7fec1a51d299 in es_out_vaControl ../../include/vlc_es_out.h:166
    #12 0x7fec1a51d3b2 in es_out_Control ../../include/vlc_es_out.h:175
    #13 0x7fec1a51d51e in es_out_ControlSetMeta ../../include/vlc_es_out.h:192
    #14 0x7fec1a530974 in Init ../../src/input/input.c:1350
    #15 0x7fec1a52488b in Preparse ../../src/input/input.c:447
    #16 0x7fec194a7fd3 in start_thread nptl/pthread_create.c:442

Indirect leak of 120 byte(s) in 1 object(s) allocated from:
    #0 0x7fec1b2b83b7 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77
    #1 0x7fec1a522bbe in input_Create ../../src/input/input.c:293
    #2 0x7fec1a46e5f0 in input_item_Parse ../../src/input/item.c:1394
    #3 0x7fec1a456a8d in Parse ../../src/preparser/preparser.c:192
    #4 0x7fec1a45772c in RunnableRun ../../src/preparser/preparser.c:246
    #5 0x7fec1a6d0714 in ThreadRun ../../src/misc/executor.c:134
    #6 0x7fec194a7fd3 in start_thread nptl/pthread_create.c:442

Indirect leak of 115 byte(s) in 1 object(s) allocated from:
    #0 0x7fec1b27077b in __interceptor_strdup ../../../../src/libsanitizer/asan/asan_interceptors.cpp:439
    #1 0x7fec1a45f37d in input_item_SetURI ../../src/input/item.c:310
    #2 0x7fec1a4696d3 in input_item_NewExt ../../src/input/item.c:1061
    #3 0x7fec1a42219a in intf_InsertItem ../../src/interface/interface.c:205
    #4 0x7fec1a3af4f7 in GetFilenames ../../src/libvlc.c:446
    #5 0x7fec1a3ae48c in libvlc_InternalInit ../../src/libvlc.c:304
    #6 0x7fec1b12eb28 in libvlc_new ../../lib/core.c:68
    #7 0x55a81a334285 in main ../../bin/vlc.c:230
    #8 0x7fec19446189 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58

Indirect leak of 52 byte(s) in 1 object(s) allocated from:
    #0 0x7fec1b27077b in __interceptor_strdup ../../../../src/libsanitizer/asan/asan_interceptors.cpp:439
    #1 0x7fec1a45ede2 in input_item_SetName ../../src/input/item.c:284
    #2 0x7fec1a4da5f3 in EsOutMeta ../../src/input/es_out.c:1966
    #3 0x7fec1a4daa2a in EsOutGlobalMeta ../../src/input/es_out.c:2001
    #4 0x7fec1a4f2dad in EsOutVaControlLocked ../../src/input/es_out.c:3608
    #5 0x7fec1a4fa2a1 in EsOutControl ../../src/input/es_out.c:4019
    #6 0x7fec1a504fde in es_out_in_vaControl ../../src/input/es_out_timeshift.c:513
    #7 0x7fec1a5050fc in es_out_in_Control ../../src/input/es_out_timeshift.c:523
    #8 0x7fec1a518616 in CmdExecuteControl ../../src/input/es_out_timeshift.c:1698
    #9 0x7fec1a5067d2 in ControlLocked ../../src/input/es_out_timeshift.c:684
    #10 0x7fec1a5081b3 in Control ../../src/input/es_out_timeshift.c:772
    #11 0x7fec1a51d299 in es_out_vaControl ../../include/vlc_es_out.h:166
    #12 0x7fec1a51d3b2 in es_out_Control ../../include/vlc_es_out.h:175
    #13 0x7fec1a51d51e in es_out_ControlSetMeta ../../include/vlc_es_out.h:192
    #14 0x7fec1a530974 in Init ../../src/input/input.c:1350
    #15 0x7fec1a52488b in Preparse ../../src/input/input.c:447
    #16 0x7fec194a7fd3 in start_thread nptl/pthread_create.c:442

Indirect leak of 24 byte(s) in 1 object(s) allocated from:
    #0 0x7fec1b2b89cf in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
    #1 0x7fec1a432bd7 in vlc_playlist_item_New ../../src/playlist/item.c:33
    #2 0x7fec1a4286d7 in vlc_playlist_MediaToItems ../../src/playlist/content.c:250
    #3 0x7fec1a42932b in vlc_playlist_Insert ../../src/playlist/content.c:276
    #4 0x7fec1a420d41 in vlc_playlist_InsertOne ../../include/vlc_playlist.h:461
    #5 0x7fec1a42220e in intf_InsertItem ../../src/interface/interface.c:218
    #6 0x7fec1a3af4f7 in GetFilenames ../../src/libvlc.c:446
    #7 0x7fec1a3ae48c in libvlc_InternalInit ../../src/libvlc.c:304
    #8 0x7fec1b12eb28 in libvlc_new ../../lib/core.c:68
    #9 0x55a81a334285 in main ../../bin/vlc.c:230
    #10 0x7fec19446189 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58

Indirect leak of 8 byte(s) in 1 object(s) allocated from:
    #0 0x7fec1b2b89cf in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
    #1 0x7fec1a46d6cc in input_item_UpdateTracksInfo ../../src/input/item.c:1320
    #2 0x7fec1a4fc81f in EsOutUpdateInfo ../../src/input/es_out.c:4228
    #3 0x7fec1a4dfd04 in EsOutAddLocked ../../src/input/es_out.c:2249
    #4 0x7fec1a4dfec9 in EsOutAdd ../../src/input/es_out.c:2266
    #5 0x7fec1a512c07 in CmdExecuteAdd ../../src/input/es_out_timeshift.c:1455
    #6 0x7fec1a50471b in Add ../../src/input/es_out_timeshift.c:466
    #7 0x7fec0d8a35af in es_out_Add ../../include/vlc_es_out.h:150
    #8 0x7fec0d8a8ae0 in Open ../../modules/demux/flac.c:179
    #9 0x7fec1a4b6525 in demux_Probe ../../src/input/demux.c:111
    #10 0x7fec1a402095 in vlc_module_load ../../src/modules/modules.c:243
    #11 0x7fec1a4b767a in demux_NewAdvanced ../../src/input/demux.c:194
    #12 0x7fec1a540831 in InputDemuxNew ../../src/input/input.c:2560
    #13 0x7fec1a541d6c in InputSourceInit ../../src/input/input.c:2694
    #14 0x7fec1a52fd89 in Init ../../src/input/input.c:1288
    #15 0x7fec1a52488b in Preparse ../../src/input/input.c:447
    #16 0x7fec194a7fd3 in start_thread nptl/pthread_create.c:442

SUMMARY: AddressSanitizer: 1306 byte(s) leaked in 14 allocation(s).
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information