Windows - XBMC crashes when XBOX-controller disconnects

  Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
evil-B Offline
Junior Member
Posts: 28
Joined: Feb 2011
Reputation: 0
Post: #46
I don't have the problem with playing videos myself (tested over SMB from my dev PC). I don't see why the SDL layer would impact the video player but if it does it can be interesting to investigate.

Take my comments for what they are: I am a long time C++ coder but I have very limited understanding of the XBMC overall architecture. An experienced XBMC dev should be an asset here.
Here is my untested latest build:
http://ryushare.com/ca0nkno3ypc1/XBMC.zip
Be aware that this is for XBMC adventurers only !
(This post was last modified: 2012-04-26 21:12 by evil-B.)
find quote
WiSo Offline
Team-XBMC Developer
Posts: 2,695
Joined: Oct 2003
Reputation: 0
Location: Germany
Post: #47
(2012-04-26 20:53)evil-B Wrote:  ah the usual 'do it yourself' answer from the XBMC dev... I understand your position, I am a long time C++ coder myself but I also understand that this is a very frustrating answer for the standard user. But this is another subject...

I'm no developer in my day to day job so you might be even more skilled to find and fix the problem Wink I just could say nothing but I try to give some pointers where others can chime in. budget planning and other things keeping me busy in RL so I'm not really in a mood for fixing bugs I can't replicate with the debugger.

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
(This post was last modified: 2012-04-26 21:40 by WiSo.)
find quote
achaw Offline
Junior Member
Posts: 43
Joined: Mar 2012
Reputation: 0
Post: #48
Can´t see movie either with this workaround:

