kodi-pvr / pvr.iptvsimple

IPTV Simple client for Kodi PVR
GNU General Public License v2.0
782 stars 374 forks source link

about Kodi 21.0.0 on xsx #872

Open fusonzhang opened 3 months ago

fusonzhang commented 3 months ago

PVR Manager is starting up: 0% will stuck when starting up

sacc-leo commented 3 months ago

i met the same problem with pvr-simple iptv 21.8.4

rainman74 commented 3 months ago

Samen problem here

phunkyfish commented 3 months ago

What is xsx?

please post a full debug log

rainman74 commented 3 months ago

What is xsx?

please post a full debug log

XSX => Xbox Series X

I also have the same problem on Windows and Android TV with PVR-Simple IPTV 21.8.4.

PVR Manager is starting up: stuck at 0%

Same problem here #862. It is not due to specific streams, I have a normal M3U list with my DVB-C channels, which works perfectly under Kodi 20.

phunkyfish commented 3 months ago

I'll still need a full ebug log to be able to help. The other issue is the same, no full debug log, so I can't debug the problem.

phunkyfish commented 3 months ago

Did you try this workaround?

https://github.com/kodi-pvr/pvr.vuplus/issues/278#issuecomment-2197927642

rainman74 commented 3 months ago

Did you try this workaround?

kodi-pvr/pvr.vuplus#278 (comment)

This workaround does not work.

rainman74 commented 3 months ago

I'll still need a full ebug log to be able to help. The other issue is the same, no full debug log, so I can't debug the problem.

Here is the debug log.

Please note: I have installed the old plugin in version 20.13.0-Nexus as pvr.iptvsimple.nexus. This works without any problems under Omega with the identical m3u and configuration. I am currently using kodi-20240727-830cb393-Omega-armeabi-v7a.apk and have also tested kodi-21.0-Omega-armeabi-v7a.apk.

In the debug log you can now see that I first deactivate the working pvr.iptvsimple.nexus (20.13.0-Nexus) and then activate the newest pvr.iptvsimple (21.8.5-Omega). The plugin then hangs when loading the channels from the same m3u. You can see the messages in log files.

kodi.log

ksooo commented 3 months ago
2024-07-31 14:10:12.409 T:2540     info <general>: CAddonMgr::FindAddons: pvr.iptvsimple v21.8.5 installed
2024-07-31 14:10:12.409 T:2540     info <general>: CAddonMgr::FindAddons: pvr.iptvsimple.nexus v20.13.0 installed

You somehow manage to run two versions of pvr.iptvsimple in parallel simultaneously, by patching the add-on identifier I guess. Sharing symbols of the same shared library multiple times in the same host process, technically is nothing we can guarantee to work and strictly discourage people from doing so. We introduced multi-instance support for pvr addons exactly to get rid of this kind of unsupported setups.

Does your problem persists once you uninstalled one of the two pvr.iptvsimple addons?

EDIT: nvm, you explained that you ensure that only one of the two is running at a time. Anyway, not sure this does not introduce any bad side effects.

ksooo commented 3 months ago

In the debug log you can now see that I first deactivate the working pvr.iptvsimple.nexus (20.13.0-Nexus) and then activate the newest pvr.iptvsimple (21.8.5-Omega).

You definitely should restart Kodi after doing this. No guarantee that library unloading/loading works properly in this setup (same shared lib loaded twice in same process definitely is not a good idea).

ksooo commented 3 months ago
2024-07-31 14:23:53.665 T:4864    debug <general>: SECTION:UnloadDll(/data/user/0/org.xbmc.kodi/cache/lib/libpvr.iptvsimple.so)
2024-07-31 14:23:53.669 T:4864     info <general>: ADDON: Dll Destroyed - IPTV Simple Client Nexus
...
2024-07-31 14:23:56.630 T:4858    debug <general>: ADDON: Dll Initializing - IPTV Simple Client
...
2024-07-31 14:23:56.654 T:4858    debug <general>: SECTION:LoadDLL(/data/user/0/org.xbmc.kodi/cache/lib/libpvr.iptvsimple.so)
2024-07-31 14:23:56.654 T:4858    debug <general>: Loading: /data/user/0/org.xbmc.kodi/cache/lib/libpvr.iptvsimple.so

As you can see, your "separation" of the addon is not working at the shared lib caching level. Same file used for both versions.

rainman74 commented 3 months ago

by patching the add-on identifier I guess

yes!

