IRSS 1.4.2 RC1 cpu hogging problem in Vista (1 Viewer)

tadr

Portal Member
October 4, 2008
11
0
I'm running version 1.4.2 RC1 along with the fix to get it to not hang on standby/resume. Unfortunately, it periodically ends up in some infinite loop (I presume) and hogs 100% of the CPU.

Is this a known problem? If not, what steps can I take to help debug it?

I'm only using it to blast commands (using the irblast app). I am running the input service and the translator (for suspend events). The ONLY device plugin enabled is Microsoft MCE for the MCE remote transceiver.

Update:
Well, it looks like it may be hogging the CPU b/c it is stuck in an infinite loop throwing some exception. While troubleshooting the associated system slowness I noticed a LOT of writes to the transceiver log file (c:\programdata\ir server suite\logs\MicrosoftMCETransceiverDriverVista.log) to the tune of nearly 70 MB/min. This happens every time I reboot, and sometimes when I resume from suspend (I think). My log was nearly a gig when I got to it.

I managed to extract the top of it... as you can see, it appears to get stuck in a loop trying to execute the read and IO control functions on lines 566 and 1027.

Code:
2008-12-15 23:45:38.414576 - Start()
2008-12-15 23:45:38.414576 - Device Guid: 7951772d-cd50-49b7-b103-2baac494fc57
2008-12-15 23:45:38.414576 - Device Path: \\?\root#system#0001#{7951772d-cd50-49b7-b103-2baac494fc57}\port2
2008-12-15 23:45:38.414576 - OpenDevice()
2008-12-15 23:45:38.539376 - InitializeDevice()
2008-12-15 23:45:38.554976 - Device Capabilities:
2008-12-15 23:45:38.554976 - NumTxPorts:     3
2008-12-15 23:45:38.554976 - NumRxPorts:     2
2008-12-15 23:45:38.554976 - LearnPortMask:  2
2008-12-15 23:45:38.554976 - ReceivePort:    0
2008-12-15 23:45:38.554976 - LearnPort:      1
2008-12-15 23:45:38.554976 - DetailsFlags:   8
2008-12-15 23:45:38.570576 - TxPortMask:     7
2008-12-15 23:45:38.570576 - StartReadThread(Receiving)
Received timing:    +150, -100000, 
Received timing:    +50, -100000, 
Received timing:    +150, -100000, 
Received timing:    +150, -100000, 
Received timing:    +350, -100000, 
Received timing:    +50, -100000, 
2008-12-15 23:46:23.471976 - System.ComponentModel.Win32Exception: The I/O operation has been aborted because of either a thread exit or an application request
   at InputService.Plugin.DriverVista.IoControl(IoCtrl ioControlCode, IntPtr inBuffer, Int32 inBufferSize, IntPtr outBuffer, Int32 outBufferSize, Int32& bytesReturned) in D:\temp\prj\mp\mediaportal\IR Server Suite\IR Server Plugins\Microsoft MCE Transceiver\DriverVista.cs:line 566
   at InputService.Plugin.DriverVista.ReadThread() in D:\temp\prj\mp\mediaportal\IR Server Suite\IR Server Plugins\Microsoft MCE Transceiver\DriverVista.cs:line 1027
2008-12-15 23:46:23.472976 - System.ComponentModel.Win32Exception: The device does not recognize the command
   at InputService.Plugin.DriverVista.IoControl(IoCtrl ioControlCode, IntPtr inBuffer, Int32 inBufferSize, IntPtr outBuffer, Int32 outBufferSize, Int32& bytesReturned) in D:\temp\prj\mp\mediaportal\IR Server Suite\IR Server Plugins\Microsoft MCE Transceiver\DriverVista.cs:line 566
   at InputService.Plugin.DriverVista.ReadThread() in D:\temp\prj\mp\mediaportal\IR Server Suite\IR Server Plugins\Microsoft MCE Transceiver\DriverVista.cs:line 1027
2008-12-15 23:46:23.472976 - System.ComponentModel.Win32Exception: The device does not recognize the command
   at InputService.Plugin.DriverVista.IoControl(IoCtrl ioControlCode, IntPtr inBuffer, Int32 inBufferSize, IntPtr outBuffer, Int32 outBufferSize, Int32& bytesReturned) in D:\temp\prj\mp\mediaportal\IR Server Suite\IR Server Plugins\Microsoft MCE Transceiver\DriverVista.cs:line 566
   at InputService.Plugin.DriverVista.ReadThread() in D:\temp\prj\mp\mediaportal\IR Server Suite\IR Server Plugins\Microsoft MCE Transceiver\DriverVista.cs:line 1027