Code:
17:33:28 T:3524   DEBUG: CUtil::ScanForExternalSubtitles: END (total time: 3 ms)
17:33:28 T:3524  NOTICE: Creating Demuxer
17:33:28 T:3524   DEBUG: SECTION:LoadDLL(special://xbmcbin/system/players/dvdplayer/avutil-51.dll)
17:33:28 T:3524   ERROR: Win32DllLoader::Load: Failed to load C:\Program Files (x86)\XBMC\system\players\dvdplayer\avutil-51.dll with error 126:No se puede encontrar el m�dulo especificado.
17:33:28 T:3524   ERROR: CDVDDemuxFFmpeg::Open - failed to load ffmpeg libraries
17:33:28 T:3524   ERROR: CDVDPlayer::OpenDemuxStream - Error creating demuxer
17:33:28 T:3524  NOTICE: CDVDPlayer::OnExit()
17:33:28 T:3524  NOTICE: CDVDPlayer::OnExit() deleting input stream
17:33:28 T:3524   DEBUG: Thread CDVDPlayer 3524 terminating
17:33:28 T:3052   DEBUG: CAnnouncementManager - Announcement: OnStop from xbmc
17:33:28 T:3052   DEBUG: GOT ANNOUNCEMENT, type: 1, from xbmc, message OnStop
17:33:28 T:3052   ERROR: Playlist Player: skipping unplayable item: 0, path [C:\Users\HT\MEDIA\Peliculas\The Tree Of Life.avi]
17:33:28 T:3052   DEBUG: Playlist Player: no more playable items... aborting playback
17:33:28 T:1364   DEBUG: Thread Background Loader start, auto delete: 0
17:33:28 T:3052  NOTICE: CDVDPlayer::CloseFile()
17:33:28 T:3052 WARNING: CDVDMessageQueue(player)::Put MSGQ_NOT_INITIALIZED
17:33:28 T:3052  NOTICE: DVDPlayer: waiting for threads to exit
17:33:28 T:3052  NOTICE: DVDPlayer: finished waiting
17:33:28 T:1364   DEBUG: Thread Background Loader 1364 terminating
17:33:35 T:3052   DEBUG: ------ Window Init (Pointer.xml) ------
17:33:41 T:3052   DEBUG: ------ Window Deinit (Pointer.xml) ------
17:33:46 T:3052   ERROR: XFILE::CDirectory::GetDirectory - Error getting C:\Users\HT\MEDIA\Peliculas\/extrafanart\
17:33:57 T:2692   DEBUG: Thread Jobworker 2692 terminating (autodelete)
17:33:57 T:328   DEBUG: Thread Jobworker 328 terminating (autodelete)
17:33:57 T:1136   DEBUG: Thread Jobworker 1136 terminating (autodelete)
17:33:57 T:3052   DEBUG: SECTION:UnloadDelayed(DLL: special://xbmcbin/system/ImageLib.dll)
find quote
tjcinnamon Offline
Senior Member
Posts: 240
Joined: Apr 2012
Reputation: 0
Post: #49
(2012-04-26 22:50)achaw Wrote:  Can´t see movie either with this workaround:

Code:
17:33:28 T:3524   DEBUG: CUtil::ScanForExternalSubtitles: END (total time: 3 ms)
17:33:28 T:3524  NOTICE: Creating Demuxer
17:33:28 T:3524   DEBUG: SECTION:LoadDLL(special://xbmcbin/system/players/dvdplayer/avutil-51.dll)
17:33:28 T:3524   ERROR: Win32DllLoader::Load: Failed to load C:\Program Files (x86)\XBMC\system\players\dvdplayer\avutil-51.dll with error 126:No se puede encontrar el m�dulo especificado.
17:33:28 T:3524   ERROR: CDVDDemuxFFmpeg::Open - failed to load ffmpeg libraries
17:33:28 T:3524   ERROR: CDVDPlayer::OpenDemuxStream - Error creating demuxer
17:33:28 T:3524  NOTICE: CDVDPlayer::OnExit()
17:33:28 T:3524  NOTICE: CDVDPlayer::OnExit() deleting input stream
17:33:28 T:3524   DEBUG: Thread CDVDPlayer 3524 terminating
17:33:28 T:3052   DEBUG: CAnnouncementManager - Announcement: OnStop from xbmc
17:33:28 T:3052   DEBUG: GOT ANNOUNCEMENT, type: 1, from xbmc, message OnStop
17:33:28 T:3052   ERROR: Playlist Player: skipping unplayable item: 0, path [C:\Users\HT\MEDIA\Peliculas\The Tree Of Life.avi]
17:33:28 T:3052   DEBUG: Playlist Player: no more playable items... aborting playback
17:33:28 T:1364   DEBUG: Thread Background Loader start, auto delete: 0
17:33:28 T:3052  NOTICE: CDVDPlayer::CloseFile()
17:33:28 T:3052 WARNING: CDVDMessageQueue(player)::Put MSGQ_NOT_INITIALIZED
17:33:28 T:3052  NOTICE: DVDPlayer: waiting for threads to exit
17:33:28 T:3052  NOTICE: DVDPlayer: finished waiting
17:33:28 T:1364   DEBUG: Thread Background Loader 1364 terminating
17:33:35 T:3052   DEBUG: ------ Window Init (Pointer.xml) ------
17:33:41 T:3052   DEBUG: ------ Window Deinit (Pointer.xml) ------
17:33:46 T:3052   ERROR: XFILE::CDirectory::GetDirectory - Error getting C:\Users\HT\MEDIA\Peliculas\/extrafanart\
17:33:57 T:2692   DEBUG: Thread Jobworker 2692 terminating (autodelete)
17:33:57 T:328   DEBUG: Thread Jobworker 328 terminating (autodelete)
17:33:57 T:1136   DEBUG: Thread Jobworker 1136 terminating (autodelete)
17:33:57 T:3052   DEBUG: SECTION:UnloadDelayed(DLL: special://xbmcbin/system/ImageLib.dll)

Are you referring to the most recently posted patch?

Frodo Win 8 Pro x64
Fractal Design Node 605 (looks amazing)
i5 3570K, Asus P8Z77V LK
2x80GB Intel 320 SSD, 4TB NAS
GTX 670x2 SLI, 16GB GSkill Ares
Onkyo RC360 with Paradigm piece-by-piece 5.1 build
Nyxboard and AHK full controlled via XBox Controller
find quote
evil-B Offline
Junior Member
Posts: 28
Joined: Feb 2011
Reputation: 0
Post: #50
these builds are made from the latest repository version. you seem to be missing at least one dll.
find quote
evil-B Offline
Junior Member
Posts: 28
Joined: Feb 2011
Reputation: 0
Post: #51
ok I rushed the previous version a little bit. I made some tests on my HTPC and it would not register the button presses anymore.
here is fixed version:
http://ryushare.com/ik4s6zoac43z/XBMC.zip
tell me how it behaves in your environments.
(This post was last modified: 2012-04-27 01:01 by evil-B.)
find quote
tjcinnamon Offline
Senior Member
Posts: 240
Joined: Apr 2012
Reputation: 0
Post: #52
Are you referring to the nightly builds? If not how can I tell if am on the most recent build?

Frodo Win 8 Pro x64
Fractal Design Node 605 (looks amazing)
i5 3570K, Asus P8Z77V LK
2x80GB Intel 320 SSD, 4TB NAS
GTX 670x2 SLI, 16GB GSkill Ares
Onkyo RC360 with Paradigm piece-by-piece 5.1 build
Nyxboard and AHK full controlled via XBox Controller
find quote
evil-B Offline
Junior Member
Posts: 28
Joined: Feb 2011
Reputation: 0
Post: #53
you should be good with an environment created from the nightly builds. versions don't need to be a perfect match.
find quote
CrystalP Offline
Team-XBMC Developer
Posts: 822
Joined: Apr 2010
Reputation: 18
Location: The Great North
Post: #54
As WiSo wrote I don't have a controller. But I have ideas :-)

@WiSo is it an option to bump the SDL dll? It's pretty ancient.

@evil-B I understand how your change avoids the problem, but it doesn't really fix it. Is there a way to make the SDL recover after the exception and get valid data again? Using functions like SDL_QuitSubSystem, SDL_InitSubSystem, SDL_Init, SDL_Quit...

Maybe sleeping a little in the event handler before calling CJoystick::Reinitialize() would help? Or sleeping between the QuitSubSystem and InitSubSystem?

For video playback, you guys will need to add evil-B's binary on top of the latest xbmc nightly.

Always read the XBMC online-manual, FAQ, Wiki and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
find quote
evil-B Offline
Junior Member
Posts: 28
Joined: Feb 2011
Reputation: 0
Post: #55
sure as I said, this is a workaround not a fix.

I made some more tests on my dev machine and I am now able to reproduce the bug more frequently. Turning off the controller while playing a video triggers the bug more often. That way I found out that once SDL_InitSubSystem has crashed, it will always throw an exception for every subsequent calls even if I try to call SDL_Quit / SDL_Init.

If I call SDL_QuitSubSystem, then SDL_Quit and then SDL_Init in Reinitialize() the bug comes up less often but it still does from time to time.
Of course calling SDL_Quit could be a problem on systems where the SDL layer is used for more then just Joystick handling. This SDL layer is a mess.

Anyway here is my latest attempt for those XBMC adventurers:
http://ryushare.com/uhqh6qhvbqqk/XBMC.zip

I am starting to think that I will use xpadder to handle the controller completely...
find quote
HenryFord Offline
Posting Freak
Posts: 1,216
Joined: Jan 2010
Reputation: 19
Post: #56
(2012-04-27 12:31)evil-B Wrote:  If I call SDL_QuitSubSystem, then SDL_Quit and then SDL_Init in Reinitialize() the bug comes up less often but it still does from time to time.
Of course calling SDL_Quit could be a problem on systems where the SDL layer is used for more then just Joystick handling. This SDL layer is a mess.
Hasn't it always been? Wink
Question would be for example games - most of them use SDL nowadays, so that could indeed produce silly problems...
However - strangely I cannot reproduce the error on my Win-System (Windows Enterprise x64, SP1). Neither with a wired nor with a wireless controller...

Quote:I am starting to think that I will use xpadder to handle the controller completely...
Another solution would be to try to use the EventClient for the controller for XBMC. That should resolve the issue, shouldn't it?
Of course, you have to keep in mind that if XBMC isn't in the focus, the commands of the controller will get passed to it anyhow... this could of course arise other issues, if you use your controller in other situation when XBMC is still open.

Me thinks that this could also be a problem within SDL...?
Maybe this fits somewhere here...?
http://bugzilla.libsdl.org/show_bug.cgi?id=1139

Need help? Check out my XBMC Frodo Guide. It contains full featured guides to Sickbeard and CouchPotato as well.

[Image: all-fanart.jpg]
find quote
evil-B Offline
Junior Member
Posts: 28
Joined: Feb 2011
Reputation: 0
Post: #57
yes this fits quite well with our current problem... I guess we'll have to wait for the SDL next version and hope...
I tried the build the latest SDL version but XBMC would not take it and I am not in the mood to investigate this matter.

If we get good reports from my latest patched version I will indicate exactly what I did otherwise... lets dump this.
(This post was last modified: 2012-04-27 17:33 by evil-B.)
find quote
tjcinnamon Offline
Senior Member
Posts: 240
Joined: Apr 2012
Reputation: 0
Post: #58
I gave it a shot and couldn't play a movie and the controller crashed. Can anyone else confirm this behavior?

Frodo Win 8 Pro x64
Fractal Design Node 605 (looks amazing)
i5 3570K, Asus P8Z77V LK
2x80GB Intel 320 SSD, 4TB NAS
GTX 670x2 SLI, 16GB GSkill Ares
Onkyo RC360 with Paradigm piece-by-piece 5.1 build
Nyxboard and AHK full controlled via XBox Controller
find quote
evil-B Offline
Junior Member
Posts: 28
Joined: Feb 2011
Reputation: 0
Post: #59
if you can't play video probably that your installation is not up to date. Do you have a dll load error in the log ?
(This post was last modified: 2012-04-27 17:33 by evil-B.)
find quote
WiSo Offline
Team-XBMC Developer
Posts: 2,695
Joined: Oct 2003
Reputation: 0
Location: Germany
Post: #60
(2012-04-27 04:11)CrystalP Wrote:  @WiSo is it an option to bump the SDL dll? It's pretty ancient.

We already wanted to get rid of SDL for all platforms but we still rely on the input layer. topfs2 wanted to abstract it and uses addons for it but afaik never started with it.
We got rid of the SDL window handling on win32 but the last bits are often the difficult ones.

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
find quote
Post Reply