mickelson / attract

A graphical front-end for command line emulators that hides the underlying operating system and is intended to be controlled with a joystick or gamepad.
http://attractmode.org
GNU General Public License v3.0
393 stars 115 forks source link

core dump: double free or corruption (!prev) #692

Open rcampbel3 opened 2 years ago

rcampbel3 commented 2 years ago

I've started to get this coredump more frequently, and sometimes it happens repeatedly, other times not. Hope this valgrind output provides you with some valuable information

$ ./attract 
Attract-Mode v2.6.1 (Linux, SFML 2.5.1 +FontConfig +Xinerama +SWF +7z +Curl) 
avcodec 58.134.100 / avformat 58.76.100 / swscale 5.9.100 / avutil 56.70.100 / swresample 3.9.100

Config: /home/ross/.attract/attract.cfg

*** Initializing display: 'Future Pinball'
 - Loaded master romlist 'Future Pinball' in 1 ms (392 entries kept, 0 discarded)
 - Constructed 2 filters in 0 ms (784 comparisons)
 - Loaded layout: /home/ross/.attract/layouts/unified_systems/ (layout.nut)

*** Initializing display: 'LowRes NX'
 - Loaded master romlist 'LowRes NX' in 0 ms (54 entries kept, 0 discarded)
 - Constructed 2 filters in 0 ms (108 comparisons)
double free or corruption (!prev)
**Aborted (core dumped)**

I ran valgrind against my build of the latest source on Ubuntu 20.04 and get this:

$ valgrind --leak-check=yes --track-origins=yes ./attract 
==1888551== Memcheck, a memory error detector
==1888551== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==1888551== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info
==1888551== Command: ./attract
==1888551== 
Attract-Mode v2.6.1 (Linux, SFML 2.5.1 +FontConfig +Xinerama +SWF +7z +Curl) 
avcodec 58.134.100 / avformat 58.76.100 / swscale 5.9.100 / avutil 56.70.100 / swresample 3.9.100

Config: /home/ross/.attract/attract.cfg

*** Initializing display: 'Visual Pinball'
 - Loaded master romlist 'Visual Pinball' in 128 ms (350 entries kept, 0 discarded)
 - Constructed 2 filters in 6 ms (700 comparisons)
