Windows - XBMC crashes when XBOX-controller disconnects

  Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
atsumori Offline
Member
Posts: 65
Joined: Mar 2011
Reputation: 0
Post: #16
Wow, you are way more patient with support than I! Anywho,

Regarding the 4 digit number, I'm pretty sure that's the thread number of the process that's being closed. Admittedly having no knowledge of the inner workings of XBMC, I'm guessing XBMC spins up a thread to pole each controller/remote for button presses. Then, when you disconnect the XBOX controller, the system tells XBMC that the controller has disconnect and so XBMC kills that thread.

Which, continuing on the pure conjecture train, means that there might be some sort of unhandled exception in CRemoteControl when a controller is disconnected? Of course, that's assuming "DEBUG: Thread CRemoteControl 3560 terminating" line is really the culprit.
find quote
tjcinnamon Offline
Senior Member
Posts: 246
Joined: Apr 2012
Reputation: 0
Post: #17
I mostly agree with you except: when you disconnect the XBOX controller, the system tells XBMC that the controller has disconnect

If this was the case it would be the system sending the command based on controller behavior. Whereas, I believe its the controller sending a message to the adapter saying "I'm shutting down now" Then the adapter sends that to the system. That is why when the battery is suddenly removed it does not crash. Because the message is never sent.

Does that make sense? Perhaps that's what you meant and I got too semantical. However, I agree with you we are on the conjecture train. I'll try to figure out if that 4 digit number is a system process thread ID or a thread ID assigned with XBMC.

I'll give Microsoft a call a bit later. Do you know how often the Dev Team checks these forums? I think we are giving due diligence to help solve this problem and perhaps could get this problem bumped in priority.

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
(This post was last modified: 2012-04-24 16:20 by tjcinnamon.)
find quote
atsumori Offline
Member
Posts: 65
Joined: Mar 2011
Reputation: 0
Post: #18
Actually, I think it's probably better to be semantical in this case and your explanation seems sound.

It's really hit or miss with XBMC support since it's community supported and there's really no guarantee that the guy that did the controller code will show up on the forums and things are bound to be slower since Eden was just released. Once you get the appropriate developer's attention though, they seem pretty good about helping if you get them the information they need. There are four debug logs already in this thread, so if somebody could let us know how to flag down the appropriate developer I feel like we could get this fixed!

Back to testing, I just discovered that disconnecting the Sony PS3 Remote (connected via Bluetooth) causes the same crash. I was in the middle of watching Castle and the battery ran out, causing a crash mid-episode. I was able to replicate the crash again by removing the batteries from the remote. Since the PS3 Remote sucks up batteries faster than a GameGear, this is going to be quite an irritating problem.
(This post was last modified: 2012-04-24 17:39 by atsumori.)
find quote
tjcinnamon Offline
Senior Member
Posts: 246
Joined: Apr 2012
Reputation: 0
Post: #19
Hmmmm, so it's not limited to Xbox controllers meaning perhaps it is a system generated message.

I called 2 tiers of Xbox support and they helped as much as they could be that info was not given to them. However, it looks as though any info they had would not help as much because it's a system generated error.

Do playstation controllers have removable batteries? Could we try a "sudden" shutdown instead of letting the controller know when it's dying?

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
atsumori Offline
Member
Posts: 65
Joined: Mar 2011
Reputation: 0
Post: #20
Playstation controllers do not have removable batteries, but I did try yanking out the bluetooth dongle I use to connect the controller to my system. Yanking out the dongle caused XBMC to crash.
find quote
catscratch Offline
Junior Member
Posts: 2
Joined: Apr 2012
Reputation: 0
Post: #21
My xbox 360 controller and my Wii remote won't work. I'm having the same issues and the same messages in the log.

DEBUG: Thread CRemoteControl 3560 terminating

However, I don't think it's an XBMC eden problem, or a controller/driver problem. I'm seeing an emerging pattern here...Windows 7 x64. Perhaps a recent Windows update is the cause of all of our problems. I recently uninstalled and removed all traces of XBMC and tried an older version to see if my controllers would work...still nothing.

If anyone is having this problem on XP, please chime in and let us know.
find quote
tjcinnamon Offline
Senior Member
Posts: 246
Joined: Apr 2012
Reputation: 0
Post: #22
I'll see if my 360 controller adapter works in linux and boot from a live cd and test for the crash.