rainman74 commented 3 months ago
2024-07-31 14:23:53.665 T:4864    debug <general>: SECTION:UnloadDll(/data/user/0/org.xbmc.kodi/cache/lib/libpvr.iptvsimple.so)
2024-07-31 14:23:53.669 T:4864     info <general>: ADDON: Dll Destroyed - IPTV Simple Client Nexus
...
2024-07-31 14:23:56.630 T:4858    debug <general>: ADDON: Dll Initializing - IPTV Simple Client
...
2024-07-31 14:23:56.654 T:4858    debug <general>: SECTION:LoadDLL(/data/user/0/org.xbmc.kodi/cache/lib/libpvr.iptvsimple.so)
2024-07-31 14:23:56.654 T:4858    debug <general>: Loading: /data/user/0/org.xbmc.kodi/cache/lib/libpvr.iptvsimple.so

As you can see, your "separation" of the addon is not working at the shared lib caching level. Same file used for both versions.

I think it works, because the libaries are in two separate folders and are exchanged when the plugins are deactivated/activated.

But well, I'll provide another debug log in which the old plugin is already deactivated when Kodi is started...

rainman74 commented 3 months ago

Here is the new debug log where pvr.iptvsimple.nexus is already disabled at startup and pvr.iptvsimple (21.8.5-Omega) is enabled. kodi.log

Here is also the M3U file, which is referenced in the same path for both plugin versions: kodi.m3u.zip

073124192345

ksooo commented 3 months ago
2024-07-31 19:07:16.625 T:23620   debug <general>: AddOnLog: pvr.iptvsimple: pvr.iptvsimple - connection state change (0 -> 7)
2024-07-31 19:07:16.625 T:23620   debug <general>: operator(): Connection state for client 1656764469 changed from 0 to 7
2024-07-31 19:07:16.626 T:23620   debug <general>: Create: Created PVR add-on instance 1656764469. readytouse=true, ignoreclient=true, connectionstate=7
2024-07-31 19:07:16.626 T:23646   debug <general>: AddOnLog: pvr.iptvsimple: pvr.iptvsimple - Check Unable to open url: special://home/playlists/kodi.m3u
2024-07-31 19:07:16.627 T:23646   error <general>: AddOnLog: pvr.iptvsimple: pvr.iptvsimple - Process - unable to connect to: special://home/playlists/kodi.m3u
2024-07-31 19:07:16.627 T:23646   debug <general>: AddOnLog: pvr.iptvsimple: pvr.iptvsimple - connection state change (7 -> 1)
2024-07-31 19:07:16.627 T:23646    info <general>: AddOnLog: pvr.iptvsimple: pvr.iptvsimple - ConnectionLost Could not validiate M3U after startup, but ignoring as startup is all we care about.
2024-07-31 19:07:16.627 T:23646   debug <general>: operator(): Connection state for client 1656764469 changed from 7 to 1

@phunkyfish THIS is the problem.

ksooo commented 3 months ago

PVR_CONNECTION_STATE_UNKNOWN = 0 PVR_CONNECTION_STATE_SERVER_UNREACHABLE = 1 PVR_CONNECTION_STATE_CONNECTING = 7 PVR_CONNECTION_STATE_CONNECTED = 5

Add-on never reaches state 5 (connected), thus PVR manager is waiting forever for a client to come online.

rainman74 commented 3 months ago

If it helps, here are the differences in the debug log between both plugins versions.

v21.8.5 already does not load the providerMappings.xml and then the m3u file cannot be read.

image

phunkyfish commented 3 months ago
2024-07-31 19:07:16.625 T:23620   debug <general>: AddOnLog: pvr.iptvsimple: pvr.iptvsimple - connection state change (0 -> 7)
2024-07-31 19:07:16.625 T:23620   debug <general>: operator(): Connection state for client 1656764469 changed from 0 to 7
2024-07-31 19:07:16.626 T:23620   debug <general>: Create: Created PVR add-on instance 1656764469. readytouse=true, ignoreclient=true, connectionstate=7
2024-07-31 19:07:16.626 T:23646   debug <general>: AddOnLog: pvr.iptvsimple: pvr.iptvsimple - Check Unable to open url: special://home/playlists/kodi.m3u
2024-07-31 19:07:16.627 T:23646   error <general>: AddOnLog: pvr.iptvsimple: pvr.iptvsimple - Process - unable to connect to: special://home/playlists/kodi.m3u
2024-07-31 19:07:16.627 T:23646   debug <general>: AddOnLog: pvr.iptvsimple: pvr.iptvsimple - connection state change (7 -> 1)
2024-07-31 19:07:16.627 T:23646    info <general>: AddOnLog: pvr.iptvsimple: pvr.iptvsimple - ConnectionLost Could not validiate M3U after startup, but ignoring as startup is all we care about.
2024-07-31 19:07:16.627 T:23646   debug <general>: operator(): Connection state for client 1656764469 changed from 7 to 1

