jellyfin / jellyfin-kodi

Jellyfin Plugin for Kodi
https://jellyfin.org
GNU General Public License v3.0
854 stars 113 forks source link

Crash when starting playback from main menu context menu #443

Closed JulioNahum closed 3 years ago

JulioNahum commented 3 years ago

Describe the bug After having synced the Jellyfin server libraries to Kodi, and trying to play a movie from the main Kodi screen, my Raspberry Pi 4b reboots completely. And this does not happen when you enter the Movies category and choose one within it. There it plays. However, not on the Main screen.

To Reproduce

  1. Choose a movie from the main screen
  2. Click play
  3. Pass 3 seconds and Kodi restarts

System (please complete the following information):

oddstr13 commented 3 years ago
  1. Which Pi 4 is this?
  2. What codecs are used in the movie in question?
  3. Are you playing the same exact movie from within the movies category?
  4. Does the same happen if you add that exact movie file directly in Kodi, skipping Jellyfin completely?
  5. Are you able to get the logs?
JulioNahum commented 3 years ago
  1. Which Pi 4 is this?
  2. What codecs are used in the movie in question?
  3. Are you playing the same exact movie from within the movies category?
  4. Does the same happen if you add that exact movie file directly in Kodi, skipping Jellyfin completely?
  5. Are you able to get the logs?

What Pi 4 is this?

What codecs are used in the movie in question?

Are you playing the exact same movie from the movies category?

Does the same thing happen if you add that exact movie file directly to Kodi, skipping Jellyfin altogether?

Can you get the records?

oddstr13 commented 3 years ago

https://kodi.wiki/view/Log_file/Easy

JulioNahum commented 3 years ago

https://kodi.wiki/view/Log_file/Easy

Thank you. As soon as I get home, I send the registration over here and I hope I can have answers. But to get an idea, has this ever happened? or is it the first time?

JulioNahum commented 3 years ago

https://kodi.wiki/view/Log_file/Easy

I have the log when I try to play a movie from the main Kodi screen of the Jellyfin server, and I suffer a reboot of the Raspberry. How do I send it. It is in a .zip file

JulioNahum commented 3 years ago
  1. Which Pi 4 is this?
  2. What codecs are used in the movie in question?
  3. Are you playing the same exact movie from within the movies category?
  4. Does the same happen if you add that exact movie file directly in Kodi, skipping Jellyfin completely?
  5. Are you able to get the logs?

Ready. There I send you the logs. Hope you can find the problem. Thank you very much already. log-2020-12-14-14.46.39.zip

oddstr13 commented 3 years ago

I see nothing in the logs indicating this is the addons fault.

The following snippets indicate that your power supply is not able to deliver enough current, and that the voltage is dipping low enough to corrupt system memory.

You need a better power supply.

From the system log:

Dec 14 11:39:58 LibreELEC systemd[1]: systemd-hostnamed.service: Succeeded.
Dec 14 11:40:03 LibreELEC wpa_supplicant[357]: wlan0: Failed to initiate sched scan
Dec 14 11:41:22 LibreELEC kernel: Under-voltage detected! (0x00050005)
Dec 14 11:41:24 LibreELEC wpa_supplicant[357]: wlan0: Failed to initiate sched scan
Dec 14 11:41:28 LibreELEC kernel: Voltage normalised (0x00000000)
Dec 14 11:44:49 LibreELEC kernel: Under-voltage detected! (0x00050005)
Dec 14 11:44:53 LibreELEC kernel: Voltage normalised (0x00000000)
Dec 14 11:45:27 LibreELEC wpa_supplicant[357]: wlan0: Failed to initiate sched scan
Dec 14 11:45:38 LibreELEC kodi.sh[369]: terminate called after throwing an instance of 'std::logic_error'
Dec 14 11:45:38 LibreELEC kodi.sh[369]:   what():  busy dialog already running
Dec 14 11:45:42 LibreELEC kernel: vchiq: 0: ignoring ERROR from callback to service 9008
Dec 14 11:45:44 LibreELEC kodi.sh[369]: Aborted (core dumped)
Dec 14 11:45:50 LibreELEC kodi.sh[369]: Crash report available at /storage/.kodi/temp/kodi_crashlog_20201214114544.log
Dec 14 11:45:50 LibreELEC systemd[1]: kodi.service: Main process exited, code=exited, status=134/n/a
Dec 14 11:45:50 LibreELEC systemd[1]: kodi.service: Failed with result 'exit-code'.
Dec 14 11:45:52 LibreELEC systemd[1]: kodi.service: Service RestartSec=2s expired, scheduling restart.
Dec 14 11:45:52 LibreELEC systemd[1]: kodi.service: Scheduled restart job, restart counter is at 1.
Dec 14 11:45:52 LibreELEC systemd[1]: Stopped Kodi Media Center.
Dec 14 11:45:52 LibreELEC systemd[1]: Condition check resulted in Kodi user autostart script being skipped.
Dec 14 11:45:52 LibreELEC systemd[1]: Starting Kodi Media Center...

The Kodi crash log includes many instances of this in the stack traces;

Backtrace stopped: Cannot access memory at address 0x4
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Nothing pointing to this being a issue with our addon in the Kodi logs.

Only interesting piece in the logs is this; which is completely unrelated to the problem you have:

2020-12-14 11:41:39.479 T:2647647088  NOTICE: JELLYFIN.objects.movies -> ERROR::jellyfin_kodi/objects/movies.py:174 Failed to get trailer: list index out of range
                                            Traceback (most recent call last):
                                              File "jellyfin_kodi/objects/movies.py", line 171, in trailer
                                                obj['Trailer'] = "plugin://plugin.video.youtube/play/?video_id=%s" % obj['Trailer'].rsplit('=', 1)[1]
                                            IndexError: list index out of range
JulioNahum commented 3 years ago

I see nothing in the logs indicating this is the addons fault.

The following snippets indicate that your power supply is not able to deliver enough current, and that the voltage is dipping low enough to corrupt system memory.

You need a better power supply.

From the system log:

Dec 14 11:39:58 LibreELEC systemd[1]: systemd-hostnamed.service: Succeeded.
Dec 14 11:40:03 LibreELEC wpa_supplicant[357]: wlan0: Failed to initiate sched scan
Dec 14 11:41:22 LibreELEC kernel: Under-voltage detected! (0x00050005)
Dec 14 11:41:24 LibreELEC wpa_supplicant[357]: wlan0: Failed to initiate sched scan
Dec 14 11:41:28 LibreELEC kernel: Voltage normalised (0x00000000)
Dec 14 11:44:49 LibreELEC kernel: Under-voltage detected! (0x00050005)
Dec 14 11:44:53 LibreELEC kernel: Voltage normalised (0x00000000)
Dec 14 11:45:27 LibreELEC wpa_supplicant[357]: wlan0: Failed to initiate sched scan
Dec 14 11:45:38 LibreELEC kodi.sh[369]: terminate called after throwing an instance of 'std::logic_error'
Dec 14 11:45:38 LibreELEC kodi.sh[369]:   what():  busy dialog already running
Dec 14 11:45:42 LibreELEC kernel: vchiq: 0: ignoring ERROR from callback to service 9008
Dec 14 11:45:44 LibreELEC kodi.sh[369]: Aborted (core dumped)
Dec 14 11:45:50 LibreELEC kodi.sh[369]: Crash report available at /storage/.kodi/temp/kodi_crashlog_20201214114544.log
Dec 14 11:45:50 LibreELEC systemd[1]: kodi.service: Main process exited, code=exited, status=134/n/a
Dec 14 11:45:50 LibreELEC systemd[1]: kodi.service: Failed with result 'exit-code'.
Dec 14 11:45:52 LibreELEC systemd[1]: kodi.service: Service RestartSec=2s expired, scheduling restart.
Dec 14 11:45:52 LibreELEC systemd[1]: kodi.service: Scheduled restart job, restart counter is at 1.
Dec 14 11:45:52 LibreELEC systemd[1]: Stopped Kodi Media Center.
Dec 14 11:45:52 LibreELEC systemd[1]: Condition check resulted in Kodi user autostart script being skipped.
Dec 14 11:45:52 LibreELEC systemd[1]: Starting Kodi Media Center...

The Kodi crash log includes many instances of this in the stack traces;

Backtrace stopped: Cannot access memory at address 0x4
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Nothing pointing to this being a issue with our addon in the Kodi logs.

Only interesting piece in the logs is this; which is completely unrelated to the problem you have:

2020-12-14 11:41:39.479 T:2647647088  NOTICE: JELLYFIN.objects.movies -> ERROR::jellyfin_kodi/objects/movies.py:174 Failed to get trailer: list index out of range
                                            Traceback (most recent call last):
                                              File "jellyfin_kodi/objects/movies.py", line 171, in trailer
                                                obj['Trailer'] = "plugin://plugin.video.youtube/play/?video_id=%s" % obj['Trailer'].rsplit('=', 1)[1]
                                            IndexError: list index out of range

But the same thing happens to me with a TV Box with CoreElec. When I install Jellyfin, and sync the libraries, and I want to play one from the main screen, the TV BOX restarts. Which with EMBY does not happen to me neither in the TV BOX nor in the RaspBerry Pi4b. So it is not the device since I tried it on two totally different and it did not work on both.

oddstr13 commented 3 years ago

How to reproduce:

This results in a kodicrashlog being generated, and the kodi.bin process consuming 100% CPU (in one thread), and something in the range of 1-3GB RAM for a period of 10s+.

Reproducible with Kodi 19 on master.

(I still insist that you need a better power-supply for your Pi however)

oddstr13 commented 3 years ago

Describe the bug When playing a movie from the Kodi main menu (i.e. the start screen) via right-click context menu (either select play or open the information screen and then click play) Kodi will crash. When directly playing via left-click the movie plays fine. Entering the movies main menu entry and then using right-click or the information menu works fine.

Series seem to play fine but won't resume when started via the information screen from the main menu. When started via the information screen after entering the series main menu entry they resume fine.

To Reproduce

  1. Directly after starting Kodi right-click a movie and select play (do NOT enter the movies main menu entry)
  2. Alternatively right-click a movie and open the information screen, then select play from there.
  3. Kodi crashes

Expected behavior Kodi should not crash when starting movies from the main screen via the information screen and series should resume normally.

Logs Here are the logs when trying to play a movie via right-click play from the main menu (right until Kodi crashes): https://pastebin.com/E3mnujXh

System (please complete the following information):

Client 1:
Raspberry pi 4
LibreELEC 9.2.6
Kodi 18.9
Jellyfin addon 0.6.5 in addon mode
Client 2:
Arch Linux
Kodi 18.8 (flatpak)
Jellyfin addon 0.6.5 in addon mode
Server:
Jellyfin server 10.6.4 running in a docker container on debian (official image)
Using a reverse proxy (caddy)

I found the same problem with both clients mentioned above. Note that the reverse proxy is NOT to blame: the problem also persists when directly using jellyfin's port on the server.

Originally posted by @allthesebugsv2 in https://github.com/jellyfin/jellyfin-kodi/issues/453

JulioNahum commented 3 years ago

Describe the bug When playing a movie from the Kodi main menu (i.e. the start screen) via right-click context menu (either select play or open the information screen and then click play) Kodi will crash. When directly playing via left-click the movie plays fine. Entering the movies main menu entry and then using right-click or the information menu works fine.

Series seem to play fine but won't resume when started via the information screen from the main menu. When started via the information screen after entering the series main menu entry they resume fine.

To Reproduce

  1. Directly after starting Kodi right-click a movie and select play (do NOT enter the movies main menu entry)
  2. Alternatively right-click a movie and open the information screen, then select play from there.
  3. Kodi crashes

Expected behavior Kodi should not crash when starting movies from the main screen via the information screen and series should resume normally.

Logs Here are the logs when trying to play a movie via right-click play from the main menu (right until Kodi crashes): https://pastebin.com/E3mnujXh

System (please complete the following information):

Client 1:
Raspberry pi 4
LibreELEC 9.2.6
Kodi 18.9
Jellyfin addon 0.6.5 in addon mode
Client 2:
Arch Linux
Kodi 18.8 (flatpak)
Jellyfin addon 0.6.5 in addon mode
Server:
Jellyfin server 10.6.4 running in a docker container on debian (official image)
Using a reverse proxy (caddy)

I found the same problem with both clients mentioned above. Note that the reverse proxy is NOT to blame: the problem also persists when directly using jellyfin's port on the server.

Originally posted by @allthesebugsv2 in #453

The same thing happens to me. But the developers told me that it is a problem of the power supply to the raspberry pi 4. But it happens the same on a Windows pc. I tried emby to see if it was a power problem but no, the emby addon works fine all over. The problem is Jellyfin. I do not know what's happening.

mcarlton00 commented 3 years ago

I've tracked the playback failure from the context menu to this line https://github.com/jellyfin/jellyfin-kodi/blob/1982d32ab31f7df2ba8107fa39a128d0a61968c5/jellyfin_kodi/objects/actions.py#L81

With that line in place, playing normally works as expected, but playing from the context menu fails. If that line gets commented out, playing from the context menu works, but playing normally fails.

jfranki commented 3 years ago

This is not a power or Pi problem, happens to me on an Intel NUC (Libreelec 9.2.6). I'll try to post the logfile later.

OS: LibreELEC 9.2.6 Kodi: 18.9 Jellyfin: 10.6.2 Addon: 0.6.5 Playback Mode: Addon

mcarlton00 commented 3 years ago

I've found the actual problem, but so far I can't figure out how to fix it.

https://github.com/jellyfin/jellyfin-kodi/blob/a78ab1377ce73bef0b01594c1a71c95f4b4cde3f/jellyfin_kodi/objects/actions.py#L717-L730

This function needs to return True if it was played normally, and return False if playback is triggered from a context or information screen