2008-12-15 23:46:23.473976 - System.ComponentModel.Win32Exception: The device does not recognize the command
   at InputService.Plugin.DriverVista.IoControl(IoCtrl ioControlCode, IntPtr inBuffer, Int32 inBufferSize, IntPtr outBuffer, Int32 outBufferSize, Int32& bytesReturned) in D:\temp\prj\mp\mediaportal\IR Server Suite\IR Server Plugins\Microsoft MCE Transceiver\DriverVista.cs:line 566
   at InputService.Plugin.DriverVista.ReadThread() in D:\temp\prj\mp\mediaportal\IR Server Suite\IR Server Plugins\Microsoft MCE Transceiver\DriverVista.cs:line 1027
2008-12-15 23:46:23.473976 - System.ComponentModel.Win32Exception: The device does not recognize the command
   at InputService.Plugin.DriverVista.IoControl(IoCtrl ioControlCode, IntPtr inBuffer, Int32 inBufferSize, IntPtr outBuffer, Int32 outBufferSize, Int32& bytesReturned) in D:\temp\prj\mp\mediaportal\IR Server Suite\IR Server Plugins\Microsoft MCE Transceiver\DriverVista.cs:line 566
   at InputService.Plugin.DriverVista.ReadThread() in D:\temp\prj\mp\mediaportal\IR Server Suite\IR Server Plugins\Microsoft MCE Transceiver\DriverVista.cs:line 1027
2008-12-15 23:46:23.474976 - System.ComponentModel.Win32Exception: The device does not recognize the command
   at InputService.Plugin.DriverVista.IoControl(IoCtrl ioControlCode, IntPtr inBuffer, Int32 inBufferSize, IntPtr outBuffer, Int32 outBufferSize, Int32& bytesReturned) in D:\temp\prj\mp\mediaportal\IR Server Suite\IR Server Plugins\Microsoft MCE Transceiver\DriverVista.cs:line 566
   at InputService.Plugin.DriverVista.ReadThread() in D:\temp\prj\mp\mediaportal\IR Server Suite\IR Server Plugins\Microsoft MCE Transceiver\DriverVista.cs:line 1027
2008-12-15 23:46:23.474976 - System.ComponentModel.Win32Exception: The device does not recognize the command
   at InputService.Plugin.DriverVista.IoControl(IoCtrl ioControlCode, IntPtr inBuffer, Int32 inBufferSize, IntPtr outBuffer, Int32 outBufferSize, Int32& bytesReturned) in D:\temp\prj\mp\mediaportal\IR Server Suite\IR Server Plugins\Microsoft MCE Transceiver\DriverVista.cs:line 566
   at InputService.Plugin.DriverVista.ReadThread() in D:\temp\prj\mp\mediaportal\IR Server Suite\IR Server Plugins\Microsoft MCE Transceiver\DriverVista.cs:line 1027
2008-12-15 23:46:23.476976 - System.ComponentModel.Win32Exception: The device does not recognize the command
   at InputService.Plugin.DriverVista.IoControl(IoCtrl ioControlCode, IntPtr inBuffer, Int32 inBufferSize, IntPtr outBuffer, Int32 outBufferSize, Int32& bytesReturned) in D:\temp\prj\mp\mediaportal\IR Server Suite\IR Server Plugins\Microsoft MCE Transceiver\DriverVista.cs:line 566
   at InputService.Plugin.DriverVista.ReadThread() in D:\temp\prj\mp\mediaportal\IR Server Suite\IR Server Plugins\Microsoft MCE Transceiver\DriverVista.cs:line 1027

... etc
 

tadr

Portal Member
October 4, 2008
11
0
Well - I MAY have a workaround here. This was occurring on EVERY reboot. I suspected it may have been caused by initialization of the input service before other essential services, so i set the input service to "automatic (delayed start)". This way, the input service is only started after ALL of the other automatic services have been loaded.

I rebooted and it seemed to work. I'm keeping my fingers crossed that this solves it for now- although this should still be categorized as a "bug" I think.


EDIT:
Didn't work. I just noticed the system acting sluggish, loaded up the task manager, and sure enough - input_service.exe @ 100% cpu usage.

Any thoughts on this??
 

Malingo

Portal Pro
July 26, 2008
71
2
Home Country
Germany Germany
I think I use IRSS exactly as you, just for blasting to my Receiver.
Although I didn't see any slowdown, the blasting doesn't work after the computer wakes from sleep.
I have to look at my logs when I get home, maybe they are looking similar to yours.

Maybe it is also worth a try to add a dependency for the input service, so it will only start after TV Server has started.
Here is an Microsoft kb enty on how this is done:
How to delay loading of specific services

Edit: Just took a look at the logs, seems that my problem is different from yours, as I get a different error.
 

Users who are viewing this thread

Top Bottom