@phunkyfish THIS is the problem.

Thanks for debugging this. I’ll take a look at why we don’t get to the correct state next week.

TermeHansen commented 1 month ago

@phunkyfish What is the status of this issue?

phunkyfish commented 1 month ago

Hmmm, it looks like for some reason local access to your path is not allowed in Kodi. Maybe the user running Kodi does not have permission.

can you try putting the file in the userdata directory and see if that works?

rainman74 commented 1 month ago

21.8.4

@phunkyfish As I said and as it says above, it works with the same settings in the plugin version 20.13.0 and then suddenly no longer in 21.8.4/5 (after the automatic update). So it's definitely the plugin and not Kodi ;-)

phunkyfish commented 1 month ago

Connection state does not change to the correct value because the M3U file cannot be accessed.

can you please try copying the M3U file to the userdata addon data folder and see does that work.

It may be an issue with special paths since the connection manager was introduced, so also try an location where special is not required.

TermeHansen commented 1 month ago

I'm running via flatpack on Ubuntu (Pop_OS) btw.

I tried copying my playlist.m3u8 file to the userdata/addon_data/pvr.iptvsimple folder and pointing to it both via special and absolute path, but no difference, and the file can be read by all in the OS. My debug log has less info than here above, is that because my iptvsimple is compiled from flatpack without debug, or?

 18:37:45.214 T:27      debug <general>: SECTION:LoadDLL(/app/lib/kodi/addons/pvr.iptvsimple/pvr.iptvsimple.so.21.8.5)
2024-09-30 18:37:45.214 T:27      debug <general>: Loading: /app/lib/kodi/addons/pvr.iptvsimple/pvr.iptvsimple.so.21.8.5
2024-09-30 18:37:45.225 T:27       info <general>: AddOnLog: pvr.iptvsimple: pvr.iptvsimple - Create starting IPTV Simple PVR client...
2024-09-30 18:37:45.227 T:27      debug <general>: AddOnLog: pvr.iptvsimple: pvr.iptvsimple - CopyFile - Copying file: /app/share/kodi/addons/pvr.iptvsimple//resources/data/genres/genreTextMappings/Rytec-UK-Ireland.xml, to special://userdata/addon_data/pvr.iptvsimple/genres/genreTextMappings/Rytec-UK-Ireland.xml
2024-09-30 18:37:45.227 T:27      debug <general>: AddOnLog: pvr.iptvsimple: pvr.iptvsimple - CopyFile - Copying file: /app/share/kodi/addons/pvr.iptvsimple//resources/data/genres/kodiDvbGenresTypeSubtype.xml, to special://userdata/addon_data/pvr.iptvsimple/genres/kodiDvbGenresTypeSubtype.xml
2024-09-30 18:37:45.227 T:27      debug <general>: AddOnLog: pvr.iptvsimple: pvr.iptvsimple - CopyFile - Copying file: /app/share/kodi/addons/pvr.iptvsimple//resources/data/genres/kodiDvbGenres.xml, to special://userdata/addon_data/pvr.iptvsimple/genres/kodiDvbGenres.xml
2024-09-30 18:37:45.227 T:27      debug <general>: AddOnLog: pvr.iptvsimple: pvr.iptvsimple - connection state change (0 -> 7)
2024-09-30 18:37:54.766 T:7       debug <general>: AddOnLog: pvr.iptvsimple: pvr.iptvsimple - ~IptvSimple Stopping update thread...
2024-09-30 18:37:55.230 T:7        info <general>: AddOnLog: pvr.iptvsimple: pvr.iptvsimple - ConnectionLost Could not validiate M3U after startup, but ignoring as startup is all we care about.
2024-09-30 18:37:55.230 T:7       debug <general>: SECTION:UnloadDll(/app/lib/kodi/addons/pvr.iptvsimple/pvr.iptvsimple.so.21.8.5)
phunkyfish commented 1 month ago

I'm running via flatpack on Ubuntu (Pop_OS) btw.

I tried copying my playlist.m3u8 file to the userdata/addon_data/pvr.iptvsimple folder and pointing to it both via special and absolute path, but no difference, and the file can be read by all in the OS. My debug log has less info than here above, is that because my iptvsimple is compiled from flatpack without debug, or?

Possibly, it looks like you have debug for the addon but not from Kodi. But I reckon these are both permission issues in some way. Flatpack will have a very different permissioning system to an Xbox. When you install from flat pack do you install each addon as a separate package?

TermeHansen commented 1 month ago

No it comes as one pack with PVR addons backed into it.

https://github.com/flathub/tv.kodi.Kodi/tree/master/addons%2Fpvr.iptvsimple

phunkyfish commented 1 month ago

