Kodi invoking script module twice
#1
Through trial and error I've been developing a script module in Kodi 17. Recently Kodi has been invoking the entry process twice which is causing problems elsewhere.

Note "CPythonInvoker(1,..." and "CPythonInvoker(2,..." in the debug logs.
Code:
20:35:48.592 T:139685942089472 INFO: initializing python engine.
20:35:48.592 T:139685942089472 DEBUG: CPythonInvoker(1, /home/nick/.kodi/addons/script.pvrcloud/service.py): start processing
20:35:48.592 T:139685923792640 DEBUG: unable to load /home/nick/.kodi/addons/script.pvrcloud/resources/language/resource.language.en_gb/strings.xml: Failed to open file at line 0
20:35:48.594 T:139685506553600 DEBUG: Thread LanguageInvoker start, auto delete: false
20:35:48.594 T:139685506553600 INFO: initializing python engine.
20:35:48.594 T:139685506553600 DEBUG: CPythonInvoker(2, /home/nick/.kodi/addons/script.pvrcloud/service.py): start processing
20:35:48.648 T:139685942089472 DEBUG: -->Python Interpreter Initialized<--
20:35:48.648 T:139685942089472 DEBUG: CPythonInvoker(1, /home/nick/.kodi/addons/script.pvrcloud/service.py): the source file to load is "/home/nick/.kodi/addons/script.pvrcloud/service.py"
20:35:48.696 T:139687033304832 DEBUG: ContextMenuManager: addon menus reloaded.
20:35:48.697 T:139687647405248 DEBUG: CGUIMediaWindow::GetDirectory (addons://)
20:35:48.697 T:139687647405248 DEBUG: ParentPath = [addons://]
20:35:48.700 T:139685932185344 DEBUG: CAddonMgr::GetAvailableUpdates took 2 ms
20:35:48.702 T:139685154256640 DEBUG: Thread BackgroundLoader start, auto delete: false
20:35:48.703 T:139687647405248 DEBUG: ------ Window Init (DialogNotification.xml) ------
20:35:48.703 T:139685154256640 DEBUG: Thread BackgroundLoader 139685154256640 terminating
20:35:48.705 T:139687647405248 DEBUG: CGUIMediaWindow::GetDirectory (addons://)
20:35:48.705 T:139687647405248 DEBUG: ParentPath = [addons://]
20:35:48.709 T:139685932185344 DEBUG: CAddonMgr::GetAvailableUpdates took 3 ms
20:35:48.711 T:139685154256640 DEBUG: Thread BackgroundLoader start, auto delete: false
20:35:48.712 T:139685154256640 DEBUG: Thread BackgroundLoader 139685154256640 terminating
20:35:48.712 T:139687647405248 DEBUG: CGUIMediaWindow::GetDirectory (addons://)
20:35:48.712 T:139687647405248 DEBUG: ParentPath = [addons://]
20:35:48.715 T:139685932185344 DEBUG: CAddonMgr::GetAvailableUpdates took 3 ms
20:35:48.718 T:139685154256640 DEBUG: Thread BackgroundLoader start, auto delete: false
20:35:48.719 T:139685154256640 DEBUG: Thread BackgroundLoader 139685154256640 terminating
20:35:48.741 T:139685942089472 DEBUG: CPythonInvoker(1, /home/nick/.kodi/addons/script.pvrcloud/service.py): setting the Python path to /home/nick/.kodi/addons/script.pvrcloud:/home/nick/.kodi/addons/script.module.bottle/lib:/home/nick/.kodi/addons/script.module.certifi/lib:/home/nick/.kodi/addons/script.module.chardet/lib:/home/nick/.kodi/addons/script.module.idna/lib:/home/nick/.kodi/addons/script.module.requests/lib:/home/nick/.kodi/addons/script.module.urllib3/lib:/home/nick/.kodi/addons/script.module.web-pdb/libs:/usr/lib/python2.7:/usr/lib/python2.7/plat-x86_64-linux-gnu:/usr/lib/python2.7/lib-tk:/usr/lib/python2.7/lib-old:/usr/lib/python2.7/lib-dynload:/usr/local/lib/python2.7/dist-packages:/usr/lib/python2.7/dist-packages
20:35:48.741 T:139685942089472 DEBUG: CPythonInvoker(1, /home/nick/.kodi/addons/script.pvrcloud/service.py): entering source directory /home/nick/.kodi/addons/script.pvrcloud
20:35:48.741 T:139685942089472 DEBUG: CPythonInvoker(1, /home/nick/.kodi/addons/script.pvrcloud/service.py): instantiating addon using automatically obtained id of "script.pvrcloud" dependent on version 2.25.0 of the xbmc.python api
20:35:48.741 T:139685506553600 DEBUG: -->Python Interpreter Initialized<--
20:35:48.741 T:139685506553600 DEBUG: CPythonInvoker(2, /home/nick/.kodi/addons/script.pvrcloud/service.py): the source file to load is "/home/nick/.kodi/addons/script.pvrcloud/service.py"
20:35:48.953 T:139685506553600 DEBUG: CPythonInvoker(2, /home/nick/.kodi/addons/script.pvrcloud/service.py): setting the Python path to /home/nick/.kodi/addons/script.pvrcloud:/home/nick/.kodi/addons/script.module.bottle/lib:/home/nick/.kodi/addons/script.module.certifi/lib:/home/nick/.kodi/addons/script.module.chardet/lib:/home/nick/.kodi/addons/script.module.idna/lib:/home/nick/.kodi/addons/script.module.requests/lib:/home/nick/.kodi/addons/script.module.urllib3/lib:/home/nick/.kodi/addons/script.module.web-pdb/libs:/usr/lib/python2.7:/usr/lib/python2.7/plat-x86_64-linux-gnu:/usr/lib/python2.7/lib-tk:/usr/lib/python2.7/lib-old:/usr/lib/python2.7/lib-dynload:/usr/local/lib/python2.7/dist-packages:/usr/lib/python2.7/dist-packages
20:35:48.953 T:139685506553600 DEBUG: CPythonInvoker(2, /home/nick/.kodi/addons/script.pvrcloud/service.py): entering source directory /home/nick/.kodi/addons/script.pvrcloud
20:35:48.953 T:139685506553600 DEBUG: CPythonInvoker(2, /home/nick/.kodi/addons/script.pvrcloud/service.py): instantiating addon using automatically obtained id of "script.pvrcloud" dependent on version 2.25.0 of the xbmc.python api

By stating "recently" I haven't knowingly added anything to the code to cause it to invoke it twice. I have been installing from zip file new versions as I make incremental changes to add new code or fix bugs. A number of times I've had to hard kill kodi as I've created hung situations. Maybe I've corrupted kodi configuration in some way but not sure where or how to check. I'd would like to avoid removing the .kodi directory if I can help it.

What have I done wrong?
Reply
#2
To answer my own question...

1) Using a clean profile directory didn't fixed it.

2) Commenting out pretty much every line of my code one at a time in attempt to identify the culprit statement didn't fixed it.

At this point pulling my hair out I restarted kodi without making changes and then it worked. Only one process this time!

Turns out the following workflow I was using was causing the trouble.

- Kodi running with existing script running.
- Monitor logs files and make any change to code. Compress into zip.
- Install new zip package in Kodi
- Kodi will kill existing script and then start new script twice

... now I also add the following steps
- Exit kodi
- Launch kodi and monitor log files. Script only starts once

(A LOT of hours were burnt to find this out Sleepy )
Reply
#3
Please stop adding the prefix "Help pls" in your topic titles.
We try to help everyone here, not just those who ask for it.
Reply

Logout Mark Read Team Forum Stats Members Help
Kodi invoking script module twice0