I think it may be an XBMC issue only because the PS3 and Wii controller works on Bluetooth and the 360 Controller works on a USB RF adapter (basically USB). However, I'm not ruling anything out at this point

Has this happened on Win 7 x86 (32bit) or other OS's? I suppose this is the wrong section of the forum to ask because we'll only get XP, Vista and 7.

I'll post in the other forums with a link to this topic and perhaps a poll.

Here's the two threads to keep an eye on to see if this behavior is happening in other OS's

Mac: http://forum.xbmc.org/showthread.php?tid=129925

Linux: http://forum.xbmc.org/showthread.php?tid=129926

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
(This post was last modified: 2012-04-25 16:59 by tjcinnamon.)
find quote
atsumori Offline
Member
Posts: 65
Joined: Mar 2011
Reputation: 0
Post: #23
Thanks for creating the additional threads.

I agree that this might be an XBMC Eden (possibly XBMC Eden Windows-only) issue. I just tried running a backup I made of my Dharma install that I made right before updating to Eden. Dharma does not have this issue so the cause is likely updated controller handling code in Eden.
find quote
catscratch Offline
Junior Member
Posts: 2
Joined: Apr 2012
Reputation: 0
Post: #24
Ok, it's not a Windows 7 prob then, I got a hold of a laptop running XP and installed eden. Similar results. Except this time, when I tried to exit XBMC it completely crashed and the laptop froze up.
find quote
evil-B Offline
Junior Member
Posts: 28
Joined: Feb 2011
Reputation: 0
Post: #25
I can also confirm this issue on Windows 7 Ultimate 64bit with the XBOX wireless controller.

To remove the issue just comment line 701 in file WinEventsWin32.cpp:
Code:
g_Joystick.Reinitialize();
becomes:
Code:
//g_Joystick.Reinitialize();
Of course recompilation is needed after that.

I traced the crash to function SDL_InitSubSystem(SDL_INIT_JOYSTICK) in function CJoystick::Reinitialize().
I tried the to catch the exception but even if it is caught XBMC then crashes elsewhere:
Code:
12:56:57 T:840   ERROR: CJoystick::Reinitialize() SDL_InitSubSystem crash ! <- Personal trace inside catch
12:56:57 T:840   ERROR: exception in CApplication::FrameMove()
12:56:57 T:840   ERROR: Previous line repeats 10 times.
12:56:57 T:840   ERROR: CApplication::FrameMove(), too many exceptions
find quote
tjcinnamon Offline
Senior Member
Posts: 246
Joined: Apr 2012
Reputation: 0
Post: #26
So commenting the line out fixes it completely?

What are you using to compile it? I'll look in the documentation on recompilation. I have Visual Studio 2010 and post when I test it out.

Thanks so much,
JOe K.

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: #27
I guess it is not a fix but a workaround. This 'g_Joystick.Reinitialize()' is here to detect new joysticks which were not there when XBMC started... but obviously it doesn't work yet. The reinitialization of the SDL layer crashes, I don't know why and I don't have time nor the will to investigate it deeper.
Official coders, it is up to you now Wink

I use Visual Studio Express 2010 to compile XBMC.
run:
1- xbmc\project\BuildDependencies\DownloadMingwBuildEnv.bat
2- xbmc\project\BuildDependencies\DownloadBuildDeps.bat
3- xbmc\project\Win32BuildSetup\BuildSetup.bat
Get result in
xbmc\project\Win32BuildSetup\BUILD_WIN32
find quote
atsumori Offline
Member
Posts: 65
Joined: Mar 2011
Reputation: 0
Post: #28
You rock evil-B, thanks for looking into this!

Is there any chance you could possibly upload your modified XBMC.exe to mediafire or someplace similar for those of us without a compiling environment?
find quote
tjcinnamon Offline
Senior Member
Posts: 246
Joined: Apr 2012
Reputation: 0
Post: #29
Post Compilation: Is it only the .exe that gets modified or are there other files that get modified as well?

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: #30
Point me to a place where I can upload the file if you want it. I don't have any account on mediafire or any other file server.

For those of you who don't have the dev environment, know that Visual Studio Express 2010 is free.
find quote
Post Reply