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


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 stuarta
  • Status changed from new to assigned

comment:2 Changed 7 years ago by danielk

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

I'll try to look at this before 0.24.

comment:3 Changed 7 years ago by danielk

  • Milestone changed from 0.24 to 0.25

comment:4 Changed 6 years ago by Github

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

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

Add Comment

Modify Ticket

as closed The owner will remain danielk.
The resolution will be deleted. Next status will be 'new'.

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

Note: See TracTickets for help on using tickets.