Opened 8 years ago

Closed 6 years ago

Last modified 6 years ago

#8744 closed patch (fixed)

Mutex protect ChannelScanSM - fix crash/data corruption

Reported by: Rune Petersen <rune@…> Owned by: danielk
Priority: minor Milestone: 0.25
Component: MythTV - Channel Scanner Version: Master Head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

I found this issue while verifying the #8737 fix.

The members in ChannelScanSM are accessed by 3 threads:

1) UI thread 2) ChannelScanSM's own thread 3) DVB thread (via listeners)

The corruption happens because both the ChannelScanSM thread and the DVB thread modifies the following members ts_scanned, extend_transports, currentEncryptionStatus, and currentEncryptionStatusChecked.

will attach a patch that will fix the crash/data corruption, but a proper fix would be to cleanup the code and some fine-grained locking added.

and this issue also exists for 0.23-fixes.

Attachments (1)

add_mutex_to_ChannelScannerSM.patch (3.6 KB) - added by Rune Petersen <rune@…> 8 years ago.

Download all attachments as: .zip

Change History (6)

Changed 8 years ago by Rune Petersen <rune@…>

comment:1 Changed 8 years ago by robertm

Owner: changed from danielk to Stuart Auchterlonie
Status: newassigned

comment:2 Changed 8 years ago by danielk

Milestone: unknown0.24
Owner: changed from Stuart Auchterlonie to danielk
Priority: majorminor
Status: assignedaccepted

I'll try to look at this before 0.24.

comment:3 Changed 8 years ago by danielk

Milestone: 0.240.25

comment:4 Changed 6 years ago by Github

Resolution: fixed
Status: acceptedclosed

Fixes #8744. Fixes crash in DVB-x channel scanning.

Branch: master Changeset: 146ee76929fe1b00fe218e9d3364fe22e0f14340

comment:5 Changed 6 years ago by Github

Fixes #10423. Refs #8744. Fixes A->B,B->A locking issue introduced in [146ee7692]

Branch: master Changeset: f30ffd4b4a9ce16d6c7bcb604e09e07a9e61f3a3

Note: See TracTickets for help on using tickets.