Superb quality and spec AB-Com PULSe 4K SE. Crazy offer! Only £99! FREE UK DELIVERY! 4K UHD, Enigma 2, Multiboot 4 images & more!...
Superb quality and spec AB-Com PULSe 4K Rev II Twin Satellite tuner only £149! FREE UK DELIVERY! 4K UHD, Enigma 2, SATA HDD facility, Multiboot 4 images & more!...

[ViX_Misc] InfoBarGenerics.py, long blue button causing box to crash

Blue button on live tv.

Yellow button on live tv when there's "no free tuner!".

I just added your attachment in #16 to 6.0.009.001 (Dev).

Blue button works fine for me - cannot test yellow
 
Blue button works fine for me - cannot test yellow

Crashes every time for me. These are the files I'm using.

Code:
root@vuultimo4k:/usr/lib/enigma2/python/Screens# ls -l InfoBarG*
-rw-r--r--    1 root     root        154967 Mar  4 16:03 InfoBarGenerics.py
-rw-r--r--    1 root     root        155210 Mar  4 16:04 InfoBarGenerics.pyc
-rw-r--r--    1 root     root        154899 Feb 28 23:43 InfoBarGenerics.pyc.orig
root@vuultimo4k:/usr/lib/enigma2/python/Screens#
 
Unless there is something obvious need to wait for next builds - I really don‘t see this
 
....deleted
 
Last edited:
Blue button crashes using attachment on 6.0.009.001 (Dev)...

Code:
16:05:05.1711 [ActionMap] Keymap 'InfobarExtensions' -> Action = 'extensions'.
16:05:05.1719 Traceback (most recent call last):
16:05:05.1720   File "/usr/lib/enigma2/python/Components/ActionMap.py", line 60, in action
16:05:05.1724   File "/usr/lib/enigma2/python/Screens/InfoBarGenerics.py", line 2765, in showExtensionSelection
16:05:05.1754     self.updateExtensions()
16:05:05.1755   File "/usr/lib/enigma2/python/Screens/InfoBarGenerics.py", line 2761, in updateExtensions
16:05:05.1782     for y in x[1]():
16:05:05.1782   File "/usr/lib/enigma2/python/Screens/InfoBarGenerics.py", line 2903, in getPluginList
16:05:05.1810     args = inspect.getfullargspec(p.fnc)[0]
16:05:05.1811   File "/usr/lib/enigma2/python/Plugins/Plugin.py", line 116, in __getattribute__
16:05:05.1816 AttributeError: 'PluginDescriptor' object has no attribute 'fnc'
16:05:05.1816 [ePyObject] (CallObject(<bound method ActionMap.action of <Components.ActionMap.HelpableActionMap object at 0xb06f05f8>>,('InfobarExtensions', 'extensions')) failed)

Yellow button takes a bit longer to check.
This crash is caused because you are testing a file from the "python3" branch in the Dev build.
 
This crash is caused because you are testing a file from the "python3" branch in the Dev build.

Just using the file in post #16, no mention of branches, although I did say I was using the latest dev build when reporting the yellow button crash.
 
Last edited:
The file posted will work with my image, not Dev. I supplied you that image so you can keep in step with current development.
 
What's "my image", if I may be so bold?
 
Short blue works with 6.1.000.000 (Dev), 6.0.009.001 (Dev) and 6.0.008 (Rel), all couch flashed with settings restores.

Adding the InfoBarGenerics.py download in post #16 and short blue crashes all 3.

Which ViX version does work with the download, as I haven't a clue.
 
I am not sure which version you are using so can you replace line 2852 with
try:
name = self.session.nav.getCurrentlyPlayingServiceOrGroup().toString()
except:
self.session.open(EPGSearch)

InfoBarGenerics.py in the Python3 and Dev-python3-compatible branches are the same at the moment, so I've edited the file as indicated above...

(Is my indentation ok???)

Code:
Line 2846:
		    if s:
			info = s.info()
			event = info.getEvent(0) # 0 = now, 1 = next
			if event:
				name = event and event.getEventName() or ''
			else:
				try:
					name = self.session.nav.getCurrentlyPlayingServiceOrGroup ().toString()
				except:
					self.session.open(EPGSearch)
				name = name.split('/')
				name = name[-1]
				name = name.replace('.', ' ')
				name = name.split('-')
				name = name[0]
				if name.endswith(' '):
					name = name[:-1]

Short blue is ok, but short yellow still crashes. (Tried using 6.0.009.001 (Dev) and 6.0.008 (Rel), which is probably wrong.)

Code:
13:27:51.1593 Traceback (most recent call last):
13:27:51.1594   File "/usr/lib/enigma2/python/Components/ActionMap.py", line 60, in action
13:27:51.1599   File "/usr/lib/enigma2/python/Screens/InfoBarGenerics.py", line 2856, in showEPGSearch
13:27:51.1629     name = name.split('/')
13:27:51.1630 UnboundLocalError: local variable 'name' referenced before assignment
13:27:51.1630 [ePyObject] (CallObject(<bound method ActionMap.action of <Components.ActionMap.HelpableActionMap object at 0xb07828c8>>,('InfobarExtensions', 'openEPGSearch')) failed)
 
Last edited:
InfoBarGenerics.py in the Python3 and Dev-python3-compatible branches are the same at the moment, so I've edited the file as indicated above...

(Is my indentation ok???)

Code:
Line 2846:
		    if s:
			info = s.info()
			event = info.getEvent(0) # 0 = now, 1 = next
			if event:
				name = event and event.getEventName() or ''
			else:
				try:
					name = self.session.nav.getCurrentlyPlayingServiceOrGroup ().toString()
				except:
					self.session.open(EPGSearch)
				name = name.split('/')
				name = name[-1]
				name = name.replace('.', ' ')
				name = name.split('-')
				name = name[0]
				if name.endswith(' '):
					name = name[:-1]

Short blue is ok, but short yellow still crashes. (Tried using 6.0.009.001 (Dev) and 6.0.008 (Rel), which is probably wrong.)