Ok, then similar to how Xbox is done.

TermeHansen commented 1 month ago

I changed the wrong settings.xml by hand, so maybe in my case here I think the path was unset/empty which is not told in kodi.log, something like can not find "" m3u8 file.

Now when setting in the correct xml file, it actually works as it should also for special:// naming... So I leave this issue again as my issue was an empty string I believe. I will take this talk with my user in another addon that ran into to this issue. Sorry for the confusion, but maybe a check for empty strings with a dialog popup could help.

rainman74 commented 1 month ago

Connection state does not change to the correct value because the M3U file cannot be accessed.

can you please try copying the M3U file to the userdata addon data folder and see does that work.

It may be an issue with special paths since the connection manager was introduced, so also try an location where special is not required.

Error found!

The new plugin v21.8.x accepts M3U paths with “special://...” only with m3uPathType=0 !

<setting id=“m3uPathType”>0</setting>
<setting id=“m3uPath”>special://home/playlists/kodi.m3u</setting>

The old plugin v20.13.x also accepted it with m3uPathType=1

<setting id=“m3uPathType”>1</setting>
<setting id=“m3uUrl”>special://home/playlists/kodi.m3u</setting>
jiangyuzhao commented 1 month ago

What is xsx?

please post a full debug log

How can I get the log in xsx @rainman74 @phunkyfish ? I meet the same problem now. And I try https://github.com/kodi-pvr/pvr.vuplus/issues/278#issuecomment-2197927642 first, and it works a moment. But when I restart xsx, I get message PVR Manager is starting up: 0% will stuck when starting up and cannot solve it now.

And can this problem be solved in xsx without tricky operation?

And I can't seem to download and uninstall a plugin, I can only enable and disable a plugin. Don't know why? Is it because the XBOX version of Kodi does not support it?

phunkyfish commented 1 month ago

@jiangyuzhao Xbox ships with all the addons so enabling/disabling only is expected.

phunkyfish commented 1 month ago

@jiangyuzhao Xbox ships with all the addons so enabling/disabling only is expected.

you can install logged uploader addon to get the log.

jiangyuzhao commented 1 month ago

@jiangyuzhao Xbox ships with all the addons so enabling/disabling only is expected.

you can install logged uploader addon to get the log.

Thank you very much! @phunkyfish

Sorry to disturb you. And I downloaded Kodi again. Through this solution(https://github.com/kodi-pvr/pvr.vuplus/issues/278#issuecomment-2197927642) and keeping the demo client, it seems to be usable now. However, I don't know why this solution can succeed? I also tried the Android version and encountered the same problem of being stuck at Manager is starting up. This solution is also needed to solve it. I don't know if the cause of this problem has been finally identified? I also found many people with similar problems on the forum.

phunkyfish commented 4 weeks ago

Under the general tab in the addon settings make sure that local path is set for location. Then this will work.

it won’t work for remote paths as special paths are always local.

phunkyfish commented 4 weeks ago

For remote paths the connection manager add properties, such as a connection timeout. These properties are invalid for special paths and I guess this is where the problem lies.

@rainman74 i could try skipping the addition of properties for special paths, but we would still need a way for you to test this.

or, update the readme and help text to make it clear special paths can only be local. The latter being the easier solution.

phunkyfish commented 4 weeks ago

Sorry to disturb you. And I downloaded Kodi again. Through this solution(kodi-pvr/pvr.vuplus#278 (comment)) and keeping the demo client, it seems to be usable now. However, I don't know why this solution can succeed? I also tried the Android version and encountered the same problem of being stuck at Manager is starting up. This solution is also needed to solve it. I don't know if the cause of this problem has been finally identified? I also found many people with similar problems on the forum.

If you have the same problem on Android that would give us a platform to test this on. If I create a testbuild to skip property addition for special paths can you test it?

phunkyfish commented 4 weeks ago

Ok, if the path is REMOTE I now skip the connection timeout property if the path starts with special://.

Testbuilds:

Unfortunately these can't be tested on xbox and I have no CI build for those.

rainman74 commented 4 weeks ago

Ok, if the path is REMOTE I now skip the connection timeout property if the path starts with special://.

Testbuilds:

Unfortunately these can't be tested on xbox and I have no CI build for those.

@phunkyfish It's not entirely clear to me why you want to fix this with a workaround at all. It is perfectly sufficient to use the local path instead of remote paths for special://.

You just have to communicate it ;-) perhaps directly as a small footnote in the plugin settings that you have to use local paths for special://

phunkyfish commented 4 weeks ago

@rainman74, simply the support overhead. With the amount of automation that configures iptvsimple who know how many users will be affected. And it’s more work to update docs than it is to add a small change to always use the local code path for special paths.