Opened 13 years ago
Closed 13 years ago
Last modified 13 years ago
#9757 closed Bug Report - Crash (fixed)
Backend crash while watching LiveTV
Reported by: | 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)
Change History (8)
Changed 13 years ago by
Attachment: | be-version.txt added |
---|
Changed 13 years ago by
Attachment: | mythbe.log added |
---|
Changed 13 years ago by
Attachment: | be-backtrace.txt added |
---|
comment:1 Changed 13 years ago by
Owner: | set to beirdo |
---|---|
Status: | new → assigned |
comment:2 Changed 13 years ago by
comment:3 Changed 13 years ago by
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 13 years ago by
Milestone: | unknown → 0.25 |
---|---|
Resolution: | → fixed |
Status: | assigned → closed |
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 13 years ago by
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
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.