Page 1 of 1
rc2 freeze
Posted: Wed Apr 26, 2017 4:54 am
by blaher
Version: 0.5 rc2
Traceback (most recent call last) (0.5.0-rc2):
File "<string>", line 1, in <module>
File "urllib.pyc", line 87, in urlopen
File "urllib.pyc", line 213, in open
File "urllib.pyc", line 350, in open_http
File "httplib.pyc", line 1053, in endheaders
File "httplib.pyc", line 897, in _send_output
File "httplib.pyc", line 859, in send
File "httplib.pyc", line 836, in connect
File "socket.pyc", line 575, in create_connection
IOError: [Errno socket error] [Errno 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
Traceback (most recent call last):
File "SocketServer.pyc", line 596, in process_request_thread
File "SocketServer.pyc", line 331, in finish_request
File "SocketServer.pyc", line 654, in __init__
File "SocketServer.pyc", line 713, in finish
File "socket.pyc", line 283, in close
File "socket.pyc", line 307, in flush
error: [Errno 10053] An established connection was aborted by the software in your host machine
No Event
Description: I was double clicking a run application macro that was referencing a program that didn't exist in that directory anymore, but I'm fairly sure EG was already locked up as the red busy icon in the taskbar was permanently on.
Re: rc2 freeze
Posted: Wed Apr 26, 2017 6:55 am
by kgschlosser
I may have found the problem. let me go and look.
Re: rc2 freeze
Posted: Wed Apr 26, 2017 7:02 am
by kgschlosser
OK this is what i see. something that you have running in a macro that contains this action
OSDFrame.ShowOSD(osdText=u'HDMI Audio', fontInfo=u'0;-48;0;0;0;700;0;0;0;0;3;2;1;34;Arial', textColour=(255, 255, 255), outlineColour=(0, 0, 0), alignment=4, offset=(0, 0), displayNumber=0, timeout=4.0, event=3720, skin=u'Default')
which is for showing an OSD saying HDMI Audio
something in that macro is causing the action thread to hang. I would need a copy of your tree to see exactly what is going on.
Re: rc2 freeze
Posted: Thu Apr 27, 2017 3:06 am
by blaher
It contains the audioendpoint plugin which sets my receiver to the audio output. Sometimes audioendpoint tries to set it before the device has 'attached' and has shown up in Windows 10, so perhaps that's the issue.
I also found a big wall of red text in the log with debugging on, but there's no traceback, so I don't know if it's useful, or not. Just in case, here it is:
20:51:09: 0 MainMessageReceiver: timeout TriggerEventWait
File "threading.pyc", line 774, in __bootstrap
File "threading.pyc", line 801, in __bootstrap_inner
File "threading.pyc", line 754, in run
File "C:\Program Files (x86)\EventGhost\eg\Utils.py", line 441, in LogItWithReturnWrapper
result = func(*args, **kwargs)
File "C:\Program Files (x86)\EventGhost\eg\Classes\ThreadWorker.py", line 280, in __MainLoop
self.__DoOneEvent()
File "C:\Program Files (x86)\EventGhost\eg\Classes\ThreadWorker.py", line 261, in __DoOneEvent
self.__PumpWaitingMessages()
File "C:\Program Files (x86)\EventGhost\eg\Classes\ThreadWorker.py", line 287, in __PumpWaitingMessages
while PeekMessage(byref(msg), 0, 0, 0, PM_REMOVE):
File "C:\Program Files (x86)\EventGhost\eg\Classes\MessageReceiver.py", line 127, in WindowProc
res = handler(hwnd, mesg, wParam, lParam)
File "C:\Program Files (x86)\EventGhost\eg\Utils.py", line 428, in LogItWrapper
return func(*args, **kwargs)
File "C:\Program Files (x86)\EventGhost\plugins\System\PowerBroadcastNotifier.py", line 251, in OnPowerBroadcast
source=self.plugin
File "C:\Program Files (x86)\EventGhost\eg\Classes\EventThread.py", line 150, in TriggerEventWait
eg.PrintDebugNotice("timeout TriggerEventWait")
File "C:\Program Files (x86)\EventGhost\eg\Classes\Log.py", line 163, in PrintDebugNotice
sys.stderr.write(" ".join(strs) + "\n")
File "C:\Program Files (x86)\EventGhost\eg\Classes\Log.py", line 70, in write
log.Write(data, ERROR_ICON)
File "C:\Program Files (x86)\EventGhost\eg\Classes\Log.py", line 240, in Write
wx.CallAfter(self._WriteLine, line, icon, wRef, when, eg.indent)
File "wx\_core.pyc", line 16772, in CallAfter
File "wx\_core.pyc", line 8410, in PostEvent
File "C:\Program Files (x86)\EventGhost\eg\Classes\MessageReceiver.py", line 127, in WindowProc
res = handler(hwnd, mesg, wParam, lParam)
File "C:\Program Files (x86)\EventGhost\eg\Utils.py", line 427, in LogItWrapper
eg.PrintDebugNotice(funcName + argString)
File "C:\Program Files (x86)\EventGhost\eg\Classes\Log.py", line 163, in PrintDebugNotice
sys.stderr.write(" ".join(strs) + "\n")
File "C:\Program Files (x86)\EventGhost\eg\Classes\Log.py", line 70, in write
log.Write(data, ERROR_ICON)
File "C:\Program Files (x86)\EventGhost\eg\Classes\Log.py", line 240, in Write
wx.CallAfter(self._WriteLine, line, icon, wRef, when, eg.indent)
File "wx\_core.pyc", line 16772, in CallAfter
File "wx\_core.pyc", line 8410, in PostEvent
File "C:\Program Files (x86)\EventGhost\eg\Classes\MessageReceiver.py", line 127, in WindowProc
res = handler(hwnd, mesg, wParam, lParam)
File "C:\Program Files (x86)\EventGhost\eg\Utils.py", line 427, in LogItWrapper
eg.PrintDebugNotice(funcName + argString)
File "C:\Program Files (x86)\EventGhost\eg\Classes\Log.py", line 163, in PrintDebugNotice
sys.stderr.write(" ".join(strs) + "\n")
File "C:\Program Files (x86)\EventGhost\eg\Classes\Log.py", line 70, in write
log.Write(data, ERROR_ICON)
File "C:\Program Files (x86)\EventGhost\eg\Classes\Log.py", line 240, in Write
wx.CallAfter(self._WriteLine, line, icon, wRef, when, eg.indent)
File "wx\_core.pyc", line 16772, in CallAfter
File "wx\_core.pyc", line 8410, in PostEvent
File "C:\Program Files (x86)\EventGhost\eg\Classes\MessageReceiver.py", line 127, in WindowProc
res = handler(hwnd, mesg, wParam, lParam)
File "C:\Program Files (x86)\EventGhost\eg\Utils.py", line 428, in LogItWrapper
return func(*args, **kwargs)
File "C:\Program Files (x86)\EventGhost\plugins\System\PowerBroadcastNotifier.py", line 251, in OnPowerBroadcast
source=self.plugin
File "C:\Program Files (x86)\EventGhost\eg\Classes\EventThread.py", line 151, in TriggerEventWait
traceback.print_stack()
20:51:04: 0 MainMessageReceiver: PowerBroadcastNotifier.OnPowerBroadcast(hwnd=7471556, uMsg=536L, wParam=32787L, lParam=5957096)
20:51:04: 0 MainMessageReceiver: PowerBroadcastNotifier.OnPowerBroadcast(hwnd=7471556, uMsg=536L, wParam=32787L, lParam=5957064)
20:51:03: 0 MainMessageReceiver: timeout TriggerEventWait
File "threading.pyc", line 774, in __bootstrap
File "threading.pyc", line 801, in __bootstrap_inner
File "threading.pyc", line 754, in run
File "C:\Program Files (x86)\EventGhost\eg\Utils.py", line 441, in LogItWithReturnWrapper
result = func(*args, **kwargs)
File "C:\Program Files (x86)\EventGhost\eg\Classes\ThreadWorker.py", line 280, in __MainLoop
self.__DoOneEvent()
File "C:\Program Files (x86)\EventGhost\eg\Classes\ThreadWorker.py", line 261, in __DoOneEvent
self.__PumpWaitingMessages()
File "C:\Program Files (x86)\EventGhost\eg\Classes\ThreadWorker.py", line 287, in __PumpWaitingMessages
while PeekMessage(byref(msg), 0, 0, 0, PM_REMOVE):
File "C:\Program Files (x86)\EventGhost\eg\Classes\MessageReceiver.py", line 127, in WindowProc
res = handler(hwnd, mesg, wParam, lParam)
File "C:\Program Files (x86)\EventGhost\eg\Utils.py", line 428, in LogItWrapper
return func(*args, **kwargs)
File "C:\Program Files (x86)\EventGhost\plugins\System\PowerBroadcastNotifier.py", line 251, in OnPowerBroadcast
source=self.plugin
File "C:\Program Files (x86)\EventGhost\eg\Classes\EventThread.py", line 151, in TriggerEventWait
traceback.print_stack()
20:51:10: 0 MainMessageReceiver: PowerBroadcastNotifier.OnPowerBroadcast(hwnd=7471556, uMsg=536L, wParam=32787L, lParam=5956712)
Cheers
Re: rc2 freeze
Posted: Thu Apr 27, 2017 5:09 am
by kgschlosser
ok see this is what is happening. something is taking place that is running in the action thread that is causing it to hang.. when the power broadcaster goes to trigger it's event it does a TriggerEventWait.. and what that does is it causes the event to be generated in the action thread. but because the action thread is hung the wait period times out. Now under NON debugging mode it just continues about it's business. but in debugging mode it prints the stack information. and then continues about it's business
thanks for the log...
but i do see a rather interesting thing
this is form your tree. this is a call to execute a program.
Code: Select all
System.Execute(
u'G:\\install programs\\nircmd\\nircmd.exe',
u'setdefaultsounddevice "AMD HDMI Output"',
3,
False,
2,
u'',
False,
False
)
this is what should be in your tree. there are some missing parameters in your tree version.
Code: Select all
System.Execute(
u'PATH TO PROGRAM', program
u'COMMAND LINE SWITCHES', cli arguments
3, window mode
True, wait until application finishes
5, process priority
u'WORKING DIRECTORY', working directory
False, trigger event when done
False, disable wow64
u'SUFFIX OF EVENT', event suffix
True, parse command
True, parse cli switches
True, parse suffix
False run as administrator
)
but at any rate. here is what i want you to do. go into each of those run application actions and enable the wait until finished. Give that a go and see what happens
Re: rc2 freeze
Posted: Thu Apr 27, 2017 5:23 am
by kgschlosser
there is something really wrong with this tree you attached.
there is quite alot of missing information
here is another example... this action has no name
Code: Select all
<Action XML_Guid="{726B8A41-4A15-4333-9A6B-8B776A533BF1}">
AudioEndpoint.SetRender(u'{0.0.0.00000000}.{a4c5872b-6200-44e8-b7be-2e5fc7968601}', 0)
</Action>
example with a name
Code: Select all
<Action Name="Start Program: CLI.exe full" Enabled="False" XML_Guid="{2737A651-77E2-4DEE-BC5C-B41543E43B68}">
System.Execute(u'C:\\Program Files (x86)\\AMD\\ATI.ACE\\Core-Static\\CLI.exe', u'Start Load profilename="both"', 0, False, 2, u'', False, False)
</Action>
it's not the same as the screen shot that's for sure
Re: rc2 freeze
Posted: Fri Apr 28, 2017 3:39 am
by blaher
kgschlosser wrote:there is something really wrong with this tree you attached.
it's not the same as the screen shot that's for sure
Yeah, I deleted those 2 run application actions from my tree, because they were disabled anyway. The missing parameters may have been because they were configured with a really early version of EG, and haven't been touched since. Anyway, they're gone now, so I can't run, or reconfigure them. I may have an old tree lying around with the same disabled bits if you think that was the dodgy bit...
As for the name missing in the audioendpoint, it disappears when my receiver is off, and is replaced by "???". Here's a screenshot and tree of the same macro, but one copied with the receiver on, one with the receiver off.
Cheers
Re: rc2 freeze
Posted: Fri Apr 28, 2017 5:15 am
by kgschlosser
my point is the Name parameter from the XML is not there at all..
Code: Select all
<Action XML_Guid="{726B8A41-4A15-4333-9A6B-8B776A533BF1}">
AudioEndpoint.SetRender(u'{0.0.0.00000000}.{a4c5872b-6200-44e8-b7be-2e5fc7968601}', 0)
</Action>
if it was ???? then there would still be a name there and it would look like so
<Action Name="AudioEndpoint: ???" XML_Guid="{726B8A41-4A15-4333-9A6B-8B776A533BF1}">
or even if it was completely blank
<Action Name="" XML_Guid="{726B8A41-4A15-4333-9A6B-8B776A533BF1}">
But it is not there at all
**edit** never mind. I completely forgot that the name= will only show if you changed the name. otherwise it will use the GetLabel method from the action to get the proper information... DUH!!!!
Re: rc2 freeze
Posted: Fri Apr 28, 2017 5:38 am
by kgschlosser
I changed the EventThread.py to print out the last exception that occurred. maybe it will tell us what is hanging the thread.
you will need to overwrite the one in eg/Classes
Re: rc2 freeze
Posted: Wed May 03, 2017 6:10 am
by blaher
I hope this helps.
Re: rc2 freeze
Posted: Wed May 03, 2017 6:33 am
by kgschlosser
hmmm... ok so there are no tracebacks that have been thrown at all.
But there is something else i am going to need form you. I am going to need a copy of the EG log as well as the debug log.. the 2 logs have to be from the same time period. I need to see the event firing order in order to align it with specific things in the debug log.. please turn on the timestamps for the EG log. this way i can put 2 and 2 together.
I am trying to acertain of the problem is steming from the OSD or is it steming from the power broadcast notifier. But you have so many power broadcast notification messages for some reason I need to know which ones are causing events.
What OS are you running?
Re: rc2 freeze
Posted: Thu May 04, 2017 12:43 am
by blaher
I'm running Windows 10 with the latest updates. I've turned on the time and will post back when/if it crashes...unless there's some test I can do to exacerbate the problem?
Re: rc2 freeze
Posted: Thu May 04, 2017 2:37 am
by kgschlosser
I do not know how to get this problem to replicate. that is what i am trying to figure out.
Re: rc2 freeze
Posted: Thu May 04, 2017 3:04 am
by blaher
I have macro that tells Kodi/XBMC to stop, but I haven't used a find window, stop if not found step. I've just deleted it instead to see if that's the issue, but here are the logs.
Re: rc2 freeze
Posted: Thu May 04, 2017 4:43 am
by kgschlosser
what macros do you have tied to
System.ConsoleConnect
this appears to be the event that is causing the issue.
this is what i see
this is from the EG log
11:08:26 11:08:26: 0 MainMessageReceiver: SessionChangeNotifier.OnSessionChange(hwnd=9439810, msg=689L, wparam=2L, lparam=3)
11:08:26 System.ConsoleDisconnect [u'']
11:08:27 11:08:27: 0 MainMessageReceiver: SessionChangeNotifier.OnSessionChange(hwnd=9439810, msg=689L, wparam=4L, lparam=1)
11:08:27 System.RemoteDisconnect [u'Blaher']
11:08:27 Monitor Off
11:08:27 XBMC2: Stop
11:08:27 Run Application: nircmd.exe
11:08:27 Disable: Plugin: Keyboard on Remote Desktop
11:08:27 Disable: Plugin: Keyboard
11:08:27 11:08:27: 0 MainMessageReceiver: SessionChangeNotifier.OnSessionChange(hwnd=9439810, msg=689L, wparam=1L, lparam=1)
11:08:27 System.ConsoleConnect [u'Blaher']
11:08:27 Enable: Plugin: Keyboard on Remote Desktop disconnect
11:08:27 Enable: Plugin: Keyboard
this is from the Debug log
11:08:26: 0 MainMessageReceiver: SessionChangeNotifier.OnSessionChange(hwnd=9439810, msg=689L, wparam=2L, lparam=3)
11:08:27: 0 MainMessageReceiver: SessionChangeNotifier.OnSessionChange(hwnd=9439810, msg=689L, wparam=4L, lparam=1)
11:08:27: 0 MainMessageReceiver: SessionChangeNotifier.OnSessionChange(hwnd=9439810, msg=689L, wparam=1L, lparam=1)
Traceback (most recent call last) (0.5.0-rc2):
File "<string>", line 1, in <module>
pay attention to the SessionChangeNotifier.OnSessionChange. look at the parameters being passed specifically the wparam
the 1L happens right before the error. so I matched that up with your EG log.. and there is a macro tied to it.
try disabling that Macro and see if the problem reproduces it's self. I do not know if you have anything else that is tied to it