Project

General

Profile

Actions

Emulator Issues #11242

closed

Emulator freezes

Added by fbs over 6 years ago. Updated over 6 years ago.

Status:
Invalid
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

Game Name?

Happens in all games I've tried:

  • Mario kart double dash
  • Super Mario Sunshine
  • Zelda Windwaker

Game ID? (right click the game in the game list, properties, info tab)

Same order:

  • GM4E01
  • GMSP01
  • GZLE01

MD5 Hash? (right click the game in the game list, properties, info tab, MD5 Hash: Compute)

  • 97f9ebc39ab4244e419848793988561a
  • 72c4860d8555d5e790628e348abc244d
  • d8e4d45af2032a081a0f446384e9261b

What's the problem? Describe what went wrong.

Emulator freezes after short period of gameplay, less than 2 minutes generally. It's like someone hits the Pauze button. The UI is still functioning but it is impossible to stop the game from the UI. Pkill or ^c to kill still works in the terminal.

When in debug mode (dolphin-emu -d) the UI also freezes after pressing the pauze button once the emu froze. Killing from terminal is the only option left.

I've a dozen combinations of:

  • dual core on / off
  • cached interpreter or jit
  • no audio / pulse / alsa
  • various graphics setting, resolution & AA
  • no devices in card slots

Freezes happen in all combinations tested

What steps will reproduce the problem?

  • Play the game for a while

Is the issue present in the latest development version? For future reference, please also write down the version number of the latest development version.

Yes. 5.0-8201 / dfc09cc11cf334360fba86b7fc0d7ecf12ec0595 built from source with cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo .. && make -j 8

Is the issue present in the latest stable version?

Happens in stable version shipped in fedora 28

If the issue isn't present in the latest stable version, which is the first broken version? (You can find the first broken version by bisecting. Windows users can use the tool https://forums.dolphin-emu.org/Thread-green-notice-development-thread-unofficial-dolphin-bisection-tool-for-finding-broken-builds and anyone who is building Dolphin on their own can use git bisect.)

[First broken version number here (if applicable)]

If your issue is a graphical issue, please attach screenshots and record a three frame fifolog of the issue if possible. Screenshots showing what it is supposed to look like from either console or older builds of Dolphin will help too. For more information on how to use the fifoplayer, please check here: https://wiki.dolphin-emu.org/index.php?title=FifoPlayer

[Attach any fifologs if possible, write a description of fifologs and screenshots here to assist people unfamiliar with the game.]

What are your PC specifications? (CPU, GPU, Operating System, more)

CPU: AMD Ryzen 5 2400G with Radeon Vega Graphics
GPU: AMD Ryzen 5 2400G with Radeon Vega Graphics
RAM: 16G DDR4, single CT16G4DFD8213.M16FB
OS: fedora 28, 4.16.3-301.fc28.x86_64
Disk: m2 ssd
Motherboard: Asrock AB350 Gaming-ITX/ac

Is there anything else that can help developers narrow down the issue? (e.g. logs, screenshots,
configuration files, savefiles, savestates)

Logs have nothing interesting. Even on 'INFO' level with all boxes except DVD interface I don't see anything unusual.

