What does "100" inside a blue circle mean? RPi4 freezing

  • Dear LibreELEC experts.

    A few weeks ago, my Raspberry Pi 4 (2GB, "Full Armor" case, original 3A power supply) started to freeze when playing (skipping through) h264 videos.

    It always starts with a white "100" and a blue circle around in the middle of the TV. Then, after a few seconds the picture+sound completely freezes and my remote ssh session is stopped ("Timeout, server libreelec not responding.").

    I could not find out (Wiki/search) what the "100" is telling me.

    Please, help.

    Michael

    PS: a few things that I tried.

    * The problem appears with LibreELEC versions 9.2.latest and 11.0.3

    * I copied the .m4v file to the µSD card and the freeze also happens when playing from smb (1GBit/s LAN; Ubuntu 22.04LTS fileserver) and when playing from µSD card of the RPi4

    * The .m4v file plays fine on a Windows 10 PC and a Linux notebook with VLC

    * I wrote (dd) the LibreELEC 11.0.3 image on a different SanDisk Ultra µSD card. The same freeze happens.

    * beeing logged in remotely via ssh I triggered by skipping through the .m4v (left-clicking with the mouse on the time bar) the "100" and the following freeze

    bcmstat.sh output

    bcmstat.sh

    LibreELEC:~/videos # bcmstat.sh

    Config: v0.5.5, args "", priority lowest (+19)

    Board: 4 x cores available, ondemand governor (Pi4 Model B rev 1.1, BCM2838 SoC with 2GB RAM by Sony UK)

    Memory: 1024MB (split 948MB ARM, 76MB GPU)

    HW Block: | ARM | Core | H264 | SDRAM |

    Min Freq: | 600MHz | 250MHz | 0MHz | 3180MHz |

    Max Freq: | 1500MHz | 500MHz | 500MHz | 3180MHz |

    Voltages: | 0, 0.8375V | +0, 1.2000V |

    Other: temp_limit=85

    Firmware: Apr 25 2023 18:26:56, version d7f9c2b4ef7e4a8c0b04374a879ce89d7a948453 (clean) (release) (start_x)

    Codecs: H264 MJPG PCM

    Booted: Fri Sep 29 19:22:04 2023

    Time ARM Core H264 Core Temp (Max) IRQ/s RX B/s TX B/s

    ======== ======= ======= ======= =============== ====== =========== ===========

    19:30:03 1500Mhz 500Mhz 500Mhz 42.84C (43.33C) 7,113 8,020 22,604

    19:30:05 1500Mhz 500Mhz 500Mhz 41.87C (43.33C) 2,949 151 114

    19:30:07 1500Mhz 500Mhz 500Mhz 41.87C (43.33C) 2,830 125 164

    19:30:09 700Mhz 500Mhz 278Mhz 42.35C (43.33C) 2,852 124 163

    19:30:11 800Mhz 500Mhz 278Mhz 42.84C (43.33C) 2,848 91 113

    19:30:13 1500Mhz 500Mhz 500Mhz 42.84C (43.33C) 3,026 92 113

    19:30:15 1500Mhz 500Mhz 500Mhz 43.33C (43.33C) 3,396 92 114

    19:30:17 900Mhz 500Mhz 333Mhz 42.84C (43.33C) 3,394 91 113

    19:30:19 1500Mhz 500Mhz 500Mhz 44.30C (44.30C) 17,228 91 113

    19:30:21 1500Mhz 500Mhz 500Mhz 43.82C (44.30C) 25,015 92 113

    19:30:23 900Mhz 300Mhz 333Mhz 42.84C (44.30C) 26,129 91 113

    19:30:25 1500Mhz 500Mhz 500Mhz 42.84C (44.30C) 23,570 92 113

    19:30:27 1500Mhz 500Mhz 500Mhz 43.33C (44.30C) 27,615 92 113

    19:30:29 1000Mhz 500Mhz 361Mhz 43.82C (44.30C) 26,568 217 113

    19:30:31 1500Mhz 500Mhz 500Mhz 43.82C (44.30C) 27,387 92 113

    19:30:33 1500Mhz 500Mhz 500Mhz 43.33C (44.30C) 28,562 92 113

    19:30:35 900Mhz 500Mhz 333Mhz 43.33C (44.30C) 24,747 91 113

    19:30:37 1500Mhz 500Mhz 500Mhz 43.82C (44.30C) 25,971 522 113

    19:30:39 1500Mhz 500Mhz 500Mhz 44.30C (44.30C) 26,957 522 113

    19:30:41 900Mhz 500Mhz 361Mhz 42.84C (44.30C) 24,648 91 113

    19:30:43 1500Mhz 500Mhz 500Mhz 43.33C (44.30C) 19,991 92 114

    19:30:45 1500Mhz 500Mhz 500Mhz 42.35C (44.30C) 22,099 92 113

    19:30:47 1500Mhz 500Mhz 500Mhz 42.35C (44.30C) 24,985 92 113

    19:30:49 1500Mhz 500Mhz 500Mhz 43.33C (44.30C) 25,776 121 113

    19:30:51 1500Mhz 500Mhz 500Mhz 42.84C (44.30C) 25,431 121 134

    19:30:53 900Mhz 500Mhz 333Mhz 43.82C (44.30C) 19,842 91 113

    19:30:55 1500Mhz 500Mhz 500Mhz 43.33C (44.30C) 26,524 214 113

    19:30:57 1500Mhz 500Mhz 500Mhz 43.82C (44.30C) 27,451 92 113Timeout, server libreelec not responding.


    top

    top

    top - 23:39:41 up 4 min, 1 user, load average: 1.22, 0.59, 0.25

    Tasks: 169 total, 1 running, 168 sleeping, 0 stopped, 0 zombie

    %Cpu(s): 1.3 us, 12.9 sy, 0.0 ni, 85.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

    MiB Mem : 1848.1 total, 1305.3 free, 203.5 used, 339.2 buff/cache

    MiB Swap: 0.0 total, 0.0 free, 0.0 used. 1557.6 avail Mem

    PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

    799 root 20 0 561092 127124 61912 D 25.2 6.7 0:42.74 kodi.bin

    93 root 1 -19 0 0 0 S 13.2 0.0 0:03.10 vchiq-slot/0

    35 root 20 0 0 0 0 I 4.6 0.0 0:00.78 kworker/0:2-events

    92 root 20 0 0 0 0 D 3.6 0.0 0:00.33 kworker/3:1+events

    25 root 20 0 0 0 0 I 3.0 0.0 0:00.82 kworker/2:0-events_power_efficient

    50 root 20 0 0 0 0 I 2.6 0.0 0:00.25 kworker/2:1-events

    66 root 20 0 0 0 0 I 2.0 0.0 0:00.33 kworker/1:4-events

    94 root 1 -19 0 0 0 S 1.7 0.0 0:00.33 vchiq-recy/0

    20 root 20 0 0 0 0 I 0.3 0.0 0:00.61 kworker/1:0-events

    44 root 20 0 0 0 0 I 0.3 0.0 0:00.37 kworker/u8:2-events_unbound

    959 root 20 0 3284 1972 1556 R 0.3 0.1 0:00.63 top

    1 root 20 0 25344 6716 5372 S 0.0 0.4 0:01.34 systemd

    2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd

    3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_gp

    4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_par_gp

    5 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 slub_flushwq

    6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 netns

    7 root 20 0 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0-rcu_gp

    8 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0H-mmc_complete

    9 root 20 0 0 0 0 I 0.0 0.0 0:00.99 kworker/u8:0-loop0

    10 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_percpu_wq

    11 root 20 0 0 0 0 I 0.0 0.0 0:00.00 rcu_tasks_rude_kthread

    12 root 20 0 0 0 0 I 0.0 0.0 0:00.00 rcu_tasks_trace_kthread

    13 root 20 0 0 0 0 S 0.0 0.0 0:00.02 ksoftirqd/0

    14 root 20 0 0 0 0 I 0.0 0.0 0:00.20 rcu_sched

    15 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0

    16 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/0


  • Below is a picture of this "100" with a ring.

    Is this from RPi4 firmware? Is it from Kodi? Or from LibreELEC?

    Any idea?

    (The picture shows the start of a movie. I then skipped to 9min 28sec, but the "100" shows up and sound and picture freezes)

  • Kodi displays a percentage indicator on-screen when playback stalls and the 'stream' needs to be buffered again. There's a multitude of reasons for a stream to stall and never recover, but the main candidates are a bug or something in the hardware decoder, or something in the media that ffmpeg doesn't handle right.

    Things to try:

    a) Disable DRMPRIME and hardware decoding. If the media now plays (software decoded) the issue is in the hardware decoder.

    b) If not 'A' the enable things again and update to a current LE12 nightly since this has newer everything

    c) If not resolved with 'B' share a reasonable snippet of media so that Pi engineers can have a look.

    And if posting again, share a debug log that demonstrates the issue.

  • Thank you very much.

    Disabling DRMPRIME in the expert settings solved the problem for me.

    I wasn't aware that the hardware decoders can have such an impact on system stability. If the decoder stops playing my (maybe broken/non-standard) ile -> ok. But, freezing the whole RPi4?

  • Pi codecs are pretty robust, but ultimately they are large and complex software so there's always opportunities to throw weird media at them and cause new crashes. Hence the request for a snippet that causes the problem; pi devs like those and will typically investigate to see if any changes can be made to avoid the problem and play the media, or at least fail more gracefully.

    Leaving DRMPRIME off is proably not what you want as it means all media is software decoded and at some point that'll cause different issues.

  • Disabling DRMPRIME in the expert settings solved the problem for me.

    I wasn't aware that the hardware decoders can have such an impact on system stability. If the decoder stops playing my (maybe broken/non-standard) ile -> ok. But, freezing the whole RPi4?

    Can you be more specific. There are a few combinations of options here that will narrow it down. You have:

    1) Allow using DRM PRIME decoder

    2) Allow hardware acceleration with DRM PRIME

    3) PRIME render method

    The default is 1=enabled, 2=enabled and 3=direct which you've reported as hangs

    Can you test:

    1=enabled, 2=enabled, 3=EGL

    1=enabled, 2=disabled, 3=direct

    1=enabled, 2=disabled, 3=EGL

    1=disabled, 2=N/A, 3=EGL

    As chewitt says, provide us with an example file. Ideally cut one down to a couple of minutes, confirm issue still occurs and upload it somewhere (e.g. google drive).

    If you believe it occurs with all files, then can you test a publicly available file (e.g. Big Buck Bunny and confirm you still see the issue?