Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Descending Sort Causes Crashes for Certain Metadata #912

Open
navy1978 opened this issue Aug 26, 2024 · 2 comments
Open

Descending Sort Causes Crashes for Certain Metadata #912

navy1978 opened this issue Aug 26, 2024 · 2 comments

Comments

@navy1978
Copy link

We’re encountering an unusual issue that occurs specifically with certain datasets, such as the Final Burn Neo ROM set. This issue affects all descending sort filters, except for filename and sort name, which remain unaffected.

When attempting to perform a descending sort, the system crashes with a segmentation fault. Below is the GDB backtrace:

`(gdb) run
Starting program: /storage/roms/update/emulationstation
warning: Unable to determine the number of hardware watchpoints available.
warning: Unable to determine the number of hardware breakpoints available.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7fb29b3100 (LWP 2606)]
[New Thread 0x7fb21a3100 (LWP 2607)]
[New Thread 0x7fb1993100 (LWP 2608)]
[New Thread 0x7faafcf100 (LWP 2616)]
[New Thread 0x7faa7bf100 (LWP 2617)]
[New Thread 0x7fa9faf100 (LWP 2618)]
[New Thread 0x7fa979f100 (LWP 2619)]
[New Thread 0x7fa8f8f100 (LWP 2620)]
[New Thread 0x7fa877f100 (LWP 2621)]
[New Thread 0x7fa7f6f100 (LWP 2622)]
[New Thread 0x7fa775f100 (LWP 2623)]
[New Thread 0x7fa6f4f100 (LWP 2624)]
[New Thread 0x7fa27ff100 (LWP 2625)]
[New Thread 0x7fa15ff100 (LWP 2626)]
[New Thread 0x7fa0def100 (LWP 2627)]
[New Thread 0x7f9b5ff100 (LWP 2628)]
[New Thread 0x7f9adef100 (LWP 2629)]
[New Thread 0x7f9a5df100 (LWP 2630)]
[New Thread 0x7f99dcf100 (LWP 2631)]
[New Thread 0x7f995bf100 (LWP 2632)]
[New Thread 0x7f98daf100 (LWP 2633)]
[New Thread 0x7f6ffff100 (LWP 2634)]
[New Thread 0x7f6f7ef100 (LWP 2635)]
[New Thread 0x7f6efdf100 (LWP 2636)]
[New Thread 0x7f6e7cf100 (LWP 2637)]
[Thread 0x7f995bf100 (LWP 2632) exited]
[Thread 0x7f9b5ff100 (LWP 2628) exited]
[Thread 0x7f6ffff100 (LWP 2634) exited]
[Thread 0x7f9a5df100 (LWP 2630) exited]
[Thread 0x7fa0def100 (LWP 2627) exited]
[Thread 0x7f99dcf100 (LWP 2631) exited]
[Thread 0x7f9adef100 (LWP 2629) exited]
[Thread 0x7fa15ff100 (LWP 2626) exited]
[Thread 0x7f6e7cf100 (LWP 2637) exited]
[Thread 0x7f6f7ef100 (LWP 2635) exited]
[Thread 0x7f98daf100 (LWP 2633) exited]
[Thread 0x7f6efdf100 (LWP 2636) exited]
[New Thread 0x7f6e7cf100 (LWP 2638)]
[New Thread 0x7f6efdf100 (LWP 2639)]
[New Thread 0x7f6f7ef100 (LWP 2640)]
[New Thread 0x7f6ffff100 (LWP 2641)]
[New Thread 0x7fa15ff100 (LWP 2642)]
[New Thread 0x7fa0def100 (LWP 2643)]
[New Thread 0x7f9b5ff100 (LWP 2644)]
[New Thread 0x7f9adef100 (LWP 2645)]
[New Thread 0x7f9a5df100 (LWP 2646)]
[New Thread 0x7f99dcf100 (LWP 2647)]
[New Thread 0x7f995bf100 (LWP 2648)]
[New Thread 0x7f98daf100 (LWP 2649)]
[Thread 0x7f98daf100 (LWP 2649) exited]
[Thread 0x7f995bf100 (LWP 2648) exited]
[Thread 0x7f99dcf100 (LWP 2647) exited]
[Thread 0x7f9a5df100 (LWP 2646) exited]
[Thread 0x7f9adef100 (LWP 2645) exited]
[Thread 0x7f9b5ff100 (LWP 2644) exited]
[Thread 0x7fa0def100 (LWP 2643) exited]
[Thread 0x7fa15ff100 (LWP 2642) exited]
[Thread 0x7f6f7ef100 (LWP 2640) exited]
[Thread 0x7f6e7cf100 (LWP 2638) exited]
[Thread 0x7f6efdf100 (LWP 2639) exited]
[Thread 0x7f6ffff100 (LWP 2641) exited]
[New Thread 0x7f98daf100 (LWP 2650)]
[New Thread 0x7f995bf100 (LWP 2651)]
[New Thread 0x7f99dcf100 (LWP 2652)]
[New Thread 0x7f9a5df100 (LWP 2653)]
[New Thread 0x7fa15ff100 (LWP 2654)]
[New Thread 0x7fa0def100 (LWP 2655)]
[New Thread 0x7f9b5ff100 (LWP 2656)]
[New Thread 0x7f9adef100 (LWP 2657)]
[New Thread 0x7f6ffff100 (LWP 2658)]
[New Thread 0x7f6f7ef100 (LWP 2659)]
[Thread 0x7f6f7ef100 (LWP 2659) exited]
[New Thread 0x7f6f7ef100 (LWP 2660)]
[New Thread 0x7f6efdf100 (LWP 2661)]

Thread 1 "emulationstatio" received signal SIGSEGV, Segmentation fault.
0x000000000052799c in FileData::getType (this=0x0) at /home/dragon/351ELEC/build.AmberELEC-RG552.aarch64/emulationstation-b642bc6094a386860baaf0b12980ec9381922935/es-app/src/FileData.h:89
89 /home/dragon/351ELEC/build.AmberELEC-RG552.aarch64/emulationstation-b642bc6094a386860baaf0b12980ec9381922935/es-app/src/FileData.h: No such file or directory.
(gdb) backtrace
#0 0x000000000052799c in FileData::getType (this=0x0) at /home/dragon/351ELEC/build.AmberELEC-RG552.aarch64/emulationstation-b642bc6094a386860baaf0b12980ec9381922935/es-app/src/FileData.h:89
#1 0x000000000052f9b8 in operator() (__closure=0x7fc49a64a0, file1=0x0, file2=0x7f681155d0) at /home/dragon/351ELEC/build.AmberELEC-RG552.aarch64/emulationstation-b642bc6094a386860baaf0b12980ec9381922935/es-app/src/FileData.cpp:1160
#2 0x0000000000543ba8 in __gnu_cxx::__ops::_Iter_comp_iter<FolderData::getChildrenListToDisplay()::<lambda(const FileData*, const FileData*)> >::operator()<__gnu_cxx::__normal_iterator<FileData**, std::vector<FileData*> >, __gnu_cxx::__normal_iterator<FileData**, std::vector<FileData*> > >(__gnu_cxx::__normal_iterator<FileData**, std::vector<FileData*, std::allocator<FileData*> > >, __gnu_cxx::__normal_iterator<FileData**, std::vector<FileData*, std::allocator<FileData*> > >) (this=0x7fc49a64a0, __it1=..., __it2=...)
at /home/dragon/351ELEC/build.AmberELEC-RG552.aarch64/toolchain/aarch64-libreelec-linux-gnueabi/include/c++/13.3.0/bits/predefined_ops.h:158
#3 0x0000000000543ad8 in std::__unguarded_partition<__gnu_cxx::__normal_iterator<FileData**, std::vector<FileData*> >, __gnu_cxx::__ops::_Iter_comp_iter<FolderData::getChildrenListToDisplay()::<lambda(const FileData*, const FileData*)> > >(__gnu_cxx::__normal_iterator<FileData**, std::vector<FileData*, std::allocator<FileData*> > >, __gnu_cxx::__normal_iterator<FileData**, std::vector<FileData*, std::allocator<FileData*> > >, __gnu_cxx::__normal_iterator<FileData**, std::vector<FileData*, std::allocator<FileData*> > >, __gnu_cxx::__ops::_Iter_comp_iter<FolderData::getChildrenListToDisplay()::<lambda(const FileData*, const FileData*)> >) (__first=..., __last=..., __pivot=..., __comp=...) at /home/dragon/351ELEC/build.AmberELEC-RG552.aarch64/toolchain/aarch64-libreelec-linux-gnueabi/include/c++/13.3.0/bits/stl_algo.h:1877
#4 0x0000000000540be8 in std::__unguarded_partition_pivot<__gnu_cxx::__normal_iterator<FileData**, std::vector<FileData*> >, __gnu_cxx::__ops::_Iter_comp_iter<FolderData::getChildrenListToDisplay()::<lambda(const FileData*, const FileData*)> > >(__gnu_cxx::__normal_iterator<FileData**, std::vector<FileData*, std::allocator<FileData*> > >, __gnu_cxx::__normal_iterator<FileData**, std::vector<FileData*, std::allocator<FileData*> > >, __gnu_cxx::__ops::_Iter_comp_iter<FolderData::getChildrenListToDisplay()::<lambda(const FileData*, const FileData*)> >) (__first=..., __last=..., __comp=...)
at /home/dragon/351ELEC/build.AmberELEC-RG552.aarch64/toolchain/aarch64-libreelec-linux-gnueabi/include/c++/13.3.0/bits/stl_algo.h:1899
#5 0x000000000053cb04 in std::__introsort_loop<__gnu_cxx::__normal_iterator<FileData**, std::vector<FileData*> >, long int, __gnu_cxx::__ops::_Iter_comp_iter<FolderData::getChildrenListToDisplay()::<lambda(const FileData*, const FileData*)> > >(__gnu_cxx::__normal_iterator<FileData**, std::vector<FileData*, std::allocator<FileData*> > >, __gnu_cxx::__normal_iterator<FileData**, std::vector<FileData*, std::allocator<FileData*> > >, long, __gnu_cxx::__ops::_Iter_comp_iter<FolderData::getChildrenListToDisplay()::<lambda(const FileData*, const FileData*)> >) (__first=..., __last=..., __depth_limit=15, __comp=...)
at /home/dragon/351ELEC/build.AmberELEC-RG552.aarch64/toolchain/aarch64-libreelec-linux-gnueabi/include/c++/13.3.0/bits/stl_algo.h:1931
#6 0x000000000053cb34 in std::__introsort_loop<__gnu_cxx::__normal_iterator<FileData**, std::vector<FileData*> >, long int, __gnu_cxx::__ops::_Iter_comp_iter<FolderData::getChildrenListToDisplay()::<lambda(const FileData*, const FileData*)> > >(__gnu_cxx::__normal_iterator<FileData**, std::vector<FileData*, std::allocator<FileData*> > >, __gnu_cxx::__normal_iterator<FileData**, std::vector<FileData*, std::allocator<FileData*> > >, long, __gnu_cxx::__ops::_Iter_comp_iter<FolderData::getChildrenListToDisplay()::<lambda(const FileData*, const FileData*)> >) (__first=..., __last=..., __depth_limit=16, __comp=...)
at /home/dragon/351ELEC/build.AmberELEC-RG552.aarch64/toolchain/aarch64-libreelec-linux-gnueabi/include/c++/13.3.0/bits/stl_algo.h:1932
#7 0x000000000053cb34 in std::__introsort_loop<__gnu_cxx::__normal_iterator<FileData**, std::vector<FileData*> >, long int, __gnu_cxx::__ops::_Iter_comp_iter<FolderData::getChildrenListToDisplay()::<lambda(const FileData*, const FileData*)> > >(__gnu_cxx::__normal_iterator<FileData**, std::vector<FileData*, std::allocator<FileData*> > >, __gnu_cxx::__normal_iterator<FileData**, std::vector<FileData*, std::allocator<FileData*> > >, long, __gnu_cxx::__ops::_Iter_comp_iter<FolderData::getChildrenListToDisplay()::<lambda(const FileData*, const FileData*)> >) (__first=..., __last=..., __depth_limit=17, __comp=...)
at /home/dragon/351ELEC/build.AmberELEC-RG552.aarch64/toolchain/aarch64-libreelec-linux-gnueabi/include/c++/13.3.0/bits/stl_algo.h:1932
#8 0x000000000053cb34 in std::__introsort_loop<__gnu_cxx::__normal_iterator<FileData**, std::vector<FileData*> >, long int, __gnu_cxx::__ops::_Iter_comp_iter<FolderData::getChildrenListToDisplay()::<lambda(const FileData*, const FileData*)> > >(__gnu_cxx::__normal_iterator<FileData**, std::vector<FileData*, std::allocator<FileData*> > >, __gnu_cxx::__normal_iterator<FileData**, std::vector<FileData*, std::allocator<FileData*> > >, long, __gnu_cxx::__ops::_Iter_comp_iter<FolderData::getChildrenListToDisplay()::<lambda(const FileData*, const FileData*)> >) (__first=..., __last=..., __depth_limit=18, __comp=...)
at /home/dragon/351ELEC/build.AmberELEC-RG552.aarch64/toolchain/aarch64-libreelec-linux-gnueabi/include/c++/13.3.0/bits/stl_algo.h:1932
#9 0x000000000053cb34 in std::__introsort_loop<__gnu_cxx::__normal_iterator<FileData**, std::vector<FileData*> >, long int, __gnu_cxx::__ops::_Iter_comp_iter<FolderData::getChildrenListToDisplay()::<lambda(const FileData*, const FileData*)> > >(__gnu_cxx::__normal_iterator<FileData**, std::vector<FileData*, std::allocator<FileData*> > >, __gnu_cxx::__normal_iterator<FileData**, std::vector<FileData*, std::allocator<FileData*> > >, long, __gnu_cxx::__ops::_Iter_comp_iter<FolderData::getChildrenListToDisplay()::<lambda(const FileData*, const FileData*)> >) (__first=..., __last=..., __depth_limit=19, __comp=...)
at /home/dragon/351ELEC/build.AmberELEC-RG552.aarch64/toolchain/aarch64-libreelec-linux-gnueabi/include/c++/13.3.0/bits/stl_algo.h:1932
#10 0x0000000000538dc0 in std::__sort<__gnu_cxx::__normal_iterator<FileData**, std::vector<FileData*> >, __gnu_cxx::__ops::_Iter_comp_iter<FolderData::getChildrenListToDisplay()::<lambda(const FileData*, const FileData*)> > >(__gnu_cxx::__normal_iterator<FileData**, std::vector<FileData*, std::allocator<FileData*> > >, __gnu_cxx::__normal_iterator<FileData**, std::vector<FileData*, std::allocator<FileData*> > >, __gnu_cxx::__ops::_Iter_comp_iter<FolderData::getChildrenListToDisplay()::<lambda(const FileData*, const FileData*)> >) (__first=..., __last=..., __comp=...)
at /home/dragon/351ELEC/build.AmberELEC-RG552.aarch64/toolchain/aarch64-libreelec-linux-gnueabi/include/c++/13.3.0/bits/stl_algo.h:1947
#11 0x0000000000536434 in std::sort<__gnu_cxx::__normal_iterator<FileData**, std::vector<FileData*> >, FolderData::getChildrenListToDisplay()::<lambda(const FileData*, const FileData*)> >(__gnu_cxx::__normal_iterator<FileData**, std::vector<FileData*, std::allocator<FileData*> > >, __gnu_cxx::__normal_iterator<FileData**, std::vector<FileData*, std::allocator<FileData*> > >, struct {...}) (__first=..., __last=..., __comp=...) at /home/dragon/351ELEC/build.AmberELEC-RG552.aarch64/toolchain/aarch64-libreelec-linux-gnueabi/include/c++/13.3.0/bits/stl_algo.h:4894
#12 0x0000000000530454 in FolderData::getChildrenListToDisplay (this=0x7f68001f40) at /home/dragon/351ELEC/build.AmberELEC-RG552.aarch64/emulationstation-b642bc6094a386860baaf0b12980ec9381922935/es-app/src/FileData.cpp:1155
#13 0x00000000008892c8 in ISimpleGameListView::onFileChanged (this=0x26ea7200) at /home/dragon/351ELEC/build.AmberELEC-RG552.aarch64/emulationstation-b642bc6094a386860baaf0b12980ec9381922935/es-app/src/views/gamelist/ISimpleGameListView.cpp:113
#14 0x00000000008779fc in BasicGameListView::onFileChanged (this=0x26ea7200, file=0x7f68001f40, change=FILE_SORTED) at /home/dragon/351ELEC/build.AmberELEC-RG552.aarch64/emulationstation-b642bc6094a386860baaf0b12980ec9381922935/es-app/src/views/gamelist/BasicGameListView.cpp:58
#15 0x000000000045c0e0 in GuiGamelistOptions::~GuiGamelistOptions (this=, this=) at /home/dragon/351ELEC/build.AmberELEC-RG552.aarch64/emulationstation-b642bc6094a386860baaf0b12980ec9381922935/es-app/src/guis/GuiGamelistOptions.cpp:378
#16 0x00000000006ac9f8 in GuiGamelistOptions::~GuiGamelistOptions (this=, this=) at /home/dragon/351ELEC/build.AmberELEC-RG552.aarch64/emulationstation-b642bc6094a386860baaf0b12980ec9381922935/es-app/src/guis/GuiGamelistOptions.cpp:433
#17 0x00000000006ad71c in GuiGamelistOptions::input (this=0x26ee2190, config=0x26e04ad0, input=...) at /home/dragon/351ELEC/build.AmberELEC-RG552.aarch64/emulationstation-b642bc6094a386860baaf0b12980ec9381922935/es-app/src/guis/GuiGamelistOptions.cpp:577
#18 0x00000000009b5388 in Window::input (this=0x7fc49a7d50, config=0x26e04ad0, input=...) at /home/dragon/351ELEC/build.AmberELEC-RG552.aarch64/emulationstation-b642bc6094a386860baaf0b12980ec9381922935/es-core/src/Window.cpp:286
#19 0x00000000009654b4 in InputManager::parseEvent (this=0x25588de0, ev=..., window=0x7fc49a7d50) at /home/dragon/351ELEC/build.AmberELEC-RG552.aarch64/emulationstation-b642bc6094a386860baaf0b12980ec9381922935/es-core/src/InputManager.cpp:553
#20 0x000000000054e8d0 in main (argc=1, argv=0x7fc49a9568) at /home/dragon/351ELEC/build.AmberELEC-RG552.aarch64/emulationstation-b642bc6094a386860baaf0b12980ec9381922935/es-app/src/main.cpp:674
`

The issue appears to be related to the "getChildrenListToDisplay" method in the "FileData.cpp" class.

@navy1978 navy1978 changed the title Sort Descending doest work for metadata. Descending Sort Causes Crashes for Certain Metadata Aug 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants
@navy1978 and others