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!...

Testers required for OpenViX Python 3 images

Status
Not open for further replies.
I have 16GB of RAM and it's never run out of it. That's running with 8 processors.

A complete build from scratch for one box takes ~4hours on my i5-10210U laptop. On my (somewhat older) i5-2500K desktop (4 processors, also 16GB) it takes ~6 hours.

This is running Linux directly on the hardware. If you're using Ubuntu on Windows it will take much longer as the file-system access times on Windows are awful.

It never used to be that much of an issue, but on OE-A 5.0 if you end up running the QT compiles and nodejs at the same time (which happens quite a bit at the moment) they will run upto just under 32 GB of memory plus swap … and if not enough the build will crash
 
Code:
if "%" not in url[:10]: # url not encoded

Probably:
Code:
if b"%" not in url[:10]: # url not encoded

Can this be added to GitHub please? I keep doing updates to latest image then forget to add it till I get a crash lol

I would create a pr request but I'm not sure if it works on py2 or if a py version check needs adding.


I've just noticed. Name of channel is missing on version 007.

Is that the same for everyone or have I messed up something myself?

View attachment 62453

Just noticed the same here
 
Last edited:
I just noticed. Name of channel is missing on version 007.

Is that the same for everyone or have I messed up something myself?

I thought I'd see if 006 was ok, good job I did, kind of.

ImageManager, select image followed by blue to flash......

Code:
10:39:35.0502 [InfoBarGenerics] Key: 108 (Break) KeyID='KEY_DOWN' Binding='('DOWN',)'.
10:39:40.4569 [eInputDeviceInit] 1 191 (401) 1
10:39:40.4570 [eRCDeviceInputDev] emit: 1
10:39:40.4585 [InfoBarGenerics] Key: 401 (Make) KeyID='KEY_BLUE' Binding='('BLUE',)'.
10:39:40.8985 [eInputDeviceInit] 0 191 (401) 1
10:39:40.8986 [eRCDeviceInputDev] emit: 0
10:39:40.9000 [InfoBarGenerics] Key: 401 (Break) KeyID='KEY_BLUE' Binding='('BLUE',)'.
10:39:40.9001 [ActionMap] Keymap 'ColorActions' -> Action = 'blue'.
10:39:40.9020 Traceback (most recent call last):
10:39:40.9021   File "/usr/lib/enigma2/python/Components/ActionMap.py", line 60, in action
10:39:40.9025     res = self.actions[action]()
10:39:40.9026   File "/usr/lib/enigma2/python/Plugins/SystemPlugins/ViX/ImageManager.py", line 382, in keyRestore
10:39:40.9033     imagedict = GetImagelist()
10:39:40.9033   File "/usr/lib/enigma2/python/Tools/Multiboot.py", line 129, in GetImagelist
10:39:40.9037     for slot in sorted(list(SystemInfo["canMultiBoot"].keys())):
10:39:40.9038 AttributeError: 'NoneType' object has no attribute 'keys'
10:39:40.9039 [ePyObject] (CallObject(<bound method ActionMap.action of <Components.ActionMap.ActionMap object at 0xb00d0f58>>,('ColorActions', 'blue')) failed)
 
I thought I'd see if 006 was ok, good job I did, kind of.

ImageManager, select image followed by blue to flash......

Code:
10:39:35.0502 [InfoBarGenerics] Key: 108 (Break) KeyID='KEY_DOWN' Binding='('DOWN',)'.
10:39:40.4569 [eInputDeviceInit] 1 191 (401) 1
10:39:40.4570 [eRCDeviceInputDev] emit: 1
10:39:40.4585 [InfoBarGenerics] Key: 401 (Make) KeyID='KEY_BLUE' Binding='('BLUE',)'.
10:39:40.8985 [eInputDeviceInit] 0 191 (401) 1
10:39:40.8986 [eRCDeviceInputDev] emit: 0
10:39:40.9000 [InfoBarGenerics] Key: 401 (Break) KeyID='KEY_BLUE' Binding='('BLUE',)'.
10:39:40.9001 [ActionMap] Keymap 'ColorActions' -> Action = 'blue'.
10:39:40.9020 Traceback (most recent call last):
10:39:40.9021   File "/usr/lib/enigma2/python/Components/ActionMap.py", line 60, in action
10:39:40.9025     res = self.actions[action]()
10:39:40.9026   File "/usr/lib/enigma2/python/Plugins/SystemPlugins/ViX/ImageManager.py", line 382, in keyRestore
10:39:40.9033     imagedict = GetImagelist()
10:39:40.9033   File "/usr/lib/enigma2/python/Tools/Multiboot.py", line 129, in GetImagelist
10:39:40.9037     for slot in sorted(list(SystemInfo["canMultiBoot"].keys())):
10:39:40.9038 AttributeError: 'NoneType' object has no attribute 'keys'
10:39:40.9039 [ePyObject] (CallObject(<bound method ActionMap.action of <Components.ActionMap.ActionMap object at 0xb00d0f58>>,('ColorActions', 'blue')) failed)
can you copy the attachment to /usr/lib/enigma2/python/Tools
.. and post result!
 

Attachments

.... yes, back working ok again, cheers.

And the channel name is not missing in 006.
 
Can this be added to GitHub please? I keep doing updates to latest image then forget to add it till I get a crash lol

