Skip to content

RDKEMW-20781: Spectrum TV App lands in black screen & exits. Observing Webprocess crashed(25931591) with callstack(syscall)#192

Open
nejuma1 wants to merge 1 commit into
support/0.2.0_8.6from
feature/RDKEMW-20781
Open

RDKEMW-20781: Spectrum TV App lands in black screen & exits. Observing Webprocess crashed(25931591) with callstack(syscall)#192
nejuma1 wants to merge 1 commit into
support/0.2.0_8.6from
feature/RDKEMW-20781

Conversation

@nejuma1

@nejuma1 nejuma1 commented Jul 8, 2026

Copy link
Copy Markdown

RDKEMW-20781: Spectrum TV App lands in black screen & exits. Observing Webprocess crashed(25931591) with callstack(syscall)
Reason for change: fix gstcdmidecryptor code to prevent SIGSEGV during Stop after DRM key stall
Test steps: Refer ticket RDKEMW-20781
Priority: P1
Signed off by: nejumatn28@gmail.com

…g Webprocess crashed(25931591) with callstack(syscall) Reason for change: fix gstcdmidecryptor code to prevent SIGSEGV during Stop after DRM key stall Test steps: Refer ticket RDKEMW-20781 Priority: P1 Signed off by: nejumatn28@gmail.com
Copilot AI review requested due to automatic review settings July 8, 2026 12:05
@nejuma1
nejuma1 requested a review from a team as a code owner July 8, 2026 12:05

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR addresses a reported crash (SIGSEGV) in gstcdmidecryptor during Stop/teardown when DRM key acquisition stalls, by ensuring the decryptor’s key-wait path can unblock and by resetting per-session state during state transitions.

Changes:

  • Replace an indefinite g_cond_wait() for DRM key arrival with a bounded g_cond_wait_until() timeout in transform_ip.
  • Update teardown/state-change logic (PAUSED->READY) to reset streamReceived and signal the condition variable to unblock waiting work.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 573 to +577
if (!cdmidecryptor->streamReceived)
g_cond_wait(&cdmidecryptor->condition,
&cdmidecryptor->mutex);
{
gint64 end_time = g_get_monotonic_time() + (10 * G_TIME_SPAN_SECOND);
if (!g_cond_wait_until(&cdmidecryptor->condition, &cdmidecryptor->mutex, end_time))
{
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

Successfully merging this pull request may close these issues.

2 participants