Code:
13:27:51.1593 Traceback (most recent call last):
13:27:51.1594   File "/usr/lib/enigma2/python/Components/ActionMap.py", line 60, in action
13:27:51.1599   File "/usr/lib/enigma2/python/Screens/InfoBarGenerics.py", line 2856, in showEPGSearch
13:27:51.1629     name = name.split('/')
13:27:51.1630 UnboundLocalError: local variable 'name' referenced before assignment
13:27:51.1630 [ePyObject] (CallObject(<bound method ActionMap.action of <Components.ActionMap.HelpableActionMap object at 0xb07828c8>>,('InfobarExtensions', 'openEPGSearch')) failed)
try adding an else: in alignment with the except and tab the following : so that you have
Code:
			if event:
				name = event and event.getEventName() or ''
			else:
				try:
					name = self.session.nav.getCurrentlyPlayingServiceOrGroup().toString()
				except:
					self.session.open(EPGSearch)				
				else:
					name = name.split('/')
					name = name[-1]
					name = name.replace('.', ' ')
					name = name.split('-')
					name = name[0]
					if name.endswith(' '):
						name = name[:-1]
			if name:
				self.session.open(EPGSearch, name, False)
			else:
				self.session.open(EPGSearch
 
Last edited:
Code:
	def showEPGSearch(self):
		try:
			from Plugins.Extensions.EPGSearch.EPGSearch import EPGSearch
		except ImportError:
			self.session.open(MessageBox, _("The EPGSearch plugin is not installed!\nPlease install it."), type=MessageBox.TYPE_INFO, timeout=10, simple=True)
			return
		s = self.session.nav.getCurrentService()
		if s:
			info = s.info()
			event = info.getEvent(0) # 0 = now, 1 = next
			if event:
				name = event and event.getEventName() or ''
			else:
				try:
					name = self.session.nav.getCurrentlyPlayingServiceOrGroup ().toString()
				except:
					self.session.open(EPGSearch)
				else:
					name = name.split('/')
					name = name[-1]
					name = name.replace('.', ' ')
					name = name.split('-')
					name = name[0]
					if name.endswith(' '):
						name = name[:-1]
			if name:
				self.session.open(EPGSearch, name, False)
			else:
				self.session.open(EPGSearch)
		else:
			self.session.open(EPGSearch)


Code:
15:02:36.9672 Traceback (most recent call last):
15:02:36.9672   File "/usr/lib/enigma2/python/Components/ActionMap.py", line 60, in action
15:02:36.9677   File "/usr/lib/enigma2/python/Screens/InfoBarGenerics.py", line 2864, in showEPGSearch
15:02:36.9708     if name:
15:02:36.9709 UnboundLocalError: local variable 'name' referenced before assignment
15:02:36.9709 [ePyObject] (CallObject(<bound method ActionMap.action of <Components.ActionMap.HelpableActionMap object at 0xb0781868>>,('InfobarExtensions', 'openEPGSearch')) failed)
 
Code:
	def showEPGSearch(self):
		try:
			from Plugins.Extensions.EPGSearch.EPGSearch import EPGSearch
		except ImportError:
			self.session.open(MessageBox, _("The EPGSearch plugin is not installed!\nPlease install it."), type=MessageBox.TYPE_INFO, timeout=10, simple=True)
			return
		s = self.session.nav.getCurrentService()
		if s:
			info = s.info()
			event = info.getEvent(0) # 0 = now, 1 = next
			if event:
				name = event and event.getEventName() or ''
			else:
				try:
					name = self.session.nav.getCurrentlyPlayingServiceOrGroup ().toString()
				except:
					self.session.open(EPGSearch)
				else:
					name = name.split('/')
					name = name[-1]
					name = name.replace('.', ' ')
					name = name.split('-')
					name = name[0]
					if name.endswith(' '):
						name = name[:-1]
			if name:
				self.session.open(EPGSearch, name, False)
			else:
				self.session.open(EPGSearch)
		else:
			self.session.open(EPGSearch)


Code:
15:02:36.9672 Traceback (most recent call last):
15:02:36.9672   File "/usr/lib/enigma2/python/Components/ActionMap.py", line 60, in action
15:02:36.9677   File "/usr/lib/enigma2/python/Screens/InfoBarGenerics.py", line 2864, in showEPGSearch
15:02:36.9708     if name:
15:02:36.9709 UnboundLocalError: local variable 'name' referenced before assignment
15:02:36.9709 [ePyObject] (CallObject(<bound method ActionMap.action of <Components.ActionMap.HelpableActionMap object at 0xb0781868>>,('InfobarExtensions', 'openEPGSearch')) failed)

add: name = "" before: if event !!
 
add: name = "" before: if event !!

Yes that's sorted it, yellow with "no free tuner!" or "Service unavailable!" on screen now enters epg search (with nothing found), and a new search from there works ok.

Blue still ok for extensions.

This was on 6.0.009.001 (Dev).
 
Code:
Line 2846:
            if s:
            info = s.info()
            event = info.getEvent(0) # 0 = now, 1 = next
            if event:
                name = event and event.getEventName() or ''
            else:
                try:
                    name = self.session.nav.getCurrentlyPlayingServiceOrGroup ().toString()
                except:
                    self.session.open(EPGSearch)
                name = name.split('/')
                name = name[-1]
                name = name.replace('.', ' ')
                name = name.split('-')
                name = name[0]
                if name.endswith(' '):
                    name = name[:-1]
If that except clause is activated the next line will try to use name before it is set.
 
See post #33.
OK, but what's wrong with this:

Code:
        if s:
            info = s.info()
            event = info.getEvent(0) # 0 = now, 1 = next
            if event:
                name = event and event.getEventName() or ''
            else:
                try:
                    name = self.session.nav.getCurrentlyPlayingServiceOrGroup ().toString()
                    name = name.split('/')
                    name = name[-1]
                    name = name.replace('.', ' ')
                    name = name.split('-')
                    name = name[0]
                    if name.endswith(' '):
                        name = name[:-1]
                except:
                    name = ''
            if name:
                self.session.open(EPGSearch, name, False)
            else:
                self.session.open(EPGSearch)
which is less code and easier to follow.
 
... better ask @twol, I'm just trying out the changes.

New commit looks like a simple change (I haven't tried it yet).

https://github.com/OpenViX/enigma2/commit/ee739a16db236a325e41950387e2a2252cada599

Blue and yellow both crash on 6.0.009.001 (Dev), probably me again.
Code:
09:12:46.1653 [InfoBarGenerics] Key: 401 (Break) KeyID='KEY_BLUE' Binding='('BLUE',)'.
09:12:46.1665 [ActionMap] Keymap 'InfobarExtensions' -> Action = 'extensions'.
09:12:46.1672 Traceback (most recent call last):
09:12:46.1673   File "/usr/lib/enigma2/python/Components/ActionMap.py", line 60, in action
09:12:46.1677   File "/usr/lib/enigma2/python/Screens/InfoBarGenerics.py", line 2764, in showExtensionSelection
09:12:46.1706     self.updateExtensions()
09:12:46.1706   File "/usr/lib/enigma2/python/Screens/InfoBarGenerics.py", line 2760, in updateExtensions
09:12:46.1733     for y in x[1]():
09:12:46.1733   File "/usr/lib/enigma2/python/Screens/InfoBarGenerics.py", line 2901, in getPluginList
09:12:46.1761     args = inspect.getfullargspec(p.fnc)[0]
09:12:46.1761   File "/usr/lib/enigma2/python/Plugins/Plugin.py", line 116, in __getattribute__
09:12:46.1765 AttributeError: 'PluginDescriptor' object has no attribute 'fnc'
09:12:46.1766 [ePyObject] (CallObject(<bound method ActionMap.action of <Components.ActionMap.HelpableActionMap object at 0xb0d4da18>>,('InfobarExtensions', 'extensions')) failed)

Code:
09:13:17.7474 [InfoBarGenerics] Key: 400 (Break) KeyID='KEY_YELLOW' Binding='('YELLOW',)'.
09:13:17.7486 [ActionMap] Keymap 'InfobarExtensions' -> Action = 'openEPGSearch'.
09:13:17.7845 [Skin] Processing screen 'EPGSearch' from list 'EPGSearch, EPGSelection', position=(0, 0), size=(1920 x 1080) for module 'EPGSearch'.
09:13:17.7971 [Screen] Warning: Skin is missing element 'number' in <class 'Plugins.Extensions.EPGSearch.EPGSearch.EPGSearch'>.
09:13:17.7982 [Skin] Attribute 'setEventItemFont' (with value of 'Regular;32') in object of type 'eListbox' is not implemented!
09:13:17.7983 [Skin] Attribute 'setEventTimeFont' (with value of 'Regular;32') in object of type 'eListbox' is not implemented!
09:13:17.7984 [Skin] Attribute 'setColWidths' (with value of '120,220') in object of type 'eListbox' is not implemented!
09:13:17.7984 [Skin] Attribute 'setColGap' (with value of '40') in object of type 'eListbox' is not implemented!
09:13:17.7985 [Skin] Attribute 'setIconDistance' (with value of '-5') in object of type 'eListbox' is not implemented!
09:13:17.7986 [Skin] Attribute 'setPiconSize' (with value of '50,30') in object of type 'eListbox' is not implemented!
09:13:17.7986 [Skin] Attribute 'setPiconDistance' (with value of '0') in object of type 'eListbox' is not implemented!
09:13:17.7987 [Skin] Attribute 'setPboxDistance' (with value of '80') in object of type 'eListbox' is not implemented!
09:13:17.8064 [Skin] Processing screen 'SimpleSummary' from list 'EPGSearchSummary, EPGSelectionSummary, ScreenSummary, EPGSearch_summary, EPGSelection_summary, SimpleSummary', position=(0, 0), size=(800 x 480) for module 'ScreenSummary'.
09:13:17.8539 Traceback (most recent call last):
09:13:17.8542   File "/usr/lib/enigma2/python/Components/ActionMap.py", line 60, in action
09:13:17.8548   File "/usr/lib/enigma2/python/Screens/InfoBarGenerics.py", line 2858, in showEPGSearch
09:13:17.8581     if name:
09:13:17.8584 UnboundLocalError: local variable 'name' referenced before assignment
09:13:17.8587 [ePyObject] (CallObject(<bound method ActionMap.action of <Components.ActionMap.HelpableActionMap object at 0xb0781c58>>,('InfobarExtensions', 'openEPGSearch')) failed)
 
Last edited:
I've said before that I haven't a clue what I'm talking about, and as there've been no replies, I'll continue to prove it.

The fnc commit from 23 days ago is in the python3 branch. https://github.com/OpenViX/enigma2/commit/c1daa54447d2d6cb23d9383706ed511356d29e35

I can't find it in the Dev-python3-compatible branch, lib/python/Plugins/Plugin.py is 11 month old.

The blue button crash in 6.0.009.001 (Dev) is fixed if I re-add the fnc commit from the python3 branch. I'd have thought it should already be in ??????

Code:
root@vuultimo4k:~# ls -l /usr/lib/enigma2/python/Plugins
drwxr-xr-x   13 root     root          4096 Mar  7 10:58 Extensions
-rw-r--r--    1 root     root          4570 Mar  7 11:31 Plugin.py
-rw-r--r--    1 root     root          3435 Mar  7 11:32 Plugin.pyc
-rw-r--r--    1 root     root          3492 Feb 28 23:43 Plugin.pyc.orig
drwxr-xr-x   22 root     root          4096 Mar  7 10:58 SystemPlugins
-rw-r--r--    1 root     root           134 Feb 28 23:43 __init__.pyc
root@vuultimo4k:~#

InfoBarGenerics.py is dependant on Plugin.pyc existing when recompiling. Not sure if that might be significant, as changing them both at the same time doesn't work.

The yellow button crash still needs name initialising at some point in the code.
 
Last edited:

OpenViX Feeds Status

Back
Top