Skip to content

[Bug] inputstream.adaptive 21.5.25 crashes (SIGSEGV) on HLS live discontinuity – "Period of discontinuity 1 not found" (Paramount+ live, NVIDIA Shield) #2136

Open

Description

@MaxBaxDix

Describe the problem

Environment

Device: NVIDIA Shield TV 2017 (darcy), Android TV 11, firmware 9.x (build RQ1A.210105.003, security patch 2025-09-05), arm64
Kodi 21.3 (Omega), Android build
inputstream.adaptive 21.5.25
script.module.slyguy 0.87.6 / slyguy.paramount.plus 0.9.21
Widevine L1 (System ID 32981), MediaCodec (Surface) enabled, "Adjust display refresh rate" = Off
What happens Playing a Paramount+ live channel (Serie A / English Football League) works, but at every stream discontinuity (ad break start/end, studio/highlights inserts):

inputstream.adaptive opens new streams (1001 → 2001 → 3001…) and logs OnSegmentChanged: Cannot get the stream sample reader.
Kodi fails to reopen the video decoder: CDVDVideoCodecAndroidMediaCodec::Open - InstanceGuard locked → video freezes for ~6–8 s while audio continues (sometimes audio is muted for resync: large audio sync error ~6000 ms).
Sooner or later, on returning from an ad break, inputstream.adaptive logs ParseChildManifest: Period of discontinuity 1 not found, attempt to advance to the next and ~10 ms later the whole Kodi process crashes with SIGSEGV inside libinputstream.adaptive.so.
Reproducibility Every live match. Three identical crashes recorded (2026-10-31 19:58, 2026-11-07 18:53:37, 2026-11-07 19:04:22), all with the same backtrace. The last one happened ~4 minutes after a fresh device reboot, with quality limited to 1920x1080 in SlyGuy (Ignore Display Resolution = No) and no other activity, so it does not look memory- or setting-related.

Sanitized log excerpt attached (kodi-log-excerpt.txt; URLs and account parameters removed). Happy to provide a debug log if needed.

Possible fix

No response

Steps to reproduce

No response

Debug log

Backtrace (identical in all three crashes)

signal 6 (SIGABRT), Abort message: 'exiting due to SIG_DFL handler for signal 11'
#00 pc 000000000004e2cc /apex/com.android.runtime/lib64/bionic/libc.so (abort+164)
#1 pc 000000000000506c /system/bin/app_process64 (art::SignalChain::Handler(int, siginfo*, void*)+1112)
#2 pc 0000000000000690 [vdso] (__kernel_rt_sigreturn)
#3 pc 0000000000136144 /data/data/org.xbmc.kodi/cache/lib/libinputstream.adaptive.so
#4 pc 0000000000133f5c /data/data/org.xbmc.kodi/cache/lib/libinputstream.adaptive.so
#5 pc 0000000000138b64 /data/data/org.xbmc.kodi/cache/lib/libinputstream.adaptive.so
#6 pc 0000000000112b20 /data/data/org.xbmc.kodi/cache/lib/libinputstream.adaptive.so
#7 pc 0000000000114f40 /data/data/org.xbmc.kodi/cache/lib/libinputstream.adaptive.so
#8 pc 00000000000afd4c /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64)
19:00:25.617 VideoPlayer::OpenFile: plugin://slyguy.paramount.plus/?_=play_channel&_play=1&slug=serie-a&_is_live=1

Key log lines (last crash)

19:01:23.782 error CDVDVideoCodecAndroidMediaCodec::Open - InstanceGuard locked
19:02:26.057 Opening stream: 2001 / OnSegmentChanged: Cannot get the stream sample reader
19:02:27.777 error CDVDVideoCodecAndroidMediaCodec::Open - InstanceGuard locked
19:03:50.595 Opening stream: 3001
19:03:51.886 error CDVDVideoCodecAndroidMediaCodec::Open - InstanceGuard locked
19:04:22.336 error AddOnLog: inputstream.adaptive: ParseChildManifest: Period of discontinuity 1 not found, attempt to advance to the next
19:04:22 -> crash (SIGSEGV in libinputstream.adaptive.so)

Stream manifest file(s)

No response

Additional info

No response

Operating system(s)

Android

Operating system version(s)

No response

InputStream Adaptive version(s)

21.5.25.

Kodi version(s)

21.3 (Omega)

Activity

  1. added
    Triage: Needed(managed by bot) issue that was just created and needs someone looking at it
    on Nov 7, 2026
  2. MaxBaxDix commented on Nov 7, 2026

    @MaxBaxDix
    Author
  3. Porozhniakov commented on Nov 10, 2026

    @Porozhniakov

    Another data point on a different platform. It's the same failure at HLS live discontinuities, but I get a permanent stall instead of a crash.

    Environment: Raspberry Pi 4, Raspberry Pi OS trixie (arm64), Kodi 21.3, plugin.video.youtube 7.4.4 (YouTube live, adaptive HLS, H.264 + AAC). Reproduced with inputstream.adaptive 21.5.9 and 21.5.16 (Debian packages).

    What happens: playback is fine until the player reaches a discontinuity. inputstream.adaptive then opens the next period's streams and playback stops for good. Audio reports "stream stalled" and the video doesn't move. Restarting the stream doesn't help, because it stalls again as soon as it reaches the same discontinuity.

    Opening stream: 2006 source: 256
    AddOnLog: inputstream.adaptive: OnSegmentChanged: Cannot get the stream sample reader
    Opening stream: 2007 source: 256
    CVideoPlayerAudio::Process - stream stalled
    

    With 21.5.16, after restarting the stream: playback starts at about 13:41 with a 16:40 window, the window grows to 30:55 when the second period appears, and the playback time stops at 14:04 and stays there.

    Thread stacks during the stall (21.5.16 with debug symbols):

    • VideoPlayer: CVideoPlayer::Process() → CVideoPlayer::ReadPacket() → CDVDDemuxClient::Read(), so no packets come from the inputstream
    • both AdaptiveStream::worker threads are idle at src/common/AdaptiveStream.cpp:361, waiting for download requests
    • AdaptiveTree::TreeUpdateThread::Worker is waiting normally (src/common/AdaptiveTree.cpp:287)

    So after the period switch nothing asks for the next period's segments, and the demuxer just keeps getting no data. In an earlier stall with 21.5.9, the video thread was also stuck in CRenderManager::WaitForBuffer() from CVideoPlayerVideo::OutputPicture().

    The same live stream played as MPEG-DASH (3 periods in the MPD) went through period changes with no problems.

    I can provide full logs or test a patch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Triage: Needed(managed by bot) issue that was just created and needs someone looking at it

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions