Opened 10 years ago

Closed 10 years ago

#8006 closed defect (fixed)

segfault in frontend after deleting recordings

Reported by: Paul Kendall <paul@…> Owned by: danielk
Priority: blocker Milestone: 0.23
Component: MythTV - General Version: head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

After watching live TV for a few seconds and switching channels, I then go the the Watch Recordings screen and delete all of the recordings from the Live TV group. The last recording seems to hang around and I delete it multiple times, but it still stays there on the screen. I wait for the backend to log the following

2010-02-01 16:11:06.413 GetRecordBasename found no entry for 1004 @ 2010-02-01T16:10:32                                                                                
2010-02-01 16:11:06.413 MainServer: HandleGenPreviewPixmap: Unable to find file locally, unable to make preview image.                                                 
2010-02-01 16:11:09.850 ERROR retrieving program info when trying to delete program for chanid 1004 recorded at Mon Feb 1 16:10:32 2010. Recording will NOT be deleted.

Then I exit the Watch Recordings screen on the frontend and I get the segfault.

GDB backtrace attached.

Attachments (3)

gdb.txt (29.7 KB) - added by Paul Kendall <paul@…> 10 years ago.
Backtrace from frontend while doing the actions in the description
8006-dbg-v1.patch (2.7 KB) - added by danielk 10 years ago.
Debugging patch
mythfrontend.log (19.9 KB) - added by Paul Kendall <paul@…> 10 years ago.
attached log with patch applied as requested

Download all attachments as: .zip

Change History (6)

Changed 10 years ago by Paul Kendall <paul@…>

Attachment: gdb.txt added

Backtrace from frontend while doing the actions in the description

comment:1 Changed 10 years ago by danielk

Milestone: unknown0.23
Owner: changed from Isaac Richards to danielk
Status: newassigned

Changed 10 years ago by danielk

Attachment: 8006-dbg-v1.patch added

Debugging patch

comment:2 Changed 10 years ago by danielk

Priority: minorblocker

Can you run with the attached patch and provide the mythfrontend log it produces up until the segfault?

Changed 10 years ago by Paul Kendall <paul@…>

Attachment: mythfrontend.log added

attached log with patch applied as requested

comment:3 Changed 10 years ago by danielk

Resolution: fixed
Status: assignedclosed

(In [23599]) Fixes #8006. Refs #7195. Fixes some regressions in preview generation. Most importantly this addresses the segfault. But it also removes some of the cruft in the PreviewGenerator? constructor that had built up to deal with places that called the preview generator without setting pathname as per the PreviewGenerator? documentation. This means we aren't doing the very expensive StorageGroup? search quite as many times.

This also saves the pathname after doing a StorageGroup? search in the PlaybackBoxHelper?.

There are still a number of ways left to speed up the PreviewGenerator?: For instance, using fork instead of running an external program to get fault tolerance, which will also address #7136. We also do not need to open a new command socket if we convert the backend preview generation to use a non-blocking call and just send a MythEvent? when we're done. But I wanted to limit this commit to really only fix regressions since we're in feature freeze (the pathname saving is pbbh is a bit of a stretch, but we actually did do this before in a different way).

Note: See TracTickets for help on using tickets.