Skip to content

SD crashes at exit

Quitting Qt after clicking a bit randomly on SD categories:

=================================================================
==13928==ERROR: AddressSanitizer: heap-use-after-free on address 0x6040002a4130 at pc 0x7fdc39de7cef bp 0x7ffc9a9b5850 sp 0x7ffc9a9b5848
READ of size 4 at 0x6040002a4130 thread T0
    [#0](https://code.videolan.org/videolan/vlc/-/issues/0) 0x7fdc39de7cee in playlist_NodeDeleteExplicit ../../src/playlist/tree.c:119
    [#1](https://code.videolan.org/videolan/vlc/-/issues/1) 0x7fdc39de7a3d in playlist_NodeDeleteExplicit ../../src/playlist/tree.c:110
    [#2](https://code.videolan.org/videolan/vlc/-/issues/2) 0x7fdc39de7a3d in playlist_NodeDeleteExplicit ../../src/playlist/tree.c:110
    [#3](https://code.videolan.org/videolan/vlc/-/issues/3) 0x7fdc39df448a in playlist_ServicesDiscoveryInternalRemoveLocked ../../src/playlist/services_discovery.c:162
    [#4](https://code.videolan.org/videolan/vlc/-/issues/4) 0x7fdc39df5477 in playlist_ServicesDiscoveryKillAll ../../src/playlist/services_discovery.c:257
    [#5](https://code.videolan.org/videolan/vlc/-/issues/5) 0x7fdc39ddc011 in playlist_Destroy ../../src/playlist/engine.c:306
    [#6](https://code.videolan.org/videolan/vlc/-/issues/6) 0x7fdc39dd0f24 in intf_DestroyAll ../../src/interface/interface.c:270
    [#7](https://code.videolan.org/videolan/vlc/-/issues/7) 0x7fdc39d72952 in libvlc_InternalCleanup ../../src/libvlc.c:389
    [#8](https://code.videolan.org/videolan/vlc/-/issues/8) 0x7fdc3a874764 in libvlc_release ../../lib/core.c:104
    [#9](https://code.videolan.org/videolan/vlc/-/issues/9) 0x55f323fbac5d in main ../../bin/vlc.c:276
    [#10](https://code.videolan.org/videolan/vlc/-/issues/10) 0x7fdc37cfbf29 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x20f29)
    [#11](https://code.videolan.org/videolan/vlc/-/issues/11) 0x55f323fb9df9 in _start (/home/remi/videolan/vlc/build/bin/vlc-static+0x4df9)

0x6040002a4130 is located 32 bytes inside of 40-byte region [0x6040002a4110,0x6040002a4138)
freed by thread T0 here:
    [#0](https://code.videolan.org/videolan/vlc/-/issues/0) 0x7fdc3ac1f8c8 in __interceptor_free (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xd98c8)
    [#1](https://code.videolan.org/videolan/vlc/-/issues/1) 0x7fdc39ded723 in playlist_ItemRelease ../../src/playlist/item.c:367
    [#2](https://code.videolan.org/videolan/vlc/-/issues/2) 0x7fdc39de9141 in playlist_NodeDeleteExplicit ../../src/playlist/tree.c:146
    [#3](https://code.videolan.org/videolan/vlc/-/issues/3) 0x7fdc39de7a3d in playlist_NodeDeleteExplicit ../../src/playlist/tree.c:110
    [#4](https://code.videolan.org/videolan/vlc/-/issues/4) 0x7fdc39df448a in playlist_ServicesDiscoveryInternalRemoveLocked ../../src/playlist/services_discovery.c:162
    [#5](https://code.videolan.org/videolan/vlc/-/issues/5) 0x7fdc39df5477 in playlist_ServicesDiscoveryKillAll ../../src/playlist/services_discovery.c:257
    [#6](https://code.videolan.org/videolan/vlc/-/issues/6) 0x7fdc39ddc011 in playlist_Destroy ../../src/playlist/engine.c:306
    [#7](https://code.videolan.org/videolan/vlc/-/issues/7) 0x7fdc39dd0f24 in intf_DestroyAll ../../src/interface/interface.c:270
    [#8](https://code.videolan.org/videolan/vlc/-/issues/8) 0x7fdc39d72952 in libvlc_InternalCleanup ../../src/libvlc.c:389
    [#9](https://code.videolan.org/videolan/vlc/-/issues/9) 0x7fdc3a874764 in libvlc_release ../../lib/core.c:104
    [#10](https://code.videolan.org/videolan/vlc/-/issues/10) 0x55f323fbac5d in main ../../bin/vlc.c:276
    [#11](https://code.videolan.org/videolan/vlc/-/issues/11) 0x7fdc37cfbf29 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x20f29)

previously allocated by thread T12 here:
    [#0](https://code.videolan.org/videolan/vlc/-/issues/0) 0x7fdc3ac1fc20 in __interceptor_malloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xd9c20)
    [#1](https://code.videolan.org/videolan/vlc/-/issues/1) 0x7fdc39dec971 in playlist_ItemNewFromInput ../../src/playlist/item.c:263
    [#2](https://code.videolan.org/videolan/vlc/-/issues/2) 0x7fdc39dee02e in playlist_NodeAddInput ../../src/playlist/item.c:532
    [#3](https://code.videolan.org/videolan/vlc/-/issues/3) 0x7fdc39df34c2 in playlist_sd_item_added ../../src/playlist/services_discovery.c:74
    [#4](https://code.videolan.org/videolan/vlc/-/issues/4) 0x7fdc2cc67e0c in services_discovery_AddItem ../../include/vlc_services_discovery.h:160
    [#5](https://code.videolan.org/videolan/vlc/-/issues/5) 0x7fdc2cc6b5b8 in vlclua_sd_add_common ../../modules/lua/libs/sd.c:355
    [#6](https://code.videolan.org/videolan/vlc/-/issues/6) 0x7fdc2cc6b643 in vlclua_sd_add_node ../../modules/lua/libs/sd.c:370
    [#7](https://code.videolan.org/videolan/vlc/-/issues/7) 0x7fdc2c955c74  (/usr/lib/x86_64-linux-gnu/liblua5.2.so.0+0xcc74)

Thread T12 created by T7 here:
    [#0](https://code.videolan.org/videolan/vlc/-/issues/0) 0x7fdc3ab7d390 in __interceptor_pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.4+0x37390)
    [#1](https://code.videolan.org/videolan/vlc/-/issues/1) 0x7fdc39fe5019 in vlc_clone_attr ../../src/posix/thread.c:488
    [#2](https://code.videolan.org/videolan/vlc/-/issues/2) 0x7fdc39fe521c in vlc_clone ../../src/posix/thread.c:500
    [#3](https://code.videolan.org/videolan/vlc/-/issues/3) 0x7fdc2cc451e5 in Open_LuaSD ../../modules/lua/services_discovery.c:239
    [#4](https://code.videolan.org/videolan/vlc/-/issues/4) 0x7fdc39db7160 in generic_start ../../src/modules/modules.c:338
    [#5](https://code.videolan.org/videolan/vlc/-/issues/5) 0x7fdc39db62e7 in module_load ../../src/modules/modules.c:185
    [#6](https://code.videolan.org/videolan/vlc/-/issues/6) 0x7fdc39db698c in vlc_module_load ../../src/modules/modules.c:262
    [#7](https://code.videolan.org/videolan/vlc/-/issues/7) 0x7fdc39db72b1 in module_need ../../src/modules/modules.c:353
    [#8](https://code.videolan.org/videolan/vlc/-/issues/8) 0x7fdc39ea12e5 in vlc_sd_Create ../../src/input/services_discovery.c:118
    [#9](https://code.videolan.org/videolan/vlc/-/issues/9) 0x7fdc39df3b24 in playlist_ServicesDiscoveryAdd ../../src/playlist/services_discovery.c:128
    [#10](https://code.videolan.org/videolan/vlc/-/issues/10) 0x7fdc13cb10c5 in PLSelector::setSource(QTreeWidgetItem*) ../../modules/gui/qt/components/playlist/selector.cpp:364
    [#11](https://code.videolan.org/videolan/vlc/-/issues/11) 0x7fdc13ec53d6 in PLSelector::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) gui/qt/components/playlist/selector.moc.cpp:243
    [#12](https://code.videolan.org/videolan/vlc/-/issues/12) 0x7fdc10d8fd54 in QMetaObject::activate(QObject*, int, int, void**) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2b8d54)
    [#13](https://code.videolan.org/videolan/vlc/-/issues/13) 0x7fdc11f3f51f in QTreeWidget::itemClicked(QTreeWidgetItem*, int) (/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x41251f)
    [#14](https://code.videolan.org/videolan/vlc/-/issues/14) 0x7fdc11ec8144 in QAbstractItemView::clicked(QModelIndex const&) (/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x39b144)
    [#15](https://code.videolan.org/videolan/vlc/-/issues/15) 0xdd0000004a  (<unknown module>)

Thread T7 created by T0 here:
    [#0](https://code.videolan.org/videolan/vlc/-/issues/0) 0x7fdc3ab7d390 in __interceptor_pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.4+0x37390)
    [#1](https://code.videolan.org/videolan/vlc/-/issues/1) 0x7fdc39fe5019 in vlc_clone_attr ../../src/posix/thread.c:488
    [#2](https://code.videolan.org/videolan/vlc/-/issues/2) 0x7fdc39fe521c in vlc_clone ../../src/posix/thread.c:500
    [#3](https://code.videolan.org/videolan/vlc/-/issues/3) 0x7fdc135167a5 in Open ../../modules/gui/qt/qt.cpp:440
    [#4](https://code.videolan.org/videolan/vlc/-/issues/4) 0x7fdc13516986 in OpenIntf ../../modules/gui/qt/qt.cpp:460
    [#5](https://code.videolan.org/videolan/vlc/-/issues/5) 0x7fdc39db7160 in generic_start ../../src/modules/modules.c:338
    [#6](https://code.videolan.org/videolan/vlc/-/issues/6) 0x7fdc39db62e7 in module_load ../../src/modules/modules.c:185
    [#7](https://code.videolan.org/videolan/vlc/-/issues/7) 0x7fdc39db698c in vlc_module_load ../../src/modules/modules.c:262
    [#8](https://code.videolan.org/videolan/vlc/-/issues/8) 0x7fdc39db72b1 in module_need ../../src/modules/modules.c:353
    [#9](https://code.videolan.org/videolan/vlc/-/issues/9) 0x7fdc39dd03bb in intf_Create ../../src/interface/interface.c:112
    [#10](https://code.videolan.org/videolan/vlc/-/issues/10) 0x7fdc39dd0bba in libvlc_InternalAddIntf ../../src/interface/interface.c:228
    [#11](https://code.videolan.org/videolan/vlc/-/issues/11) 0x7fdc3a8797e6 in libvlc_add_intf ../../lib/playlist.c:46
    [#12](https://code.videolan.org/videolan/vlc/-/issues/12) 0x55f323fbab25 in main ../../bin/vlc.c:245
    [#13](https://code.videolan.org/videolan/vlc/-/issues/13) 0x7fdc37cfbf29 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x20f29)

SUMMARY: AddressSanitizer: heap-use-after-free ../../src/playlist/tree.c:119 in playlist_NodeDeleteExplicit
Shadow bytes around the buggy address:
  0x0c088004c7d0: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fa
  0x0c088004c7e0: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fa
  0x0c088004c7f0: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fa
  0x0c088004c800: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fd
  0x0c088004c810: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fa
=>0x0c088004c820: fa fa fd fd fd fd[fd]fa fa fa fd fd fd fd fd fa
  0x0c088004c830: fa fa fd fd fd fd fd fd fa fa fd fd fd fd fd fa
  0x0c088004c840: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fa
  0x0c088004c850: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fd
  0x0c088004c860: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fa
  0x0c088004c870: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fa
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
==13928==ABORTING
Edited by Rémi Denis-Courmont
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information