Opened 8 years ago

Closed 8 years ago

Last modified 8 years ago

#9757 closed Bug Report - Crash (fixed)

Backend crash while watching LiveTV

Reported by: otto@… Owned by: beirdo
Priority: minor Milestone: 0.25
Component: MythTV - General Version: Master Head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

Attached backtraces shows backend crash with latest master. This is quite repeatable and seems to be related to auto-expirer. This happens more often with local frontend watching LiveTV rather than with remote one.

I added Qt debuginfo packages so that hopefully the backtrace is even better.

Attachments (3)

be-version.txt (683 bytes) - added by otto@… 8 years ago.
mythbe.log (8.3 KB) - added by otto@… 8 years ago.
be-backtrace.txt (135.7 KB) - added by otto@… 8 years ago.

Download all attachments as: .zip

Change History (8)

Changed 8 years ago by otto@…

Attachment: be-version.txt added

Changed 8 years ago by otto@…

Attachment: mythbe.log added

Changed 8 years ago by otto@…

Attachment: be-backtrace.txt added

comment:1 Changed 8 years ago by beirdo

Owner: set to beirdo
Status: newassigned

comment:2 Changed 8 years ago by beirdo

Please try the patch at

http://www.beirdo.ca/git/mythtv/patch/?id=e294fa034afe0754aa96862997b0644a6556fe4e

and let me know if it helps. The problem is not in the ExpireThread? (which is still running), and it looks to be in the shutdown of the DeleteThread?, which I have changed in this patch.

Let me know, please.

comment:3 Changed 8 years ago by warpme@…

Gavin, I had exactly the same problem with master 20110502 (BE seg. crash after few channel changes). I applied this patch over 20110502 and do liveTV tests (10 cycles of channel changes over 14 mplexes) - no seg. Patch seems to resolve issue for me. Thx.

BTW: I want to really THANK YOU for Your MythTV contribution ! br

comment:4 Changed 8 years ago by Github

Milestone: unknown0.25
Resolution: fixed
Status: assignedclosed

Convert DeleteThread? and TruncateThread? to QRunnable

Fixes #9757.

It seems that it might be the DeleteThread? exiting poorly causing this issue. As I'd earlier found that the this->deleteLater() code structure is nasty in QThreads, this was ripe for a redo anyways. I have changed it to using a QRunnable (kinda a lightweight QThread) which actually will run in a thread from a global threadpool, and will clean up after itself. Since the TruncateThread? was nearly identical in structure, I changed it too.

Branch: master Changeset: 8ea47bcc8c71c82ed81a5e655259ccdec1bccef9

comment:5 Changed 8 years ago by Github

Convert DeleteThread? and TruncateThread? to QRunnable

Fixes #9757.

It seems that it might be the DeleteThread? exiting poorly causing this issue. As I'd earlier found that the this->deleteLater() code structure is nasty in QThreads, this was ripe for a redo anyways. I have changed it to using a QRunnable (kinda a lightweight QThread) which actually will run in a thread from a global threadpool, and will clean up after itself. Since the TruncateThread? was nearly identical in structure, I changed it too.

Branch: new-logging Changeset: 8ea47bcc8c71c82ed81a5e655259ccdec1bccef9

Note: See TracTickets for help on using tickets.