cabernetwork / cabernet

Cabernet allows control of IPTV streams. Plugins supports DaddyLive, Pluto TV, XUMO, M3U/XMLTV.XML files (SamsungTV, STIRR, DistroTV, Plex TV)
https://cabernetwork.github.io
MIT License
154 stars 22 forks source link

TypeError: cannot pickle '_thread.RLock' object #120

Closed MartinR577 closed 7 months ago

MartinR577 commented 7 months ago

Trying a new install on a windows 10 system. UnZipped to a folder First launch created the Config.ini but exited immediately with an error about the config.ini is empty Added the following to the config.ini

[plutotv_default] label = PlutoTV Instance enabled = True

Launched Cabernet again. Added the PlutoTV plugin on restart i get the following:

C:\apps\cabernet>python3 tvh_main.py 2023-12-21 01:52:25,828-WARNING:main ######################################### 2023-12-21 01:52:25,828-WARNING:main MIT License, Copyright (C) 2021 ROCKY4546 Traceback (most recent call last): File "C:\apps\cabernet\tvh_main.py", line 41, in main.main(script_dir) File "C:\apps\cabernet\lib\main.py", line 150, in main pickle_it.to_pickle(plugins) File "C:\apps\cabernet\lib\common\pickling.py", line 44, in to_pickle pickle.dump(_object_to_pickle, f, -1) TypeError: cannot pickle '_thread.RLock' object

AFrameWorker commented 7 months ago

Can confirm, I have the same issue with the latest RC8 update as well. RC7 works perfectly fine.

All plugins are affected and simply wont work due to this bug on RC8.

rocky4546 commented 7 months ago

Looking into this issue. Pickling is a function for Windows to get around its limitation on forking processes.

Looks like requests lib is pickleable while httpx object is not. All I did was replace the plugin_obj.py from RC07 and it runs. Looking into impacts...

rocky4546 commented 7 months ago

Should be fixed in RC09

purplescorpion1 commented 7 months ago

Should be fixed in RC09

Nope still got the same error - Updated from RC7 to RC9 using the updater in cabernet

Manually downgraded back to RC7 and everything works again

rocky4546 commented 7 months ago

yea, got the same results. Trying to fix this with covid, so brain is kinda mush.

rocky4546 commented 7 months ago

ok, I think I fixed it in RC11. github messed up RC10, so had to move to RC11.

purplescorpion1 commented 7 months ago

ok, I think I fixed it in RC11. github messed up RC10, so had to move to RC11.

getting error codes 400 when trying to play a stream but the program works. I'll have to investigate

rocky4546 commented 7 months ago

I get all types of errors from DL. There are days that are a mess while other days a clean as a whistle. Have not seen the same issues on the other plugins.

purplescorpion1 commented 7 months ago

So I had it on ffmpeg and that gave me parser errors and error 400 when playing a stream Switched to internal proxy and it doesn't play at all - loads of errors in log

edit - removed log as fixed

rocky4546 commented 7 months ago

it is related to the updates, hang on and will fix...

rocky4546 commented 7 months ago

RC12 fixes all channel exceptions from the pickling

purplescorpion1 commented 7 months ago

RC12 fixes all channel exceptions from the pickling

confirmed - all working now thanks

cookieisland commented 7 months ago

yea, got the same results. Trying to fix this with covid, so brain is kinda mush.

ouch. Get well soon!