I would create a pr request but I'm not sure if it works on py2 or if a py version check needs adding.
In Python 2 the "b" is ignored.

Code:
Python 2.7.16 (v2.7.16:413a49145e, Mar  4 2019, 01:37:19) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> b'%' not in "http"
True
>>>
>>> '%' not in "http"
True
>>>
>>> type("%")
<type 'str'>
>>>
>>> type(b"%")
<type 'str'>
>>>
>>>

Code:
Python 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 22:45:29) [MSC v.1916 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> type("%")
<class 'str'>
>>>
>>> type(b"%")
<class 'bytes'>
>>>

Please make a pull request.
 
Last edited:
can you copy the attachment to /usr/lib/enigma2/python/Tools
.. and post result!

I'm amazed an indent change at line 95 could fix a problem 30 odd lines later. Py3 must have some very strict syntax rules.
 
I'm amazed an indent change at line 95 could fix a problem 30 odd lines later. Py3 must have some very strict syntax rules.

Presumably it made the function return with no result (when the if was false) and caused an error somewhere the function was used.

-

I'm much more used to strongly typed, compiled languages.
I cringe at all these run time errors about things that, to me, feel like things that should be compile time errors the developer would be told about the first time he compiled the code.

I'm definitely not feeling that Python is a good language for large projects.
 
Last edited:
.... working fine now in 008. :)
 
I'm amazed an indent change at line 95 could fix a problem 30 odd lines later. Py3 must have some very strict syntax rules.

Nothing to do with Python 3. Function is supposed to return a "dict" but due to that error was returning "None". e.g.

Code:
Python 2.7.16 (v2.7.16:413a49145e, Mar  4 2019, 01:37:19) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> bootslots = None
>>> bootslots.keys()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'NoneType' object has no attribute 'keys'
>>>
 
Ok, I guess I'm not used to seeing these two bits of code doing completely different things...


Code:
	if bootslots:	
		print("[Multiboot] Bootslots found:", bootslots)
	        return bootslots

Code:
	if bootslots:	
		print("[Multiboot] Bootslots found:", bootslots)
	return bootslots
 
Ok, I guess I'm not used to seeing these two bits of code doing completely different things...


Code:
	if bootslots:	
		print("[Multiboot] Bootslots found:", bootslots)
	        return bootslots

Code:
	if bootslots:	
		print("[Multiboot] Bootslots found:", bootslots)
	return bootslots

Yep, stupid mistake (indent after changing code sequence) but one that is basic to E2 operation -i.e. do you have a multiboot receiver or not.
 
Ok, I guess I'm not used to seeing these two bits of code doing completely different things...


Code:
	if bootslots:	
		print("[Multiboot] Bootslots found:", bootslots)
	        return bootslots

Code:
	if bootslots:	
		print("[Multiboot] Bootslots found:", bootslots)
	return bootslots

Code:
	if bootslots:	
		print("[Multiboot] Bootslots found:", bootslots)
	        return bootslots
If "bootslots" is not empty it returns Bootslots. If Bootslots is empty it returns None.

Code:
	if bootslots:	
		print("[Multiboot] Bootslots found:", bootslots)
	return bootslots
Always returns "bootslots" irrespective of if it is empty or not.
 
I was briefly baffled by this too until I remembered that in Python if bootslots is shorthand for if bootslots is not None and len(bootslots) > 0. Python opts to save us a bit of typing and as an extra bonus, make it much easier to introduce bugs!
 
Crash trying PictureViewer Plugin.
I don't think I ever tried it before.
I'm not sure why I have this installed but since I have it I guess it must be in the image or in the feeds for the Py3 images.
View attachment 62456
View attachment 62457

Introduced here: https://github.com/OpenViX/enigma2/...b6c810e548561a48681e43480af6ca402c3da85cbL571

Probably caused by a conversion tool.

Fixed here: https://github.com/OpenViX/enigma2/commit/a0b0934c0501c158c8cfcaa041f6a207bc579c39
 
It never used to be that much of an issue, but on OE-A 5.0 if you end up running the QT compiles and nodejs at the same time (which happens quite a bit at the moment) they will run upto just under 32 GB of memory plus swap … and if not enough the build will crash
My memory (often wrong) is that Heuvos also pushes up the thread count, which leaves more processes running at a time and hence increases memory usage.
Not a good idea if this pushes you to start paging.
Surely QT and nodejs only get built once, though? They can't be being updated that often.
 
My memory (often wrong) is that Heuvos also pushes up the thread count, which leaves more processes running at a time and hence increases memory usage.
Not a good idea if this pushes you to start paging.
Surely QT and nodejs only get built once, though? They can't be being updated that often.

I have BB_NUMBER_THREADS = "32" and it has always worked fine, but anyway that is nothing to do with compile threads.

I have 8 cores so it makes sense that I can run 8 compiles simultaneously... PARALLEL_MAKE = "-j 8", https://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html#var-PARALLEL_MAKE.

I run out of RAM just building the "nodejs" module on its own...

Code:
cd /home/openvix/5.6/builds/openvix/Py3/vuultimo4k
. env.source
bitbake nodejs

QT and nodejs will get rebuilt every time their repos are updated, which is pretty frequent.

BTW, so far no user has even noticed these are not in my builds.
 
Last edited:
Status
Not open for further replies.

OpenViX Feeds Status

Back
Top