Hello Guest, if you are reading this it means you have not registered yet. Please take a second, Click here to register, and in a few simple steps you will be able to enjoy our community and use our OpenViX support section.

View Entry Info: Recording crashes in 6.2.008

Category:
Possible Bug
What ViX Image build number are you using?
Please provide your ViX Team image build number. Menu > Information > About > Build number > ENTER THIS NUMBER e.g. 4.2.028
6.2.008
Have you tried a flash WITHOUT settings restore?
Have you tried this? PLEASE SELECT YES OR NO.
No
Have you tried a flash WITH settings restore?
Have you tried this? PLEASE SELECT YES OR NO.
Yes
Attachments
Page 1 of 2 12 LastLast
Results 1 to 15 of 30

Thread: Recording crashes in 6.2.008

  1. #1

    Title
    Member
    Join Date
    Jun 2022
    Posts
    70
    Thanks
    1
    Thanked 33 Times in 19 Posts

    Recording crashes in 6.2.008

    Happens every time. Box has pvr kit installed (if it makes difference)

    Crashlog attached, but relevant part:

    < 153.5243> 16:33:54.1352 Traceback (most recent call last):
    < 153.5243> 16:33:54.1353 File "/usr/lib/enigma2/python/Screens/InfoBarGenerics.py", line 280, in actionA
    < 153.5253> 16:33:54.1363 File "/usr/lib/enigma2/python/Tools/RedirectOutput.py", line 16, in write
    < 153.5258> 16:33:54.1367 TypeError: in method 'ePythonOutput', argument 1 of type 'char const *'
    Additional information:
    Wrong number or type of arguments for overloaded function 'ePythonOutput'.
    Possible C/C++ prototypes are:
    ePythonOutput(char const *,int)
    ePythonOutput(char const *)
    < 153.5258> 16:33:54.1368
    < 153.5260> 16:33:54.1370 [ePyObject] (CallObject(<bound method InfoBarUnhandledKey.actionA of <class 'Screens.InfoBar.InfoBar'>>,(352, 1)) failed)
    Attached Files Attached Files

  2. #2
    Huevos's Avatar
    Title
    Administrator
    Join Date
    Jun 2010
    Location
    38.5N, 0.5W
    Posts
    13,632
    Thanks
    2,007
    Thanked 4,956 Times in 3,276 Posts
    So what did you press that caused the crash?
    Help keep OpenViX servers online.Please donate!

  3. #3

    Title
    Member
    Join Date
    Jun 2022
    Posts
    70
    Thanks
    1
    Thanked 33 Times in 19 Posts
    Just red record button and then OK button. Crash happens always, no matter what channel.

    I have many E2 boxes, only my Zero 4K has this issue.

  4. #4

    Title
    Member
    Join Date
    Jun 2022
    Posts
    70
    Thanks
    1
    Thanked 33 Times in 19 Posts
    I'll add some more information. I tried flashing 6.2.008 again and restored settings. Same issue. (Not tested without settings restore)

    HDD seems fine, plenty of free space. I can play previous recordings, but can't start new. (It actually starts writing to disk, but box crashes)

    Tested Uno 4K, works fine, it has USB HDD. Only Zero 4K has internal HDD, not sure what else could be different?!

    I've used this box previously without any issues. Problem started after updating openvix

  5. #5
    Huevos's Avatar
    Title
    Administrator
    Join Date
    Jun 2010
    Location
    38.5N, 0.5W
    Posts
    13,632
    Thanks
    2,007
    Thanked 4,956 Times in 3,276 Posts
    Can you try without settings restore please. Just basic setup. No extra plugins.
    Help keep OpenViX servers online.Please donate!

  6. #6

    Title
    Member
    Join Date
    Jun 2022
    Posts
    70
    Thanks
    1
    Thanked 33 Times in 19 Posts
    I should have looked my self where it crashes. RedirectOutput.py seems to be just for logging.
    Added try, except, pass to line 16 and recording working fine now.
    Maybe turning off debug logs would have also helped.
    Anyway issue solved for me now, but there is still bug in code
    Last edited by ocean; 20-08-22 at 04:52.

  7. #7

    Title
    Member
    Join Date
    Jun 2022
    Posts
    70
    Thanks
    1
    Thanked 33 Times in 19 Posts
    Here traceback from debuglog, if someone wants to take a look. Would be interesting to know what self.line, self.level contains when it crashes.

    < 4037.8571> 17:38:38.4681 Traceback (most recent call last):
    < 4037.8572> 17:38:38.4681 File "/usr/lib/enigma2/python/StartEnigma.py", line 224, in processDelay
    < 4037.8581> 17:38:38.4690 callback(*retval)
    < 4037.8581> 17:38:38.4691 File "/usr/lib/enigma2/python/Screens/InfoBarGenerics.py", line 3333, in recordQuestionCallback
    < 4037.8585> 17:38:38.4694 File "/usr/lib/enigma2/python/Screens/InfoBarGenerics.py", line 3253, in startInstantRecording
    < 4037.8588> 17:38:38.4697 File "/usr/lib/enigma2/python/RecordTimer.py", line 1275, in record
    < 4037.8591> 17:38:38.4701 File "/usr/lib/enigma2/python/timer.py", line 229, in addTimerEntry
    < 4037.8594> 17:38:38.4704 File "/usr/lib/enigma2/python/timer.py", line 268, in calcNextActivation
    < 4037.8597> 17:38:38.4706 File "/usr/lib/enigma2/python/timer.py", line 363, in processActivation
    < 4037.8601> 17:38:38.4710 File "/usr/lib/enigma2/python/RecordTimer.py", line 1009, in doActivate
    < 4037.8607> 17:38:38.4717 File "/usr/lib/enigma2/python/RecordTimer.py", line 676, in activate
    < 4037.8611> 17:38:38.4720 File "/usr/lib/enigma2/python/RecordTimer.py", line 485, in log_tuner
    < 4037.8614> 17:38:38.4723 File "/usr/lib/enigma2/python/RecordTimer.py", line 284, in log
    < 4037.8617> 17:38:38.4726 File "/usr/lib/enigma2/python/Tools/RedirectOutput.py", line 16, in write
    < 4037.8620> 17:38:38.4729 TypeError: in method 'ePythonOutput', argument 1 of type 'char const *

  8. #8
    twol's Avatar
    Title
    Moderator
    Join Date
    Apr 2012
    Posts
    8,417
    Thanks
    997
    Thanked 2,894 Times in 2,247 Posts
    Quote Originally Posted by ocean View Post
    Here traceback from debuglog, if someone wants to take a look. Would be interesting to know what self.line, self.level contains when it crashes.

    < 4037.8571> 17:38:38.4681 Traceback (most recent call last):
    < 4037.8572> 17:38:38.4681 File "/usr/lib/enigma2/python/StartEnigma.py", line 224, in processDelay
    < 4037.8581> 17:38:38.4690 callback(*retval)
    < 4037.8581> 17:38:38.4691 File "/usr/lib/enigma2/python/Screens/InfoBarGenerics.py", line 3333, in recordQuestionCallback
    < 4037.8585> 17:38:38.4694 File "/usr/lib/enigma2/python/Screens/InfoBarGenerics.py", line 3253, in startInstantRecording
    < 4037.8588> 17:38:38.4697 File "/usr/lib/enigma2/python/RecordTimer.py", line 1275, in record
    < 4037.8591> 17:38:38.4701 File "/usr/lib/enigma2/python/timer.py", line 229, in addTimerEntry
    < 4037.8594> 17:38:38.4704 File "/usr/lib/enigma2/python/timer.py", line 268, in calcNextActivation
    < 4037.8597> 17:38:38.4706 File "/usr/lib/enigma2/python/timer.py", line 363, in processActivation
    < 4037.8601> 17:38:38.4710 File "/usr/lib/enigma2/python/RecordTimer.py", line 1009, in doActivate
    < 4037.8607> 17:38:38.4717 File "/usr/lib/enigma2/python/RecordTimer.py", line 676, in activate
    < 4037.8611> 17:38:38.4720 File "/usr/lib/enigma2/python/RecordTimer.py", line 485, in log_tuner
    < 4037.8614> 17:38:38.4723 File "/usr/lib/enigma2/python/RecordTimer.py", line 284, in log
    < 4037.8617> 17:38:38.4726 File "/usr/lib/enigma2/python/Tools/RedirectOutput.py", line 16, in write
    < 4037.8620> 17:38:38.4729 TypeError: in method 'ePythonOutput', argument 1 of type 'char const *
    ......... deleted
    Last edited by twol; 22-08-22 at 13:58.
    Gigablue Quad 4K & UE 4K
    .........FBC Tuners:
    ------------------> GT-Sat unicable LNB to 1.5M dish(28.2E)
    ------------------> Gigablue unicable LNB to 80 cm dish(19.2E)
    .......................> FBC & DVB-S2X into 90cm dish (27.5W) Opticum robust Unicable LNB
    AX HD61, Edision Osmio 4K+, Zgemma H9Combo, Octagon SF8008 , gbtrio4k, h9se using unicable ports
    Zgemma H9 C/S into Giga4K

  9. #9

    Title
    Member
    Join Date
    Jun 2022
    Posts
    70
    Thanks
    1
    Thanked 33 Times in 19 Posts
    Found cause and is reported earlier.

    When new recording starts, it seems to also clean trash in the background.

    Trashcan.py line 195: print("[Trashcan] Failed to stat %s:" % name, e)

    "name" comes directly from filesystem and not guaranteed to be utf-8 only.

    There it goes to RedirecOutput.py and ePythonOutput() is not protected against non utf-8 in str.

    Problem was filename with special character in trash. I'm sure Python27 did not have these issues..

  10. #10
    twol's Avatar
    Title
    Moderator
    Join Date
    Apr 2012
    Posts
    8,417
    Thanks
    997
    Thanked 2,894 Times in 2,247 Posts
    Quote Originally Posted by ocean View Post
    Found cause and is reported earlier.

    When new recording starts, it seems to also clean trash in the background.

    Trashcan.py line 195: print("[Trashcan] Failed to stat %s:" % name, e)

    "name" comes directly from filesystem and not guaranteed to be utf-8 only.

    There it goes to RedirecOutput.py and ePythonOutput() is not protected against non utf-8 in str.

    Problem was filename with special character in trash. I'm sure Python27 did not have these issues..
    The crash in RedirectOutput is caused by the log entry created in Recordtimer. .. which is why I asked for teh debug using the attachment.
    would you do that so that I can see what is generated?
    The zero4k is a special as its sold as a zapper … only, although people apply the change to allow recording'
    Gigablue Quad 4K & UE 4K
    .........FBC Tuners:
    ------------------> GT-Sat unicable LNB to 1.5M dish(28.2E)
    ------------------> Gigablue unicable LNB to 80 cm dish(19.2E)
    .......................> FBC & DVB-S2X into 90cm dish (27.5W) Opticum robust Unicable LNB
    AX HD61, Edision Osmio 4K+, Zgemma H9Combo, Octagon SF8008 , gbtrio4k, h9se using unicable ports
    Zgemma H9 C/S into Giga4K

  11. #11
    birdman's Avatar
    Title
    Moderator
    Join Date
    Sep 2014
    Location
    Hitchin, UK
    Posts
    7,797
    Thanks
    237
    Thanked 1,659 Times in 1,307 Posts
    Quote Originally Posted by ocean View Post
    Found cause and is reported earlier.
    Where was it reported earlier?

    There it goes to RedirecOutput.py and ePythonOutput() is not protected against non utf-8 in str.
    But RedirectOutput is checking for being sent bytes. If it is sent a str then it should already be OK.

    Problem was filename with special character in trash. I'm sure Python27 did not have these issues..
    Py2 only had strings of bytes. Py3 has byte strings and Unicode strings. Mixing them has been a cause of many issues.
    MiracleBox Prem Twin HD - 2@DVB-T2 + Xtrend et8000 - 5(incl. 2 different USBs)@DVB-T2[terrestrial - UK Freeview HD, Sandy Heath] - LAN/USB-stick/HDD

  12. #12

    Title
    Member
    Join Date
    Jun 2022
    Posts
    70
    Thanks
    1
    Thanked 33 Times in 19 Posts
    Quote Originally Posted by birdman View Post
    Where was it reported earlier?
    I mean it was reported earlier that ext4 is not limited to utf-8. All code must be reviewed where filename is used. Same if you for example insert NTFS usb stick from Windows. Filenames are not utf-8.
    Quote Originally Posted by birdman View Post
    But RedirectOutput is checking for being sent bytes. If it is sent a str then it should already be OK.
    No, type was str when it came there (not bytes). str contained python3 surrogate.

    I know this, because I checked what self.line contained when it crashed. (Because I was interrested)

  13. #13
    twol's Avatar
    Title
    Moderator
    Join Date
    Apr 2012
    Posts
    8,417
    Thanks
    997
    Thanked 2,894 Times in 2,247 Posts
    Quote Originally Posted by ocean View Post
    I mean it was reported earlier that ext4 is not limited to utf-8. All code must be reviewed where filename is used. Same if you for example insert NTFS usb stick from Windows. Filenames are not utf-8.

    No, type was str when it came there (not bytes). str contained python3 surrogate.

    I know this, because I checked what self.line contained when it crashed. (Because I was interrested)
    Could you just do me a favour and use the attachment in post #8 - I would like to try and fix this rather than your bypass (try/except)
    Gigablue Quad 4K & UE 4K
    .........FBC Tuners:
    ------------------> GT-Sat unicable LNB to 1.5M dish(28.2E)
    ------------------> Gigablue unicable LNB to 80 cm dish(19.2E)
    .......................> FBC & DVB-S2X into 90cm dish (27.5W) Opticum robust Unicable LNB
    AX HD61, Edision Osmio 4K+, Zgemma H9Combo, Octagon SF8008 , gbtrio4k, h9se using unicable ports
    Zgemma H9 C/S into Giga4K

  14. #14

    Title
    Member
    Join Date
    Jun 2022
    Posts
    70
    Thanks
    1
    Thanked 33 Times in 19 Posts
    Quote Originally Posted by twol View Post
    Could you just do me a favour and use the attachment in post #8 - I would like to try and fix this rather than your bypass (try/except)
    I have access to this box again next weekend. And I already cleaned trash.

    But it's clear what the problem was. Non utf-8 character in filename.

    If you want to fix crash in RedirectOutput, just make sure there are no surrogates when passing str to ePythonOutput(). (Surrogate means non utf-8 characters escaped inside str)

    There was also exception in trashcan. Code needs to be checked for non utf-8 filenames starting from:

    line 180: for root, dirs, files in os.walk(trashfolder, topdown=False):

    Is that "trashfolder" str or bytes here? It affects what "files" contains after.

    Further testing, create non utf-8 filenames to hdd/media and start testing..

  15. #15
    Huevos's Avatar
    Title
    Administrator
    Join Date
    Jun 2010
    Location
    38.5N, 0.5W
    Posts
    13,632
    Thanks
    2,007
    Thanked 4,956 Times in 3,276 Posts
    Quote Originally Posted by ocean View Post
    I have access to this box again next weekend. And I already cleaned trash.

    But it's clear what the problem was. Non utf-8 character in filename.

    If you want to fix crash in RedirectOutput, just make sure there are no surrogates when passing str to ePythonOutput(). (Surrogate means non utf-8 characters escaped inside str)

    There was also exception in trashcan. Code needs to be checked for non utf-8 filenames starting from:

    line 180: for root, dirs, files in os.walk(trashfolder, topdown=False):

    Is that "trashfolder" str or bytes here? It affects what "files" contains after.

    Further testing, create non utf-8 filenames to hdd/media and start testing..
    The crash log you supplied does not show that as the problem. The bad characters are coming from RecordTimer.py and should be fixed at source, not in RedirectOutput.py.
    Help keep OpenViX servers online.Please donate!

Page 1 of 2 12 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
This website uses cookies
We use cookies to store session information to facilitate remembering your login information, to allow you to save website preferences, to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners.