Closed fetzerch closed 8 years ago
This is the deadlock situation on game stop:
0 __pthread_mutex_lock_full /usr/lib/debug/.build-id/b7/7847cc9cacbca3b5753d0d25a32e5795afe75b.debug 343 0x7ffff7bc37e7
1 XbmcThreads::pthreads::RecursiveMutex::lock CriticalSection.h 49 0x1108b12
2 XbmcThreads::CountingLockable<XbmcThreads::pthreads::RecursiveMutex>::lock Lockables.h 60 0x110ae06
3 XbmcThreads::UniqueLock<CCriticalSection>::UniqueLock Lockables.h 127 0x110adc0
4 CSingleLock::CSingleLock SingleLock.h 38 0x1108b55
5 GAME::CGameClient::CloseFile GameClient.cpp 417 0x1d7b8cc
6 GAME::CRetroPlayer::CloseFile RetroPlayer.cpp 109 0x1ef4d6d
7 CApplicationPlayer::CloseFile ApplicationPlayer.cpp 55 0x18ace50
8 CApplication::StopPlaying Application.cpp 3767 0x18a28cb
9 PlayerControl PlayerBuiltins.cpp 135 0x1d42666
10 CBuiltins::Execute Builtins.cpp 163 0x1d38b00
11 CApplication::ExecuteXBMCAction Application.cpp 4301 0x18a55d2
12 CApplication::OnMessage Application.cpp 4278 0x18a50ed
13 CGUIWindowManager::SendMessage GUIWindowManager.cpp 452 0x16c390e
14 CGUIAction::ExecuteActions GUIAction.cpp 60 0x16057d1
15 CGUIButtonControl::OnClick GUIButtonControl.cpp 363 0x161a7d9
16 CGUIButtonControl::OnAction GUIButtonControl.cpp 186 0x1619b61
17 CGUIRadioButtonControl::OnAction GUIRadioButtonControl.cpp 113 0x1693247
18 CGUIButtonControl::OnMouseEvent GUIButtonControl.cpp 320 0x161a44d
19 CGUIControl::SendMouseEvent GUIControl.cpp 571 0x1622bbc
... <More>
0 pthread_cond_timedwait * *GLIBC_2.3.2 /usr/lib/debug/.build-id/b7/7847cc9cacbca3b5753d0d25a32e5795afe75b.debug 180 0x7ffff7bc7711
1 XbmcThreads::ConditionVariable::wait Condition.h 84 0x1155f26
2 XbmcThreads::TightConditionVariable<bool volatile&>::wait<CCriticalSection> Condition.h 65 0x115625a
3 CEvent::WaitMSec Event.h 86 0x11560e9
4 CThread::WaitForThreadExit ThreadImpl.cpp 220 0x1541355
5 CThread::StopThread Thread.cpp 167 0x1541ee9
6 GAME::CGameLoop::Stop GameLoop.cpp 51 0x1d791fa
7 GAME::CGameClientReversiblePlayback::~CGameClientReversiblePlayback GameClientReversiblePlayback.cpp 62 0x1d76a51
8 GAME::CGameClientReversiblePlayback::~CGameClientReversiblePlayback GameClientReversiblePlayback.cpp 63 0x1d76b16
9 std::default_delete<GAME::IGameClientPlayback>::operator() unique_ptr.h 76 0x1d7f700
10 std::unique_ptr<GAME::IGameClientPlayback, std::default_delete<GAME::IGameClientPlayback>>::reset unique_ptr.h 344 0x1d7f2b7
11 GAME::CGameClient::ResetPlayback GameClient.cpp 395 0x1d7b789
12 GAME::CGameClient::CloseFile GameClient.cpp 415 0x1d7b8b2
13 V1::KodiAPI::Game::CAddonCallbacksGame::CloseGame AddonCallbacksGame.cpp 85 0x17cb5de
14 GAME_close_game libKODI_game.cpp 62 0x7fff78c777c0
15 CHelper_libKODI_game::CloseGame libKODI_game.h 141 0x7fff7989f873
16 LIBRETRO::CLibretroEnvironment::EnvironmentCallback LibretroEnvironment.cpp 175 0x7fff7989e519
17 LIBRETRO::EnvCallback LibretroEnvironment.cpp 50 0x7fff7989dc0a
18 retro_wrap_emulator() 0x7fff39e38520
19 co_switch 0x7fff39e3c2d0
... <More>
I've fixed two bugs in RetroPlayer. https://github.com/garbear/xbmc/commit/13e36b3 fixes the deadlock when stopping games. https://github.com/garbear/xbmc/commit/9faa6c5 allows standalone add-ons to also launch with games.
I'll look into the missing audio when I get a chance.
Wow, that was fast, thanks much for the quick fixes. I'll sort out the build issues. It has the zlib sources in a subdirectory, hence I expected them to be used without the need of -lz
. But then I'll see also how we get the missing audio libs compiled in. Do you know by heart if there is already a libretro core with external build dependencies?
I don't know of any cores with external build deps. I've found answers by scanning the libretro build system before
This updates the ScummVM core to 1.8.0 and aligns the project structure with the other cores.
Current state:
.scummvm
files that contain the game id (https://github.com/libretro/scummvm/blob/master/LIBRETRO_CMDLINE).Known issues:
game.libretro
(inCGameLoop::Stop()
). Need to investigate.scummvm_libretro.so
in RetroArch.Free games for testing can be found here: https://scummvm.org/games
@garbear: If you find some time it would be great if you could have a look at the audio problem.