==1888551== Syscall param sendmsg(msg.msg_iov[0]) points to uninitialised byte(s)
==1888551==    at 0x49BF12D: __libc_sendmsg (sendmsg.c:28)
==1888551==    by 0x49BF12D: sendmsg (sendmsg.c:25)
==1888551==    by 0x6FB4D17: ??? (in /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0)
==1888551==    by 0x6FB5328: ??? (in /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0)
==1888551==    by 0x6FB55B6: ??? (in /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0)
==1888551==    by 0x6FB5E1F: xcb_flush (in /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0)
==1888551==    by 0x22491FD0: ??? (in /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.470.74)
==1888551==    by 0x22492FC9: ??? (in /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.470.74)
==1888551==    by 0x2248D06E: ??? (in /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.470.74)
==1888551==    by 0x22491D48: ??? (in /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.470.74)
==1888551==    by 0x2242EB24: ??? (in /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.470.74)
==1888551==    by 0x2242F47F: ??? (in /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.470.74)
==1888551==    by 0x23A4258D: ??? (in /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.470.74)
==1888551==  Address 0x10799ffd is 4,557 bytes inside a block of size 21,168 alloc'd
==1888551==    at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1888551==    by 0x6FB4884: xcb_connect_to_fd (in /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0)
==1888551==    by 0x6FB8B72: xcb_connect_to_display_with_auth_info (in /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0)
==1888551==    by 0x4A98D29: _XConnectXCB (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
==1888551==    by 0x4A893A8: XOpenDisplay (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
==1888551==    by 0x48E151F: ??? (in /usr/lib/x86_64-linux-gnu/libsfml-window.so.2.5.1)
==1888551==    by 0x48EAD8B: ??? (in /usr/lib/x86_64-linux-gnu/libsfml-window.so.2.5.1)
==1888551==    by 0x48DC3CE: ??? (in /usr/lib/x86_64-linux-gnu/libsfml-window.so.2.5.1)
==1888551==    by 0x48DE1E2: sf::Window::Window() (in /usr/lib/x86_64-linux-gnu/libsfml-window.so.2.5.1)
==1888551==    by 0x48A8972: sf::RenderWindow::RenderWindow() (in /usr/lib/x86_64-linux-gnu/libsfml-graphics.so.2.5.1)
==1888551==    by 0x254684: FeWindow::initial_create() (in /home/ross/project/attract/attract)
==1888551==    by 0x1C59B7: main (in /home/ross/project/attract/attract)
==1888551==  Uninitialised value was created by a stack allocation
==1888551==    at 0x22491B3F: ??? (in /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.470.74)
==1888551== 
==1888551== Warning: unimplemented fcntl command: 1033
 - Loaded layout: /home/ross/.attract/layouts/unified_systems/ (layout.nut)

*** Initializing display: 'Arcade'
 - Loaded master romlist 'Arcade' in 15534 ms (35240 entries kept, 0 discarded)
 - Constructed 2 filters in 316 ms (70480 comparisons)
 - Loaded layout: /usr/local/share/attract/layouts/Cools/ (layout.nut)

*** Initializing display: 'Atari Classics'
FFmpeg: mmco: unref short failure
 - Loaded master romlist 'Atari Classics' in 1137 ms (121 entries kept, 0 discarded)
 - Constructed 2 filters in 2 ms (242 comparisons)
 - Loaded layout: /home/ross/.attract/layouts/cosmo-arcade/ (layout.nut)

*** Initializing display: 'Capcom Classics'
 - Loaded master romlist 'Capcom Classics' in 1167 ms (110 entries kept, 0 discarded)
 - Constructed 2 filters in 0 ms (220 comparisons)
==1888551== 
==1888551== HEAP SUMMARY:
==1888551==     in use at exit: 304,730 bytes in 1,762 blocks
==1888551==   total heap usage: 647,217 allocs, 645,455 frees, 10,624,083,047 bytes allocated
==1888551== 
==1888551== 16 bytes in 1 blocks are possibly lost in loss record 258 of 797
==1888551==    at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1888551==    by 0x8F18EF0: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.6)
==1888551==    by 0x8E97DDE: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E9B0D6: g_type_register_fundamental (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E76EDE: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E700B7: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x4011B89: call_init.part.0 (dl-init.c:72)
==1888551==    by 0x4011C90: call_init (dl-init.c:30)
==1888551==    by 0x4011C90: _dl_init (dl-init.c:119)
==1888551==    by 0x4001139: ??? (in /usr/lib/x86_64-linux-gnu/ld-2.31.so)
==1888551== 
==1888551== 16 bytes in 1 blocks are possibly lost in loss record 259 of 797
==1888551==    at 0x483B723: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1888551==    by 0x483E017: realloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1888551==    by 0x8F18F3F: g_realloc (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.6)
==1888551==    by 0x8E97D57: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E9B0D6: g_type_register_fundamental (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E76EDE: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E700B7: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x4011B89: call_init.part.0 (dl-init.c:72)
==1888551==    by 0x4011C90: call_init (dl-init.c:30)
==1888551==    by 0x4011C90: _dl_init (dl-init.c:119)
==1888551==    by 0x4001139: ??? (in /usr/lib/x86_64-linux-gnu/ld-2.31.so)
==1888551== 
==1888551== 16 bytes in 1 blocks are possibly lost in loss record 260 of 797
==1888551==    at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1888551==    by 0x8F18EF0: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.6)
==1888551==    by 0x8E97DDE: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E9B0D6: g_type_register_fundamental (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E76F41: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E700B7: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x4011B89: call_init.part.0 (dl-init.c:72)
==1888551==    by 0x4011C90: call_init (dl-init.c:30)
==1888551==    by 0x4011C90: _dl_init (dl-init.c:119)
==1888551==    by 0x4001139: ??? (in /usr/lib/x86_64-linux-gnu/ld-2.31.so)
==1888551== 
==1888551== 16 bytes in 1 blocks are possibly lost in loss record 261 of 797
==1888551==    at 0x483B723: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1888551==    by 0x483E017: realloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1888551==    by 0x8F18F3F: g_realloc (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.6)
==1888551==    by 0x8E97D57: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E9B0D6: g_type_register_fundamental (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E76F41: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E700B7: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x4011B89: call_init.part.0 (dl-init.c:72)
==1888551==    by 0x4011C90: call_init (dl-init.c:30)
==1888551==    by 0x4011C90: _dl_init (dl-init.c:119)
==1888551==    by 0x4001139: ??? (in /usr/lib/x86_64-linux-gnu/ld-2.31.so)
==1888551== 
==1888551== 16 bytes in 1 blocks are possibly lost in loss record 262 of 797
==1888551==    at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1888551==    by 0x8F18EF0: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.6)
==1888551==    by 0x8E97DDE: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E9B0D6: g_type_register_fundamental (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E80FFF: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E700C1: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x4011B89: call_init.part.0 (dl-init.c:72)
==1888551==    by 0x4011C90: call_init (dl-init.c:30)
==1888551==    by 0x4011C90: _dl_init (dl-init.c:119)
==1888551==    by 0x4001139: ??? (in /usr/lib/x86_64-linux-gnu/ld-2.31.so)
==1888551== 
==1888551== 16 bytes in 1 blocks are possibly lost in loss record 263 of 797
==1888551==    at 0x483B723: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1888551==    by 0x483E017: realloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1888551==    by 0x8F18F3F: g_realloc (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.6)
==1888551==    by 0x8E97D57: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E9B0D6: g_type_register_fundamental (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E80FFF: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E700C1: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x4011B89: call_init.part.0 (dl-init.c:72)
==1888551==    by 0x4011C90: call_init (dl-init.c:30)
==1888551==    by 0x4011C90: _dl_init (dl-init.c:119)
==1888551==    by 0x4001139: ??? (in /usr/lib/x86_64-linux-gnu/ld-2.31.so)
==1888551== 
==1888551== 16 bytes in 1 blocks are possibly lost in loss record 264 of 797
==1888551==    at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1888551==    by 0x8F18EF0: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.6)
==1888551==    by 0x8E97DDE: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E9B0D6: g_type_register_fundamental (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E7BCC3: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E700C6: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x4011B89: call_init.part.0 (dl-init.c:72)
==1888551==    by 0x4011C90: call_init (dl-init.c:30)
==1888551==    by 0x4011C90: _dl_init (dl-init.c:119)
==1888551==    by 0x4001139: ??? (in /usr/lib/x86_64-linux-gnu/ld-2.31.so)
==1888551== 
==1888551== 16 bytes in 1 blocks are possibly lost in loss record 265 of 797
==1888551==    at 0x483B723: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1888551==    by 0x483E017: realloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1888551==    by 0x8F18F3F: g_realloc (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.6)
==1888551==    by 0x8E97D57: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E9B0D6: g_type_register_fundamental (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E7BCC3: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E700C6: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x4011B89: call_init.part.0 (dl-init.c:72)
==1888551==    by 0x4011C90: call_init (dl-init.c:30)
==1888551==    by 0x4011C90: _dl_init (dl-init.c:119)
==1888551==    by 0x4001139: ??? (in /usr/lib/x86_64-linux-gnu/ld-2.31.so)
==1888551== 
==1888551== 96 bytes in 1 blocks are possibly lost in loss record 624 of 797
==1888551==    at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1888551==    by 0x8F18EF0: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.6)
==1888551==    by 0x8E970E7: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E9728A: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E6FFDE: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x4011B89: call_init.part.0 (dl-init.c:72)
==1888551==    by 0x4011C90: call_init (dl-init.c:30)
==1888551==    by 0x4011C90: _dl_init (dl-init.c:119)
==1888551==    by 0x4001139: ??? (in /usr/lib/x86_64-linux-gnu/ld-2.31.so)
==1888551== 
==1888551== 96 bytes in 1 blocks are possibly lost in loss record 625 of 797
==1888551==    at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1888551==    by 0x8F18EF0: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.6)
==1888551==    by 0x8E970E7: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E9728A: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E9B0C8: g_type_register_fundamental (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E76EDE: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E700B7: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x4011B89: call_init.part.0 (dl-init.c:72)
==1888551==    by 0x4011C90: call_init (dl-init.c:30)
==1888551==    by 0x4011C90: _dl_init (dl-init.c:119)
==1888551==    by 0x4001139: ??? (in /usr/lib/x86_64-linux-gnu/ld-2.31.so)
==1888551== 
==1888551== 96 bytes in 1 blocks are possibly lost in loss record 626 of 797
==1888551==    at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1888551==    by 0x8F18EF0: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.6)
==1888551==    by 0x8E970E7: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E9728A: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E9B0C8: g_type_register_fundamental (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E76F41: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E700B7: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x4011B89: call_init.part.0 (dl-init.c:72)
==1888551==    by 0x4011C90: call_init (dl-init.c:30)
==1888551==    by 0x4011C90: _dl_init (dl-init.c:119)
==1888551==    by 0x4001139: ??? (in /usr/lib/x86_64-linux-gnu/ld-2.31.so)
==1888551== 
==1888551== 96 bytes in 1 blocks are possibly lost in loss record 627 of 797
==1888551==    at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1888551==    by 0x8F18EF0: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.6)
==1888551==    by 0x8E970E7: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E9728A: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E9B0C8: g_type_register_fundamental (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E80FFF: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E700C1: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x4011B89: call_init.part.0 (dl-init.c:72)
==1888551==    by 0x4011C90: call_init (dl-init.c:30)
==1888551==    by 0x4011C90: _dl_init (dl-init.c:119)
==1888551==    by 0x4001139: ??? (in /usr/lib/x86_64-linux-gnu/ld-2.31.so)
==1888551== 
==1888551== 96 bytes in 1 blocks are possibly lost in loss record 628 of 797
==1888551==    at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1888551==    by 0x8F18EF0: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.6)
==1888551==    by 0x8E970E7: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E9728A: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E9B0C8: g_type_register_fundamental (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E7BCC3: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E700C6: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x4011B89: call_init.part.0 (dl-init.c:72)
==1888551==    by 0x4011C90: call_init (dl-init.c:30)
==1888551==    by 0x4011C90: _dl_init (dl-init.c:119)
==1888551==    by 0x4001139: ??? (in /usr/lib/x86_64-linux-gnu/ld-2.31.so)
==1888551== 
==1888551== 128 bytes in 1 blocks are definitely lost in loss record 646 of 797
==1888551==    at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1888551==    by 0x239A329B: ??? (in /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.470.74)
==1888551==    by 0x23998839: ??? (in /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.470.74)
==1888551==    by 0x239972BE: ??? (in /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.470.74)
==1888551==    by 0x239A7448: ??? (in /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.470.74)
==1888551==    by 0x2242DC68: ??? (in /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.470.74)
==1888551==    by 0x22493C45: ??? (in /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.470.74)
==1888551==    by 0x2242D1DA: ??? (in /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.470.74)
==1888551== 
==1888551== 132 bytes in 1 blocks are possibly lost in loss record 648 of 797
==1888551==    at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1888551==    by 0x8F18EF0: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.6)
==1888551==    by 0x8E980F4: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E9B159: g_type_register_fundamental (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E76EDE: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E700B7: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x4011B89: call_init.part.0 (dl-init.c:72)
==1888551==    by 0x4011C90: call_init (dl-init.c:30)
==1888551==    by 0x4011C90: _dl_init (dl-init.c:119)
==1888551==    by 0x4001139: ??? (in /usr/lib/x86_64-linux-gnu/ld-2.31.so)
==1888551== 
==1888551== 132 bytes in 1 blocks are possibly lost in loss record 649 of 797
==1888551==    at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1888551==    by 0x8F18EF0: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.6)
==1888551==    by 0x8E980F4: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E9B159: g_type_register_fundamental (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E76F41: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E700B7: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x4011B89: call_init.part.0 (dl-init.c:72)
==1888551==    by 0x4011C90: call_init (dl-init.c:30)
==1888551==    by 0x4011C90: _dl_init (dl-init.c:119)
==1888551==    by 0x4001139: ??? (in /usr/lib/x86_64-linux-gnu/ld-2.31.so)
==1888551== 
==1888551== 148 bytes in 1 blocks are possibly lost in loss record 653 of 797
==1888551==    at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1888551==    by 0x8F18EF0: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.6)
==1888551==    by 0x8E97F08: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E9B159: g_type_register_fundamental (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E80FFF: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E700C1: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x4011B89: call_init.part.0 (dl-init.c:72)
==1888551==    by 0x4011C90: call_init (dl-init.c:30)
==1888551==    by 0x4011C90: _dl_init (dl-init.c:119)
==1888551==    by 0x4001139: ??? (in /usr/lib/x86_64-linux-gnu/ld-2.31.so)
==1888551== 
==1888551== 148 bytes in 1 blocks are possibly lost in loss record 654 of 797
==1888551==    at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1888551==    by 0x8F18EF0: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.6)
==1888551==    by 0x8E97F08: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E9B159: g_type_register_fundamental (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E7BCC3: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E700C6: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x4011B89: call_init.part.0 (dl-init.c:72)
==1888551==    by 0x4011C90: call_init (dl-init.c:30)
==1888551==    by 0x4011C90: _dl_init (dl-init.c:119)
==1888551==    by 0x4001139: ??? (in /usr/lib/x86_64-linux-gnu/ld-2.31.so)
==1888551== 
==1888551== 184 bytes in 1 blocks are possibly lost in loss record 665 of 797
==1888551==    at 0x483DFAF: realloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1888551==    by 0x8F18F3F: g_realloc (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.6)
==1888551==    by 0x8E97063: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E9B324: g_type_register_static (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E82D12: g_param_type_register_static (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E857EA: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x8E700CB: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.6)
==1888551==    by 0x4011B89: call_init.part.0 (dl-init.c:72)
==1888551==    by 0x4011C90: call_init (dl-init.c:30)
==1888551==    by 0x4011C90: _dl_init (dl-init.c:119)
==1888551==    by 0x4001139: ??? (in /usr/lib/x86_64-linux-gnu/ld-2.31.so)
==1888551== 
==1888551== 512 bytes in 1 blocks are definitely lost in loss record 701 of 797
==1888551==    at 0x483B7F3: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1888551==    by 0x4B9B647: ??? (in /usr/lib/x86_64-linux-gnu/libXrandr.so.2.2.0)
==1888551==    by 0x4B9BCE1: XRRGetScreenInfo (in /usr/lib/x86_64-linux-gnu/libXrandr.so.2.2.0)
==1888551==    by 0x23EE5D: FePresent::init_monitors() (in /home/ross/project/attract/attract)
==1888551==    by 0x23F50D: FePresent::FePresent(FeSettings*, FeFontContainer&, FeWindow&) (in /home/ross/project/attract/attract)
==1888551==    by 0x262AD8: FeVM::FeVM(FeSettings&, FeFontContainer&, FeWindow&, FeSound&, bool) (in /home/ross/project/attract/attract)
==1888551==    by 0x1C59F1: main (in /home/ross/project/attract/attract)
==1888551== 
==1888551== 576 (128 direct, 448 indirect) bytes in 1 blocks are definitely lost in loss record 703 of 797
==1888551==    at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1888551==    by 0x239A329B: ??? (in /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.470.74)
==1888551==    by 0x23998839: ??? (in /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.470.74)
==1888551==    by 0x239957E8: ??? (in /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.470.74)
==1888551==    by 0x23996E6C: ??? (in /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.470.74)
==1888551==    by 0x239A7412: ??? (in /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.470.74)
==1888551==    by 0x2242DC68: ??? (in /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.470.74)
==1888551==    by 0x22493C45: ??? (in /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.470.74)
==1888551==    by 0x2242D1DA: ??? (in /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.470.74)
==1888551== 
==1888551== 27,443 (6,024 direct, 21,419 indirect) bytes in 1 blocks are definitely lost in loss record 795 of 797
==1888551==    at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1888551==    by 0x239A329B: ??? (in /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.470.74)
==1888551==    by 0x2399A275: ??? (in /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.470.74)
==1888551==    by 0x239957D0: ??? (in /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.470.74)
==1888551==    by 0x23996E6C: ??? (in /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.470.74)
==1888551==    by 0x239A7412: ??? (in /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.470.74)
==1888551==    by 0x2242DC68: ??? (in /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.470.74)
==1888551==    by 0x22493C45: ??? (in /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.470.74)
==1888551==    by 0x2242D1DA: ??? (in /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.470.74)
==1888551== 
==1888551== 121,391 (896 direct, 120,495 indirect) bytes in 1 blocks are definitely lost in loss record 797 of 797
==1888551==    at 0x483DFAF: realloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==1888551==    by 0x239A2542: ??? (in /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.470.74)
==1888551==    by 0x239988D0: ??? (in /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.470.74)
==1888551==    by 0x23995F3E: ??? (in /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.470.74)
==1888551==    by 0x239A8158: ??? (in /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.470.74)
==1888551==    by 0x2242DC68: ??? (in /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.470.74)
==1888551==    by 0x22493C45: ??? (in /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.470.74)
==1888551==    by 0x2242D1DA: ??? (in /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.470.74)
==1888551== 
==1888551== LEAK SUMMARY:
==1888551==    definitely lost: 7,688 bytes in 5 blocks
==1888551==    indirectly lost: 142,362 bytes in 786 blocks
==1888551==      possibly lost: 1,352 bytes in 18 blocks
==1888551==    still reachable: 153,328 bytes in 953 blocks
==1888551==                       of which reachable via heuristic:
==1888551==                         newarray           : 1,536 bytes in 16 blocks
==1888551==         suppressed: 0 bytes in 0 blocks
==1888551== Reachable blocks (those to which a pointer was found) are not shown.
==1888551== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==1888551== 
==1888551== For lists of detected and suppressed errors, rerun with: -s
==1888551== ERROR SUMMARY: 24 errors from 24 contexts (suppressed: 0 from 0)
MrDuncanM commented 1 year ago

I'm also getting this crash (and another). Attract was build from the 2.6.2. tag on Linux Mint 21.

Edited: I renamed my videos folder so the front end only displays snapshots and the issue has gone away.

spilinek commented 1 year ago

I'm getting the same crash with attractplus when cycling through a romlist with almost 1000 games. Crash no longer happens when I rename the video folder.