$ tail .local/share/dolphin-emu/Logs/*
==> .local/share/dolphin-emu/Logs/dolphin.log <==
37:59:515 Core/HW/EXI/EXI_DeviceMemoryCard.cpp:517 I[EXI]: reading from block: 6
37:59:531 Core/HW/EXI/EXI_DeviceMemoryCard.cpp:517 I[EXI]: reading from block: 7
38:03:399 Core/HW/DVD/FileMonitor.cpp:83 W[FileMon]: 792 kB SceneData/English/courseselect.arc
38:03:718 Core/HW/DVD/FileMonitor.cpp:83 W[FileMon]: 171 kB SceneData/English/mapselect.arc
38:03:812 Core/HW/DVD/FileMonitor.cpp:83 W[FileMon]: 229 kB SceneData/English/ghostdata.arc
38:10:084 Core/HW/DVD/FileMonitor.cpp:83 W[FileMon]: 43 kB CourseName/English/Snow_name.bti
38:10:191 Core/HW/DVD/FileMonitor.cpp:83 W[FileMon]: 35 kB StaffGhosts/Snow.ght
38:10:251 Core/HW/DVD/FileMonitor.cpp:83 W[FileMon]: 1,388 kB Course/Snow.arc
38:11:808 Core/HW/DVD/FileMonitor.cpp:83 W[FileMon]: 3,192 kB AudioRes/Waves/Voice_0.aw
38:16:990 Core/HW/DVD/FileMonitor.cpp:81 I[FileMon]: 8,252 kB AudioRes/Stream/COURSE_SNOW_0.x.32.c4.ast

==> .local/share/dolphin-emu/Logs/inst_log0.txt <==

==> .local/share/dolphin-emu/Logs/inst_log1.txt <==

==> .local/share/dolphin-emu/Logs/inst_not0.txt <==

==> .local/share/dolphin-emu/Logs/inst_not1.txt <==

==> .local/share/dolphin-emu/Logs/Mail <==
tail: error reading '.local/share/dolphin-emu/Logs/Mail': Is a directory

==> .local/share/dolphin-emu/Logs/mtfsb0x_at0.txt <==

==> .local/share/dolphin-emu/Logs/mtfsb0x_at1.txt <==

State after the game froze:

$ ps -T -p $(pgrep dolph)
PID SPID TTY TIME CMD
13876 13876 pts/0 00:00:37 dolphin-emu
13876 13878 pts/0 00:00:00 QXcbEventReader
13876 13879 pts/0 00:00:00 dconf worker
13876 13880 pts/0 00:00:00 gmain
13876 13881 pts/0 00:00:00 gdbus
13876 13882 pts/0 00:00:00 QDBusConnection
13876 13884 pts/0 00:00:00 Analytics
13876 13885 pts/0 00:00:01 amdgpu_cs:0
13876 13886 pts/0 00:00:00 disk_cache:0
13876 13887 pts/0 00:00:00 si_shader:0
13876 13888 pts/0 00:00:00 si_shader:1
13876 13889 pts/0 00:00:00 si_shader:2
13876 13890 pts/0 00:00:00 si_shader_low:0
13876 13891 pts/0 00:00:00 si_shader_low:1
13876 13892 pts/0 00:00:00 evdev Hotplug T
13876 13893 pts/0 00:00:00 Wiimote Scannin
13876 13894 pts/0 00:00:07 dolphin-emu
13876 13895 pts/0 00:00:00 dolphin-emu
13876 14461 pts/0 00:00:00 gallium_drv:0
13876 14940 pts/0 00:00:21 Video thread
13876 14942 pts/0 00:00:00 Memcard 0 flush
13876 14970 pts/0 00:00:01 gallium_drv:0
13876 14971 pts/0 00:00:00 Emuthread - Sta
13876 14972 pts/0 00:00:00 gallium_drv:0
13876 14973 pts/0 00:00:00 Emuthread - Sta
13876 14974 pts/0 00:00:00 DVD thread
13876 14976 pts/0 00:00:40 CPU thread

$ gdb -p $(pgrep dolph)
GNU gdb (GDB) Fedora 8.1-15.fc28

0x00007f529f2da589 in poll () from /lib64/libc.so.6

(gdb) thread apply all bt 100

Thread 27 (Thread 0x7f520cdfe700 (LWP 14976)):
#0 0x00007f52a29c152c in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1 0x00007f529f9f7280 in std::condition_variable::wait(std::unique_lockstd::mutex&) () at /lib64/libstdc++.so.6
#2 0x00000000006dd661 in std::condition_variable::waitCommon::Event::Wait()::{lambda()#1}(std::unique_lockstd::mutex&, Common::Event::Wait()::{lambda()#1}) (__p=..., __lock=..., this=0x16e0620 Fifo::s_gpu_mainloop+192)
at /usr/include/c++/8/bits/atomic_base.h:96
#3 0x00000000006dd661 in Common::Event::Wait() (this=this@entry=0x16e0618 Fifo::s_gpu_mainloop+184) at /home/bas/builds/dolphin-emu/Source/Core/Common/Event.h:45
#4 0x00000000006de735 in Common::Event::Wait() (this=0x16e0618 Fifo::s_gpu_mainloop+184) at /usr/include/c++/8/bits/atomic_base.h:96
#5 0x00000000006de735 in Common::BlockingLoop::Wait() (this=0x16e0560 Fifo::s_gpu_mainloop) at /home/bas/builds/dolphin-emu/Source/Core/Common/BlockingLoop.h:68
#6 0x00000000006de735 in Fifo::FlushGpu() () at /home/bas/builds/dolphin-emu/Source/Core/VideoCommon/Fifo.cpp:403
#7 0x000000000055158d in CoreTiming::Idle() () at /home/bas/builds/dolphin-emu/Source/Core/Core/CoreTiming.cpp:383
#8 0x0000000000638dbf in Interpreter::SingleStepInner() (this=this@entry=0x129d150 Interpreter::getInstance()::instance) at /home/bas/builds/dolphin-emu/Source/Core/Core/PowerPC/Interpreter/Interpreter.cpp:155
#9 0x0000000000638e83 in Interpreter::Run() (this=0x129d150 Interpreter::getInstance()::instance) at /home/bas/builds/dolphin-emu/Source/Core/Core/PowerPC/Interpreter/Interpreter.cpp:273
#10 0x000000000062dd81 in PowerPC::RunLoop() () at /home/bas/builds/dolphin-emu/Source/Core/Core/PowerPC/PowerPC.cpp:348
#11 0x0000000000595b2d in CPU::Run() () at /home/bas/builds/dolphin-emu/Source/Core/Core/HW/CPU.cpp:102
#12 0x000000000054f86c in Core::CpuThread(std::optional<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > const&, bool) (savestate_path=std::optionalstd::string [no contained value], delete_savestate=) at /home/bas/builds/dolphin-emu/Source/Core/Core/Core.cpp:347
#13 0x00007f529f9fd513 in () at /lib64/libstdc++.so.6
#14 0x00007f52a29bb594 in start_thread () at /lib64/libpthread.so.0
#15 0x00007f529f2e500f in clone () at /lib64/libc.so.6

Thread 26 (Thread 0x7f522947d700 (LWP 14974)):
#0 0x00007f52a29c152c in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1 0x00007f529f9f7280 in std::condition_variable::wait(std::unique_lockstd::mutex&) () at /lib64/libstdc++.so.6
#2 0x000000000059a7a1 in std::condition_variable::waitCommon::Event::Wait()::{lambda()#1}(std::unique_lockstd::mutex&, Common::Event::Wait()::{lambda()#1}) (__p=..., __lock=..., this=0xe3b588 DVDThread::s_request_queue_expanded+8) at /usr/include/c++/8/bits/atomic_base.h:96
#3 0x000000000059a7a1 in Common::Event::Wait() (this=this@entry=0xe3b580 DVDThread::s_request_queue_expanded) at /home/bas/builds/dolphin-emu/Source/Core/Common/Event.h:45
#4 0x000000000059b21c in Common::Event::Wait() (this=0xe3b580 DVDThread::s_request_queue_expanded) at /usr/include/c++/8/bits/atomic_base.h:96
#5 0x000000000059b21c in DVDThread::DVDThread() () at /home/bas/builds/dolphin-emu/Source/Core/Core/HW/DVD/DVDThread.cpp:357
#6 0x00007f529f9fd513 in () at /lib64/libstdc++.so.6
#7 0x00007f52a29bb594 in start_thread () at /lib64/libpthread.so.0
#8 0x00007f529f2e500f in clone () at /lib64/libc.so.6

Thread 25 (Thread 0x7f520d5ff700 (LWP 14973)):
#0 0x00007f52a29c152c in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1 0x00007f529f9f7280 in std::condition_variable::wait(std::unique_lockstd::mutex&) () at /lib64/libstdc++.so.6
#2 0x0000000000719469 in VideoCommon::AsyncShaderCompiler::WorkerThreadRun() (this=this@entry=0x7f51da1db640) at /home/bas/builds/dolphin-emu/Source/Core/VideoCommon/AsyncShaderCompiler.cpp:217
#3 0x0000000000719680 in VideoCommon::AsyncShaderCompiler::WorkerThreadEntryPoint(void*) (this=0x7f51da1db640, param=0x7f5224b97550) at /home/bas/builds/dolphin-emu/Source/Core/VideoCommon/AsyncShaderCompiler.cpp:207
#4 0x00007f529f9fd513 in () at /lib64/libstdc++.so.6
#5 0x00007f52a29bb594 in start_thread () at /lib64/libpthread.so.0
#6 0x00007f529f2e500f in clone () at /lib64/libc.so.6

Thread 24 (Thread 0x7f5214ff3700 (LWP 14972)):
#0 0x00007f52a29c152c in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1 0x00007f526d10a303 in util_queue_thread_func () at /usr/lib64/dri/radeonsi_dri.so
#2 0x00007f526d10a01b in impl_thrd_routine () at /usr/lib64/dri/radeonsi_dri.so
#3 0x00007f52a29bb594 in start_thread () at /lib64/libpthread.so.0
#4 0x00007f529f2e500f in clone () at /lib64/libc.so.6

Thread 23 (Thread 0x7f5229cda700 (LWP 14971)):
#0 0x00007f529f2b1900 in nanosleep () at /lib64/libc.so.6
#1 0x00007f529f2dd194 in usleep () at /lib64/libc.so.6
#2 0x000000000091644a in cX11Window::XEventThread() (this=0x7f50eaa63720) at /home/bas/builds/dolphin-emu/Source/Core/Common/GL/GLInterface/X11_Util.cpp:70
---Type to continue, or q to quit---
#3 0x00007f529f9fd513 in () at /lib64/libstdc++.so.6
#4 0x00007f52a29bb594 in start_thread () at /lib64/libpthread.so.0
#5 0x00007f529f2e500f in clone () at /lib64/libc.so.6

Thread 22 (Thread 0x7f5228a7b700 (LWP 14970)):
#0 0x00007f52a29c152c in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1 0x00007f526d10a303 in util_queue_thread_func () at /usr/lib64/dri/radeonsi_dri.so
#2 0x00007f526d10a01b in impl_thrd_routine () at /usr/lib64/dri/radeonsi_dri.so
#3 0x00007f52a29bb594 in start_thread () at /lib64/libpthread.so.0
#4 0x00007f529f2e500f in clone () at /lib64/libc.so.6

Thread 21 (Thread 0x7f522bfff700 (LWP 14942)):
#0 0x00007f52a29c152c in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1 0x00007f529f9f7280 in std::condition_variable::wait(std::unique_lockstd::mutex&) () at /lib64/libstdc++.so.6
#2 0x00000000005ab5a4 in std::condition_variable::waitCommon::Event::Wait()::{lambda()#1}(std::unique_lockstd::mutex&, Common::Event::Wait()::{lambda()#1}) (__p=..., __lock=..., this=0x7f5224c7ca00)
at /usr/include/c++/8/bits/atomic_base.h:96
#3 0x00000000005ab5a4 in Common::Event::Wait() (this=0x7f5224c7c9f8) at /home/bas/builds/dolphin-emu/Source/Core/Common/Event.h:45
#4 0x00000000005ab5a4 in GCMemcardDirectory::FlushThread() (this=0x7f5224c72980) at /home/bas/builds/dolphin-emu/Source/Core/Core/HW/GCMemcard/GCMemcardDirectory.cpp:183
#5 0x00007f529f9fd513 in () at /lib64/libstdc++.so.6
#6 0x00007f52a29bb594 in start_thread () at /lib64/libpthread.so.0
#7 0x00007f529f2e500f in clone () at /lib64/libc.so.6

Thread 20 (Thread 0x7f523d7fa700 (LWP 14940)):
#0 0x00007f529f2dfa19 in syscall () at /lib64/libc.so.6
#1 0x00007f526d109fbc in do_futex_fence_wait () at /usr/lib64/dri/radeonsi_dri.so
#2 0x00007f526d4bfb35 in si_fence_finish () at /usr/lib64/dri/radeonsi_dri.so
#3 0x00007f526d01f8f2 in st_client_wait_sync () at /usr/lib64/dri/radeonsi_dri.so
#4 0x00007f526cf8eb52 in client_wait_sync () at /usr/lib64/dri/radeonsi_dri.so
#5 0x0000000000733033 in OGL::StreamBuffer::AllocMemory(unsigned int) (this=this@entry=0x7f50e8d1ef20, size=16777216) at /home/bas/builds/dolphin-emu/Source/Core/VideoBackends/OGL/StreamBuffer.cpp:123
#6 0x00000000007338f9 in OGL::BufferStorage::Map(unsigned int) (this=0x7f50e8d1ef20, size=) at /home/bas/builds/dolphin-emu/Source/Core/VideoBackends/OGL/StreamBuffer.cpp:247
#7 0x0000000000735f6e in OGL::StreamBuffer::Map(unsigned int, unsigned int) (stride=24, size=16777216, this=) at /home/bas/builds/dolphin-emu/Source/Core/VideoBackends/OGL/StreamBuffer.h:40
#8 0x0000000000735f6e in OGL::VertexManager::ResetBuffer(unsigned int) (this=0x7f5224ba8270, stride=24) at /home/bas/builds/dolphin-emu/Source/Core/VideoBackends/OGL/VertexManager.cpp:117
#9 0x000000000070ca7b in VertexManagerBase::PrepareForAdditionalData(int, unsigned int, unsigned int, bool) (this=0x7f5224ba8270, primitive=primitive@entry=0, count=count@entry=4, stride=24, cullall=)
at /home/bas/builds/dolphin-emu/Source/Core/VideoCommon/VertexManagerBase.cpp:134
#10 0x0000000000705a00 in VertexLoaderManager::RunVertices(int, int, int, DataReader, bool) (vtx_attr_group=vtx_attr_group@entry=0, primitive=primitive@entry=0, count=count@entry=4, src=..., is_preprocess=is_preprocess@entry=false)
at /home/bas/builds/dolphin-emu/Source/Core/VideoCommon/VertexLoaderManager.cpp:280
#11 0x00000000006e445a in OpcodeDecoder::Run(DataReader, unsigned int*, bool) (src=..., cycles=cycles@entry=0x7f523d7f9640, in_display_list=in_display_list@entry=false)
at /home/bas/builds/dolphin-emu/Source/Core/Common/Swap.h:142
#12 0x00000000006de48f in Fifo::<lambda()>::operator() (__closure=) at /home/bas/builds/dolphin-emu/Source/Core/VideoCommon/Fifo.cpp:351
#13 0x00000000006de48f in Common::BlockingLoop::Run<Fifo::RunGpuLoop()::<lambda()> > (this=0x16e0560 Fifo::s_gpu_mainloop, timeout=100, payload=...) at /home/bas/builds/dolphin-emu/Source/Core/Common/BlockingLoop.h:135
#14 0x00000000006de48f in Fifo::RunGpuLoop() () at /home/bas/builds/dolphin-emu/Source/Core/VideoCommon/Fifo.cpp:298
#15 0x0000000000550a97 in Core::EmuThread(std::unique_ptr<BootParameters, std::default_delete >) (boot=...) at /home/bas/builds/dolphin-emu/Source/Core/Core/Core.cpp:555
#16 0x0000000000550ed1 in std::__invoke_impl<void, void ()(std::unique_ptr<BootParameters, std::default_delete >), std::unique_ptr<BootParameters, std::default_delete > >(std::__invoke_other, void (&&)(std::unique_ptr<BootParameters, std::default_delete >), std::unique_ptr<BootParameters, std::default_delete >&&) (__f=) at /usr/include/c++/8/thread:186
#17 0x0000000000550ed1 in std::__invoke<void ()(std::unique_ptr<BootParameters, std::default_delete >), std::unique_ptr<BootParameters, std::default_delete > >(void (&&)(std::unique_ptr<BootParameters, std::default_delete >), std::unique_ptr<BootParameters, std::default_delete >&&) (__fn=) at /usr/include/c++/8/bits/invoke.h:95
#18 0x0000000000550ed1 in std::thread::_Invoker<std::tuple<void ()(std::unique_ptr<BootParameters, std::default_delete >), std::unique_ptr<BootParameters, std::default_delete > > >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) (this=) at /usr/include/c++/8/thread:234
#19 0x0000000000550ed1 in std::thread::_Invoker<std::tuple<void (
)(std::unique_ptr<BootParameters, std::default_delete >), std::unique_ptr<BootParameters, std::default_delete > > >::operator()() (this=) at /usr/include/c++/8/thread:243
#20 0x0000000000550ed1 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(std::unique_ptr<BootParameters, std::default_delete >), std::unique_ptr<BootParameters, std::default_delete > > > >::_M_run() (this=) at /usr/include/c++/8/thread:186
#21 0x00007f529f9fd513 in () at /lib64/libstdc++.so.6
---Type to continue, or q to quit---
#22 0x00007f52a29bb594 in start_thread () at /lib64/libpthread.so.0
#23 0x00007f529f2e500f in clone () at /lib64/libc.so.6

Thread 19 (Thread 0x7f52055ff700 (LWP 14461)):
#0 0x00007f52a29c152c in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1 0x00007f526d10a303 in util_queue_thread_func () at /usr/lib64/dri/radeonsi_dri.so
#2 0x00007f526d10a01b in impl_thrd_routine () at /usr/lib64/dri/radeonsi_dri.so
#3 0x00007f52a29bb594 in start_thread () at /lib64/libpthread.so.0
#4 0x00007f529f2e500f in clone () at /lib64/libc.so.6

Thread 18 (Thread 0x7f523effd700 (LWP 13895)):
#0 0x00007f52a29c152c in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1 0x00007f529f9f7280 in std::condition_variable::wait(std::unique_lockstd::mutex&) () at /lib64/libstdc++.so.6
#2 0x00000000004fd7b8 in std::condition_variable::waitCommon::Event::Wait()::{lambda()#1}(std::unique_lockstd::mutex&, Common::Event::Wait()::{lambda()#1}) (__p=..., __lock=..., this=0x2d80c48)
at /usr/include/c++/8/bits/atomic_base.h:96
#3 0x00000000004fd7b8 in Common::Event::Wait() (this=0x2d80c40) at /home/bas/builds/dolphin-emu/Source/Core/Common/Event.h:45
#4 0x00000000004fd7b8 in Common::WorkQueueThreadGameTracker::Command::ThreadLoop() (this=0x2d80c18) at /home/bas/builds/dolphin-emu/Source/Core/Common/WorkQueueThread.h:58
#5 0x00000000004fd7b8 in Common::WorkQueueThreadGameTracker::Command::Reset(std::function<void (GameTracker::Command)>)::{lambda()#1}::operator()() const (this=)
at /home/bas/builds/dolphin-emu/Source/Core/Common/WorkQueueThread.h:30
#6 0x00000000004fd7b8 in std::__invoke_impl<void, Common::WorkQueueThreadGameTracker::Command::Reset(std::function<void (GameTracker::Command)>)::{lambda()#1}>(std::__invoke_other, Common::WorkQueueThreadGameTracker::Command::Reset(std::function<void (GameTracker::Command)>)::{lambda()#1}&&) (__f=...) at /usr/include/c++/8/bits/invoke.h:60
#7 0x00000000004fd7b8 in std::__invoke<Common::WorkQueueThreadGameTracker::Command::Reset(std::function<void (GameTracker::Command)>)::{lambda()#1}>(std::__invoke_result&&, (Common::WorkQueueThreadGameTracker::Command::Reset(std::function<void (GameTracker::Command)>)::{lambda()#1}&&)...) (__fn=...) at /usr/include/c++/8/bits/invoke.h:95
#8 0x00000000004fd7b8 in std::thread::_Invoker<std::tuple<Common::WorkQueueThreadGameTracker::Command::Reset(std::function<void (GameTracker::Command)>)::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (this=)
at /usr/include/c++/8/thread:234
#9 0x00000000004fd7b8 in std::thread::_Invoker<std::tuple<Common::WorkQueueThreadGameTracker::Command::Reset(std::function<void (GameTracker::Command)>)::{lambda()#1}> >::operator()() (this=)
at /usr/include/c++/8/thread:243
#10 0x00000000004fd7b8 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<Common::WorkQueueThreadGameTracker::Command::Reset(std::function<void (GameTracker::Command)>)::{lambda()#1}> > >::_M_run() (this=)
at /usr/include/c++/8/thread:186
#11 0x00007f529f9fd513 in () at /lib64/libstdc++.so.6
#12 0x00007f52a29bb594 in start_thread () at /lib64/libpthread.so.0
#13 0x00007f529f2e500f in clone () at /lib64/libc.so.6

Thread 17 (Thread 0x7f523f7fe700 (LWP 13894)):
#0 0x00007f529f2b1900 in nanosleep () at /lib64/libc.so.6
#1 0x00007f529f2dd194 in usleep () at /lib64/libc.so.6
#2 0x000000000090736b in Common::SleepCurrentThread(int) (ms=) at /home/bas/builds/dolphin-emu/Source/Core/Common/Thread.cpp:124
#3 0x0000000000468efe in HotkeyScheduler::Run() (this=0x2c86850) at /home/bas/builds/dolphin-emu/Source/Core/DolphinQt2/HotkeyScheduler.cpp:133
#4 0x00007f529f9fd513 in () at /lib64/libstdc++.so.6
#5 0x00007f52a29bb594 in start_thread () at /lib64/libpthread.so.0
#6 0x00007f529f2e500f in clone () at /lib64/libc.so.6

Thread 16 (Thread 0x7f523ffff700 (LWP 13893)):
#0 0x00007f52a29c187a in pthread_cond_timedwait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1 0x00000000005d07d4 in __gthread_cond_timedwait (__abs_timeout=0x7f523fffe800, __mutex=0xe3c0a8 WiimoteReal::g_wiimote_scanner+136, __cond=0xe3c078 WiimoteReal::g_wiimote_scanner+88)
at /usr/include/c++/8/x86_64-redhat-linux/bits/gthr-default.h:871
#2 0x00000000005d07d4 in std::condition_variable::__wait_until_impl<std::chrono::duration<long, std::ratio<1l, 1000000000l> > >(std::unique_lockstd::mutex&, std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const&) (__atime=..., __lock=..., this=0xe3c078 WiimoteReal::g_wiimote_scanner+88) at /usr/include/c++/8/condition_variable:178
#3 0x00000000005d07d4 in std::condition_variable::wait_until<std::chrono::duration<long, std::ratio<1l, 1000000000l> > >(std::unique_lockstd::mutex&, std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const&) (__atime=..., __lock=..., this=0xe3c078 WiimoteReal::g_wiimote_scanner+88) at /usr/include/c++/8/condition_variable:106
#4 0x00000000005d07d4 in std::condition_variable::wait_until<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, bool Common::Event::WaitFor<long, std::ratio<1l, 1000l> >(std::chrono::duration<long, std::ratio<1l, 1000l> > const&)::{lambda()#1}>(std::unique_lockstd::mutex&, std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const&, bool Common::Event::WaitFor<long, std::ratio<1l, 1000l> >(std::chrono::duration<long, std::ratio<1l, 1000l> > const&)::{lambda()#1}) (__p=..., __atime=..., __lock=..., this=0xe3c078 WiimoteReal::g_wiimote_scanner+88)
---Type to continue, or q to quit---
at /usr/include/c++/8/condition_variable:129
#5 0x00000000005d07d4 in std::condition_variable::wait_for<long, std::ratio<1l, 1000l>, bool Common::Event::WaitFor<long, std::ratio<1l, 1000l> >(std::chrono::duration<long, std::ratio<1l, 1000l> > const&)::{lambda()#1}>(std::unique_lockstd::mutex&, std::chrono::duration<long, std::ratio<1l, 1000l> > const&, bool Common::Event::WaitFor<long, std::ratio<1l, 1000l> >(std::chrono::duration<long, std::ratio<1l, 1000l> > const&)::{lambda()#1}) (__p=..., __rtime=..., __lock=..., this=0xe3c078 WiimoteReal::g_wiimote_scanner+88) at /usr/include/c++/8/condition_variable:156
#6 0x00000000005d07d4 in Common::Event::WaitFor<long, std::ratio<1l, 1000l> >(std::chrono::duration<long, std::ratio<1l, 1000l> > const&) (rel_time=..., this=0xe3c070 WiimoteReal::g_wiimote_scanner+80)
at /home/bas/builds/dolphin-emu/Source/Core/Common/Event.h:55
#7 0x00000000005d07d4 in WiimoteReal::WiimoteScanner::ThreadFunc() (this=0xe3c020 WiimoteReal::g_wiimote_scanner) at /home/bas/builds/dolphin-emu/Source/Core/Core/HW/WiimoteReal/WiimoteReal.cpp:565
#8 0x00007f529f9fd513 in () at /lib64/libstdc++.so.6
#9 0x00007f52a29bb594 in start_thread () at /lib64/libpthread.so.0
#10 0x00007f529f2e500f in clone () at /lib64/libc.so.6

Thread 15 (Thread 0x7f525cb0e700 (LWP 13892)):
#0 0x00007f529f2dc967 in select () at /lib64/libc.so.6
#1 0x00000000007c2984 in ciface::evdev::HotplugThreadFunc() () at /home/bas/builds/dolphin-emu/Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp:75
#2 0x00007f529f9fd513 in () at /lib64/libstdc++.so.6
#3 0x00007f52a29bb594 in start_thread () at /lib64/libpthread.so.0
#4 0x00007f529f2e500f in clone () at /lib64/libc.so.6

Thread 14 (Thread 0x7f525d30f700 (LWP 13891)):
#0 0x00007f52a29c152c in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1 0x00007f526d10a303 in util_queue_thread_func () at /usr/lib64/dri/radeonsi_dri.so
#2 0x00007f526d10a01b in impl_thrd_routine () at /usr/lib64/dri/radeonsi_dri.so
#3 0x00007f52a29bb594 in start_thread () at /lib64/libpthread.so.0
#4 0x00007f529f2e500f in clone () at /lib64/libc.so.6

Thread 13 (Thread 0x7f525db10700 (LWP 13890)):
#0 0x00007f52a29c152c in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1 0x00007f526d10a303 in util_queue_thread_func () at /usr/lib64/dri/radeonsi_dri.so
#2 0x00007f526d10a01b in impl_thrd_routine () at /usr/lib64/dri/radeonsi_dri.so
#3 0x00007f52a29bb594 in start_thread () at /lib64/libpthread.so.0
#4 0x00007f529f2e500f in clone () at /lib64/libc.so.6

Thread 12 (Thread 0x7f525e311700 (LWP 13889)):
#0 0x00007f52a29c152c in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1 0x00007f526d10a303 in util_queue_thread_func () at /usr/lib64/dri/radeonsi_dri.so
#2 0x00007f526d10a01b in impl_thrd_routine () at /usr/lib64/dri/radeonsi_dri.so
#3 0x00007f52a29bb594 in start_thread () at /lib64/libpthread.so.0
#4 0x00007f529f2e500f in clone () at /lib64/libc.so.6

Thread 11 (Thread 0x7f525eb12700 (LWP 13888)):
#0 0x00007f52a29c152c in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1 0x00007f526d10a303 in util_queue_thread_func () at /usr/lib64/dri/radeonsi_dri.so
#2 0x00007f526d10a01b in impl_thrd_routine () at /usr/lib64/dri/radeonsi_dri.so
#3 0x00007f52a29bb594 in start_thread () at /lib64/libpthread.so.0
#4 0x00007f529f2e500f in clone () at /lib64/libc.so.6

Thread 10 (Thread 0x7f525f313700 (LWP 13887)):
#0 0x00007f52a29c152c in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1 0x00007f526d10a303 in util_queue_thread_func () at /usr/lib64/dri/radeonsi_dri.so
#2 0x00007f526d10a01b in impl_thrd_routine () at /usr/lib64/dri/radeonsi_dri.so
#3 0x00007f52a29bb594 in start_thread () at /lib64/libpthread.so.0
#4 0x00007f529f2e500f in clone () at /lib64/libc.so.6

---Type to continue, or q to quit---
Thread 9 (Thread 0x7f525fb14700 (LWP 13886)):
#0 0x00007f52a29c152c in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1 0x00007f526d10a303 in util_queue_thread_func () at /usr/lib64/dri/radeonsi_dri.so
#2 0x00007f526d10a01b in impl_thrd_routine () at /usr/lib64/dri/radeonsi_dri.so
#3 0x00007f52a29bb594 in start_thread () at /lib64/libpthread.so.0
#4 0x00007f529f2e500f in clone () at /lib64/libc.so.6

Thread 8 (Thread 0x7f526065f700 (LWP 13885)):
#0 0x00007f52a29c152c in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1 0x00007f526d10a303 in util_queue_thread_func () at /usr/lib64/dri/radeonsi_dri.so
#2 0x00007f526d10a01b in impl_thrd_routine () at /usr/lib64/dri/radeonsi_dri.so
#3 0x00007f52a29bb594 in start_thread () at /lib64/libpthread.so.0
#4 0x00007f529f2e500f in clone () at /lib64/libc.so.6

Thread 7 (Thread 0x7f526f981700 (LWP 13884)):
#0 0x00007f52a29c152c in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1 0x00007f529f9f7280 in std::condition_variable::wait(std::unique_lockstd::mutex&) () at /lib64/libstdc++.so.6
#2 0x00000000008e0a90 in std::condition_variable::waitCommon::Event::Wait()::{lambda()#1}(std::unique_lockstd::mutex&, Common::Event::Wait()::{lambda()#1}) (__p=..., __lock=..., this=0x291cd80)
at /usr/include/c++/8/bits/atomic_base.h:96
#3 0x00000000008e0a90 in Common::Event::Wait() (this=0x291cd78) at /home/bas/builds/dolphin-emu/Source/Core/Common/Event.h:45
#4 0x00000000008e0a90 in Common::AnalyticsReporter::ThreadProc() (this=0x291cd18) at /home/bas/builds/dolphin-emu/Source/Core/Common/Analytics.cpp:146
#5 0x00007f529f9fd513 in () at /lib64/libstdc++.so.6
#6 0x00007f52a29bb594 in start_thread () at /lib64/libpthread.so.0
#7 0x00007f529f2e500f in clone () at /lib64/libc.so.6

Thread 6 (Thread 0x7f527d79c700 (LWP 13882)):
#0 0x00007f529f2da589 in poll () at /lib64/libc.so.6
#1 0x00007f529a6b2be6 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#2 0x00007f529a6b2d10 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3 0x00007f52a10c1c13 in QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () at /lib64/libQt5Core.so.5
#4 0x00007f52a107012b in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) () at /lib64/libQt5Core.so.5
#5 0x00007f52a0ebe9c6 in QThread::exec() () at /lib64/libQt5Core.so.5
#6 0x00007f528ade2299 in QDBusConnectionManager::run() () at /lib64/libQt5DBus.so.5
#7 0x00007f52a0ec311d in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#8 0x00007f52a29bb594 in start_thread () at /lib64/libpthread.so.0
#9 0x00007f529f2e500f in clone () at /lib64/libc.so.6

Thread 5 (Thread 0x7f527e734700 (LWP 13881)):
#0 0x00007f529f2da589 in poll () at /lib64/libc.so.6
#1 0x00007f529a6b2be6 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#2 0x00007f529a6b2fa2 in g_main_loop_run () at /lib64/libglib-2.0.so.0
#3 0x00007f5281f156ba in gdbus_shared_thread_func () at /lib64/libgio-2.0.so.0
#4 0x00007f529a6daf2a in g_thread_proxy () at /lib64/libglib-2.0.so.0
#5 0x00007f52a29bb594 in start_thread () at /lib64/libpthread.so.0
#6 0x00007f529f2e500f in clone () at /lib64/libc.so.6

Thread 4 (Thread 0x7f527ef35700 (LWP 13880)):
#0 0x00007f529f2da589 in poll () at /lib64/libc.so.6
#1 0x00007f529a6b2be6 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#2 0x00007f529a6b2d10 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3 0x00007f529a6b2d61 in glib_worker_main () at /lib64/libglib-2.0.so.0
#4 0x00007f529a6daf2a in g_thread_proxy () at /lib64/libglib-2.0.so.0
#5 0x00007f52a29bb594 in start_thread () at /lib64/libpthread.so.0
---Type to continue, or q to quit---
#6 0x00007f529f2e500f in clone () at /lib64/libc.so.6

Thread 3 (Thread 0x7f527f736700 (LWP 13879)):
#0 0x00007f529f2da589 in poll () at /lib64/libc.so.6
#1 0x00007f529a6b2be6 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#2 0x00007f529a6b2d10 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3 0x00007f527f73ee4d in dconf_gdbus_worker_thread () at /usr/lib64/gio/modules/libdconfsettings.so
#4 0x00007f529a6daf2a in g_thread_proxy () at /lib64/libglib-2.0.so.0
#5 0x00007f52a29bb594 in start_thread () at /lib64/libpthread.so.0
#6 0x00007f529f2e500f in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7f5288cdb700 (LWP 13878)):
#0 0x00007f529f2da589 in poll () at /lib64/libc.so.6
#1 0x00007f529e6a304f in _xcb_conn_wait () at /lib64/libxcb.so.1
#2 0x00007f529e6a4caa in xcb_wait_for_event () at /lib64/libxcb.so.1
#3 0x00007f52a38354d9 in QXcbEventReader::run() () at /lib64/libQt5XcbQpa.so.5
#4 0x00007f52a0ec311d in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#5 0x00007f52a29bb594 in start_thread () at /lib64/libpthread.so.0
#6 0x00007f529f2e500f in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7f52a3983580 (LWP 13876)):
#0 0x00007f529f2da589 in poll () at /lib64/libc.so.6
#1 0x00007f529a6b2be6 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#2 0x00007f529a6b2d10 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3 0x00007f52a10c1c13 in QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () at /lib64/libQt5Core.so.5
#4 0x00007f52a38c3065 in QPAEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () at /lib64/libQt5XcbQpa.so.5
#5 0x00007f52a107012b in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) () at /lib64/libQt5Core.so.5
#6 0x00007f52a10785b6 in QCoreApplication::exec() () at /lib64/libQt5Core.so.5
#7 0x00000000004491aa in main(int, char**) (argc=, argv=) at /home/bas/builds/dolphin-emu/Source/Core/DolphinQt2/Main.cpp:215
(gdb)

Actions #1

Updated by JMC4789 over 6 years ago

I'd have to imagine this issue isn't within Dolphin or else we'd have a lot of people complaining.

Could you try different graphics drivers and updating everything you can? Otherwise... I can't do much unfortunately.

Actions #2

Updated by meta over 6 years ago

I've been running into this issue on Arch Linux for the past few months (although it only seems to happen with GALE01) - it seems independent of Dolphin (occurs with Dolphin builds on the AUR, the regular dolphin-emu package in the Arch Linux repositories, and also on my own builds that I've been using for the past couple months).

(gdb) bt
#0  0x00007f38eca91991 in poll () from /usr/lib/libc.so.6
#1  0x00007f38e4c6a523 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f38e4c6a63e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f38edf3d4a9 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/libQt5Core.so.5
#4  0x00007f38dd584312 in ?? () from /usr/lib/libQt5XcbQpa.so.5
#5  0x00007f38edee8dac in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#6  0x00007f38edef10a6 in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#7  0x0000559e6b41b975 in ?? ()
#8  0x00007f38ec9c5003 in __libc_start_main () from /usr/lib/libc.so.6
#9  0x0000559e6b431e6e in ?? ()

However, I just noticed that this issue seems to disappear when I switch from OpenGL to Vulkan (using amdgpu on a POLARIS10 card). Not sure what the issue is there. Just figured I'd chime in.

Actions #3

Updated by fbs over 6 years ago

This indeed seems to be some kind of issue with the amdgpu driver. Initially I was only able to trigger it from dolphin but I've been able to trigger it in more games. Seems like the whole GPU just locks up, the system is still reachable over ssh but needs to be reset for the system to recover.

This one may be closed. Thanks for the input :)

Actions #4

Updated by JosJuice over 6 years ago

  • Status changed from New to Invalid
Actions

Also available in: Atom PDF