Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

about Kodi 21.0.0 on xsx #872

Open
fusonzhang opened this issue Jul 18, 2024 · 38 comments
Open

about Kodi 21.0.0 on xsx #872

fusonzhang opened this issue Jul 18, 2024 · 38 comments

Comments

@fusonzhang
Copy link

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

@sacc-leo
Copy link

i met the same problem with pvr-simple iptv 21.8.4

@rainman74
Copy link

Samen problem here

@phunkyfish
Copy link
Member

What is xsx?

please post a full debug log

@rainman74
Copy link

rainman74 commented Jul 30, 2024

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
Copy link
Member

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
Copy link
Member

Did you try this workaround?

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

@rainman74
Copy link

Did you try this workaround?

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

This workaround does not work.

@rainman74
Copy link

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
Copy link
Member

ksooo commented Jul 31, 2024

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
Copy link
Member

ksooo commented Jul 31, 2024

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
Copy link
Member

ksooo commented Jul 31, 2024

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
Copy link

by patching the add-on identifier I guess

yes!

@rainman74
Copy link

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
Copy link

rainman74 commented Jul 31, 2024

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
Copy link
Member

ksooo commented Jul 31, 2024

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
Copy link
Member

ksooo commented Jul 31, 2024

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
Copy link

rainman74 commented Jul 31, 2024

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
Copy link
Member

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
Copy link

@phunkyfish What is the status of this issue?

@phunkyfish
Copy link
Member

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
Copy link

rainman74 commented Sep 30, 2024

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
Copy link
Member

phunkyfish commented Sep 30, 2024

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
Copy link

TermeHansen commented Sep 30, 2024

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
Copy link
Member

phunkyfish commented Sep 30, 2024

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
Copy link

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
Copy link
Member

Ok, then similar to how Xbox is done.

@TermeHansen
Copy link

TermeHansen commented Sep 30, 2024

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
Copy link

rainman74 commented Sep 30, 2024

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
Copy link

jiangyuzhao commented Oct 5, 2024

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 kodi-pvr/pvr.vuplus#278 (comment) 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
Copy link
Member

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

@phunkyfish
Copy link
Member

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

you can install logged uploader addon to get the log.

@jiangyuzhao
Copy link

@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(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.

@phunkyfish
Copy link
Member

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
Copy link
Member

phunkyfish commented Oct 7, 2024

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
Copy link
Member

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
Copy link
Member

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
Copy link

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
Copy link
Member

phunkyfish commented Oct 7, 2024

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants