Posts by camelreef

    I like the ConnMan implementation.
    The manual config straight into a file could probably do with a GUI for more general use, but I personally don't mind.
    The ability to turn the VPN on and off from the LE GUI is great through, other family members can decide between geoblocking avoidance or local content without hand-holding just by flipping that graphical switch!

    hmmmm... My forced EDID loading was suddenly messing things up and killing audio.

    I've let LibreELEC deal naturally with the EDID data sent by both TV and AVR and audio has returned.

    The double whammy is that the problem that hed led me to force saved EDID files has also disappeared. When? Who knows, I haven't tried things without forced EDID in months...

    Github bug updated.

    The same issue here with LE 11 Nightly 20220607 (kernel 5.15.43). No audio on HDMI output (vc4-hdmi-0 MAI PCM i2s-hifi-0). Tried to change several Audio settings options without any positive effect.

    Test with attached Lenovo USB Soundbar works fine (both available Analog and S/PDIF audio outputs).

    As I am also experiencing an occassional screen flashing during browsing GUI menu when HDMI audio output is selected, the issue looks to be more deep and maybe the latest vc4-hdmi drivers are bad or there's a kernel issue.

    Without any hint from developers where to look / what to try to get the HDMI audio working again, I had to revert back to latest working LE 11 Nightly 20220528-7faa80c (kernel 5.15.38).

    More action about this here: https://github.com/LibreELEC/LibreELEC.tv/issues/6575

    I can add a +1 to that issue, on a 4GB RPi4, dual headed (hdmi0 to 4K TV, hdmi1 to HDMI 1.4 Receiver).

    Reverting to 20220528-7faa80c gives me the audio back.

    NO AUDIO - 20220601-0e57a30 debug log: http://ix.io/3ZbJ

    GOOD AUDIO - 20220528-7faa80c debug log: http://ix.io/3ZbO


    I have the same Pi model and revision (Raspberry Pi 4 Model B Rev 1.1) solely connected to a TV that doesn't exhibit the issue at all when using a post 20220528-7faa80c image.

    GOOD AUDIO - 20220601-0e57a30 debug log: http://ix.io/3ZbP

    GOOD AUDIO - 20220528-7faa80c debug log: http://ix.io/3ZbU

    Both Pis were on the January Bootloader EEPROM when generating those debug logs. Updating to the April Bootloader EEPROM didn't change a thing.

    I'm hoping that these will help see something. Ask for more data if needed!

    Nico

    One doesn't seem to be getting symbols for functions, so hard to say what's happening.

    The other shows openssl is repsonsible. That will be user code (not kernel) so is isn't the issue I was referring to.

    Is that the on with the watchdog addon?

    In either case I'd be tempted to (temporarily) disable that addon (and potentially others) to try to narrow it down.

    I'll explore which as what addons. But no, the machine with OpenSSL doing strange things doesn't have the watchdog.

    This is the list of addons. I'll work towards making the list as similar as possible on both ends and see what happens).

    Salon Chambre (machine with the OpenSSL issue)
    audioencoder.kodi.builtin.aac v1.0.2 installed audioencoder.kodi.builtin.aac v1.0.2 installed
    audioencoder.kodi.builtin.wma v1.0.2 installed audioencoder.kodi.builtin.wma v1.0.2 installed
    game.controller.default v1.0.20 installed game.controller.default v1.0.20 installed
    game.controller.snes v1.0.19 installed game.controller.snes v1.0.19 installed
    inputstream.adaptive v20.1.2.1 installed inputstream.adaptive v20.1.2.1 installed
    kodi.binary.global.audioengine v1.1.1 installed kodi.binary.global.audioengine v1.1.1 installed
    kodi.binary.global.filesystem v1.1.7 installed kodi.binary.global.filesystem v1.1.7 installed
    kodi.binary.global.general v1.0.5 installed kodi.binary.global.general v1.0.5 installed
    kodi.binary.global.gui v5.15.0 installed kodi.binary.global.gui v5.15.0 installed
    kodi.binary.global.main v2.0.0 installed kodi.binary.global.main v2.0.0 installed
    kodi.binary.global.network v1.0.4 installed kodi.binary.global.network v1.0.4 installed
    kodi.binary.global.tools v1.0.4 installed kodi.binary.global.tools v1.0.4 installed
    kodi.binary.instance.audiodecoder v4.0.0 installed kodi.binary.instance.audiodecoder v4.0.0 installed
    kodi.binary.instance.audioencoder v3.0.0 installed kodi.binary.instance.audioencoder v3.0.0 installed
    kodi.binary.instance.game v3.0.0 installed kodi.binary.instance.game v3.0.0 installed
    kodi.binary.instance.imagedecoder v3.0.0 installed kodi.binary.instance.imagedecoder v3.0.0 installed
    kodi.binary.instance.inputstream v3.0.2 installed kodi.binary.instance.inputstream v3.0.2 installed
    kodi.binary.instance.peripheral v2.0.0 installed kodi.binary.instance.peripheral v2.0.0 installed
    kodi.binary.instance.pvr v8.0.1 installed kodi.binary.instance.pvr v8.0.1 installed
    kodi.binary.instance.screensaver v2.2.0 installed kodi.binary.instance.screensaver v2.2.0 installed
    kodi.binary.instance.vfs v3.0.1 installed kodi.binary.instance.vfs v3.0.1 installed
    kodi.binary.instance.videocodec v2.0.2 installed kodi.binary.instance.videocodec v2.0.2 installed
    kodi.binary.instance.visualization v3.0.0 installed kodi.binary.instance.visualization v3.0.0 installed
    kodi.resource v1.0.0 installed kodi.resource v1.0.0 installed
    metadata.album.universal v3.1.7 installed metadata.album.universal v3.1.7 installed
    metadata.artists.universal v4.3.7 installed metadata.artists.universal v4.3.7 installed
    metadata.common.allmusic.com v3.2.2 installed metadata.common.allmusic.com v3.2.2 installed
    metadata.common.fanart.tv v3.6.4 installed metadata.common.fanart.tv v3.6.4 installed
    metadata.common.imdb.com v3.2.6 installed metadata.common.imdb.com v3.2.6 installed
    metadata.common.musicbrainz.org v2.2.4 installed metadata.common.musicbrainz.org v2.2.4 installed
    metadata.common.theaudiodb.com v2.0.3 installed metadata.common.theaudiodb.com v2.0.3 installed
    metadata.common.themoviedb.org v3.2.18 installed metadata.common.themoviedb.org v3.2.18 installed
    metadata.generic.albums v1.0.14 installed metadata.generic.albums v1.0.14 installed
    metadata.generic.artists v1.0.14 installed metadata.generic.artists v1.0.14 installed
    metadata.local v1.0.1 installed metadata.local v1.0.1 installed
    metadata.themoviedb.org v5.2.6 installed metadata.themoviedb.org v5.2.6 installed
    metadata.themoviedb.org.python v1.6.2+matrix.1 installed metadata.themoviedb.org.python v1.6.2+matrix.1 installed
    metadata.tvshows.themoviedb.org v3.5.14 installed metadata.tvshows.themoviedb.org v3.5.14 installed
    metadata.tvshows.themoviedb.org.python v1.5.0 installed metadata.tvshows.themoviedb.org.python v1.5.0 installed
    peripheral.joystick v20.1.1 installed peripheral.joystick v20.1.1 installed
    plugin.video.arteplussept v1.1.1 installed
    plugin.video.francetv v2.0.1+matrix.1 installed plugin.video.francetv v2.0.1+matrix.1 installed
    plugin.video.iplayerwww v4.0.2 installed plugin.video.iplayerwww v4.0.2 installed
    plugin.video.tubed v1.0.5 installed
    plugin.video.youtube v6.8.18+matrix.1 installed plugin.video.youtube v6.8.18+matrix.1 installed
    pvr.hts v20.2.2.1 installed pvr.hts v20.2.2.1 installed
    repository.kodi.game v1.0.0 installed repository.kodi.game v1.0.0 installed
    repository.libreelec.tv v10.80.5 installed repository.libreelec.tv v10.80.5 installed
    repository.xbmc.org v3.3.1 installed repository.xbmc.org v3.3.1 installed
    resource.images.catchuptvandmore v1.0.13 installed
    (note: very legal thing for French TV channels)
    resource.images.iplayerwww v1.0.0 installed resource.images.iplayerwww v1.0.0 installed
    resource.images.weathericons.default v1.1.9 installed resource.images.weathericons.default v1.1.9 installed
    resource.language.en_gb v2.0.2 installed resource.language.en_gb v2.0.2 installed
    resource.uisounds.kodi v1.0.1 installed resource.uisounds.kodi v1.0.1 installed
    screensaver.kaster v1.3.6+matrix.1 installed screensaver.kaster v1.3.6+matrix.1 installed
    screensaver.xbmc.builtin.black v1.0.34 installed screensaver.xbmc.builtin.black v1.0.34 installed
    screensaver.xbmc.builtin.dim v1.0.66 installed screensaver.xbmc.builtin.dim v1.0.66 installed
    script.favourites v8.1.2 installed
    script.globalsearch v9.0.7 installed
    script.module.addon.signals v0.0.6+matrix.1 installed
    script.module.arrow v1.0.3.1 installed
    script.module.beautifulsoup4 v4.9.3+matrix.1 installed script.module.beautifulsoup4 v4.9.3+matrix.1 installed
    script.module.certifi v2020.12.05+matrix.1 installed script.module.certifi v2020.12.05+matrix.1 installed
    script.module.chardet v4.0.0+matrix.1 installed script.module.chardet v4.0.0+matrix.1 installed
    script.module.dateutil v2.8.2 installed script.module.dateutil v2.8.2 installed
    script.module.future v0.18.2+matrix.1 installed
    script.module.idna v2.10.0+matrix.1 installed script.module.idna v2.10.0+matrix.1 installed
    script.module.inputstreamhelper v0.5.10+matrix.1 installed script.module.inputstreamhelper v0.5.10+matrix.1 installed
    script.module.kodi-six v0.1.3.1 installed script.module.six v1.15.0+matrix.1 installed
    script.module.pathtools v0.1.2+matrix.2 installed
    script.module.pil v5.1.0 installed script.module.pil v5.1.0 installed
    script.module.pycryptodome v3.4.3 installed script.module.pycryptodome v3.4.3 installed
    script.module.pyxbmct v1.3.1+matrix.1 installed
    script.module.requests v2.25.1+matrix.1 installed script.module.requests v2.25.1+matrix.1 installed
    script.module.simpleeval v0.9.10 installed
    script.module.simpleplugin3 v3.0.6+matrix.1 installed
    script.module.six v1.15.0+matrix.1 installed
    script.module.soupsieve v2.1.0+matrix.1 installed script.module.soupsieve v2.1.0+matrix.1 installed
    script.module.tubed.api v1.0.12 installed
    script.module.typing_extensions v3.7.4.3 installed
    script.module.unidecode v1.1.1+matrix.2 installed
    script.module.urllib3 v1.26.4+matrix.1 installed script.module.urllib3 v1.26.4+matrix.1 installed
    script.module.watchdog v0.10.2+matrix.1 installed
    script.module.xbmcswift2 v19.0.7 installed
    script.module.youtube.dl v21.303.0+matrix.1 installed
    script.openweathermap.maps v1.0.6 installed
    script.skinshortcuts v2.0.1 installed
    script.xbmc.lcdproc v4.0.0 installed
    service.fanshim v1.0.0 installed
    service.lcdd v10.80.5.108 installed
    service.librarywatchdog v1.1.2 installed
    service.libreelec.settings v11.0 installed service.libreelec.settings v11.0 installed
    skin.estuary v3.0.10 installed skin.estuary v3.0.10 installed
    skin.quartz v5.19.0 installed
    virtual.rpi-tools v10.80.5.111 installed
    script.openweathermap.maps v1.0.6 installed
    weather.gismeteo v0.6.3+matrix.1 installed
    weather.multi v0.0.13 installed weather.multi v0.0.13 installed
    webinterface.default v19.x-2.4.8 installed webinterface.default v19.x-2.4.8 installed
    xbmc.addon v19.90.101 installed xbmc.addon v19.90.101 installed
    xbmc.core v0.1.0 installed xbmc.core v0.1.0 installed
    xbmc.gui v5.16.0 installed xbmc.gui v5.16.0 installed
    xbmc.json v12.10.1 installed xbmc.json v12.10.1 installed
    xbmc.metadata v2.1.0 installed xbmc.metadata v2.1.0 installed
    xbmc.python v3.0.1 installed xbmc.python v3.0.1 installed
    xbmc.webinterface v1.0.0 installed xbmc.webinterface v1.0.0 installed

    I'm filing this on the bugs board, but it's really a placeholder.

    So, here is the problem I am experiencing: I have noticed that the Kodi interface slows down quite dramatically after a few hours of uptime on both of my RPi 4.

    Data points:

    • both machines are RPi 4 4 GB
    • One Rpi is dual headed HDMI, HDMI0 to 4K/HDR TV for video, HDMI1 to older receiver for audio
    • The other RPi is single HDMI to an older 720p TV
    • Both wired to the network
    • Both running the latest LE11 nightlies as they get posted
    • Both machines point to a shared MySQL DB for Kodi
    • Both run the tvheadend add-on
    • One runs the library watchdog service
    • A restart of the Kodi service or a reboot restores normal GUI responsiveness
    • It's only the GUI that gets slow. Playback of any type of video is fine
    • No apparent memory leak
    • On one Pi (running the watchdog addon) I've noticed that the kodi process regularly gets stuck hogging a core (a restart of the kodi service fixes that). But the other Pi exhibits nothing like that. Both experience the same GUI slow downs, so I would say that the CPU usage is unrelated. Normally CPU usage is very low, and still I get the GUI slow down after some time.
    • GUI slowdowns are probably not linked to usage. They happen when the systems have been left alone and idle, with the TVs off for a long time.

    I can run an hours long debug log and post it, but I'm afraid that I would be providing a massive haystack. I'm not refusing to do it, if told to take that path anyway.

    Is there anything more targeted that I could monitor and log that would be more useful/efficient for you guys?

    Looking at the R&D we have now undertaken - I think the sentence could be written something like:

    using samba to serve files from kernel ntfs3 …… whereas using samba to serve files from ext4 ….. In earlier kernel versions …. using ntfs-3g, samba was able to serve files from the ntfs external drive … (without issue) …..

    I’m not sure that we have validated anything else yet? What does

    Code
    time dd if=file.mov of=/dev/null bs=4m 

    (or similar) show from a performance perspective? From each of the file system types?

    Your summary is a good one. However, I would say that the ability to serve files using Samba is only a consequence of the root cause, i.e. the difference of disk I/O performance provided by ext4, ntfs3 and ntfs-3g mounted filesystems, at least in my context.

    The clear highlight is that I've first experienced the issue while staging a kit in January 2022, when I had a copycat production system having no issue, as it was in a software state predating December 15 2021, when the kernel update including the switch from ntfs-3g to ntfs3 arrived. Updating the software to a version including that switch also put the production system in a situation where the issue manifested itself.


    On to some benchmarking data...

    This is on the LE machine, no Samba involved, cache dropped, repeatable numbers:

    WD Element 2.5" external spindle, USB 3.0, 5 TB, NTFS formatted partition, ntfs3 kernel driver, RPi 4, LE 11 nightly-20220303-70c3c5d

    Code
    kodiplayer:/var/media/content # sync && echo 3 > /proc/sys/vm/drop_caches && dd if=/dev/zero of=testfile bs=128k count=16k && sync && echo 3 > /proc/sys/vm/drop_caches && dd if=testfile of=/dev/null bs=128k && rm testfile
    16384+0 records in
    16384+0 records out
    2147483648 bytes (2.0GB) copied, 186.714454 seconds, 11.0MB/s
    16384+0 records in
    16384+0 records out
    2147483648 bytes (2.0GB) copied, 274.038229 seconds, 7.5MB/s

    WD Element 2.5" external spindle, USB 3.0, 5 TB, ext4 formatted partition, RPi 4, LE 11 nightly-20220303-70c3c5d

    Code
    kodiplayer:/var/media/content # sync && echo 3 > /proc/sys/vm/drop_caches && dd if=/dev/zero of=testfile bs=128k count=32k && sync && echo 3 > /proc/sys/vm/drop_caches && dd if=testfile of=/dev/null bs=128k && rm testfile
    32768+0 records in
    32768+0 records out
    4294967296 bytes (4.0GB) copied, 40.273163 seconds, 101.7MB/s
    32768+0 records in
    32768+0 records out
    4294967296 bytes (4.0GB) copied, 42.869481 seconds, 95.5MB/s

    I should have done some tests over Samba before, using the NTFS filesystem, but it stupidly did not occur to me, sorry. However, it would most probably have embarrassed Samba, which would have defaulted as explained by the samba guys, and no meaningful data would have been gathered.

    If the aio write size setting does not help, the next step will be "sync always = yes" and "strict sync = yes". We need to avoid that the kernel accumulates unwritten data in RAM, which can lead to these large timeouts that Samba has no control over. If you do the "sync always = yes", my hope is that the disk slowness is smoothed out over the time of all writes and is not batched when the kernel decides that it's enough to flush everything to the very slow disk.

    I ended up ignoring the Samba options, preferring to fix the root cause, bad disk I/O, instead of adapting Samba to it.

    Here is a benchmark over Samba, cache dropped, repeatable numbers. This is the current working solution, all is working well, disk I/O has enough performance, Samba is happy, the services higher up are happy:

    RPi 3B+, Samba mount with default system options, up-to-date DietPi <-> WD Element 2.5" external spindle, USB 3.0, 5 TB, ext4 formatted partition, Samba share with default system options, RPi 4, LE 11 nightly-20220303-70c3c5d

    Code
    root@grabber:/mnt/content# sync && echo 3 > /proc/sys/vm/drop_caches && dd if=/dev/zero of=testfile bs=128k count=16k && sync && echo 3 > /proc/sys/vm/drop_caches && dd if=testfile of=/dev/null bs=128k && rm testfile
    16384+0 records in
    16384+0 records out
    2147483648 bytes (2.1 GB, 2.0 GiB) copied, 64.9038 s, 33.1 MB/s
    16384+0 records in
    16384+0 records out
    2147483648 bytes (2.1 GB, 2.0 GiB) copied, 74.991 s, 28.6 MB/s

    Does this help?

    isn't it already done by moving to kernel 5.15 ?

    https://www.phoronix.com/scan.php?page=…-For-Linux-5.15

    It has been done on Dec. 15. No need to go outside, I've already provided the link to the LE PR above.

    Clearly ntfs3 is not that great for me. It's either because of my context, or because there is an issue in its current implementation in LE, as ntfs3, a kernel driver, is supposed to provide better performance than the older ntfs-3g, a user space driver.