Modify

Ticket #8744 (closed patch: fixed)

Opened 3 years ago

Last modified 15 months ago

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

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

Change History

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

comment:1 Changed 3 years ago by robertm

  • Owner changed from danielk to stuarta
  • Status changed from new to assigned

comment:2 Changed 3 years ago by danielk

  • Owner changed from stuarta to danielk
  • Priority changed from major to minor
  • Status changed from assigned to accepted
  • Milestone changed from unknown to 0.24

I'll try to look at this before 0.24.

comment:3 Changed 3 years ago by danielk

  • Milestone changed from 0.24 to 0.25

comment:4 Changed 16 months ago by Github

  • Status changed from accepted to closed
  • Resolution set to fixed

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

Branch: master Changeset: 146ee76929fe1b00fe218e9d3364fe22e0f14340

comment:5 Changed 15 months ago by Github

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

Branch: master Changeset: f30ffd4b4a9ce16d6c7bcb604e09e07a9e61f3a3

View

Add a comment

Modify Ticket

Action
as closed
The resolution will be deleted. Next status will be 'new'
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.