Mailing List Archive

Ticket #10647: Scheduler deadlock during Live TV
#10647: Scheduler deadlock during Live TV
--------------------------------------------+-------------------------
Reporter: stichnot | Owner: gigem
Type: Bug Report - Hang/Deadlock | Status: new
Priority: minor | Milestone: unknown
Component: MythTV - Scheduling | Version: Master Head
Severity: medium | Keywords:
Ticket locked: 0 |
--------------------------------------------+-------------------------
While watching live TV, got the popup indicating that the backend wanted
the tuner for a scheduled recording. I clicked "OK" to let the scheduled
program record. This resulted in an apparent deadlock in the scheduler
code. (To be precise, the scheduler wanted a different tuner but in the
same input group as the Live TV tuner.) The deadlock manifested itself as
mythfrontend and mythweb connection attempts hanging.

I attached gdb to the mythbackend process and got a stack trace.

Also including some backend logs with "-v most --loglevel debug". To make
the size manageable, I filtered out lines containing "TFW" or "JobQueue",
and I removed lines prior to 1 minute before the recording. (But I kept
the first 100 lines to show version and startup information.)

--
Ticket URL: <http://code.mythtv.org/trac/ticket/10647>
MythTV <http://code.mythtv.org/trac>
MythTV Media Center
_______________________________________________
mythtv-commits mailing list
mythtv-commits@mythtv.org
http://www.mythtv.org/mailman/listinfo/mythtv-commits
Re: Ticket #10647: Scheduler deadlock during Live TV [ In reply to ]
#10647: Scheduler deadlock during Live TV
----------------------------------------+-----------------------------
Reporter: stichnot | Owner: gigem
Type: Bug Report - Hang/Deadlock | Status: new
Priority: minor | Milestone: unknown
Component: MythTV - Scheduling | Version: Master Head
Severity: medium | Resolution:
Keywords: | Ticket locked: 0
----------------------------------------+-----------------------------

Comment (by stuartm):

Can you test the following patch? http://pastebin.ca/2162527

--
Ticket URL: <http://code.mythtv.org/trac/ticket/10647#comment:1>
MythTV <http://code.mythtv.org/trac>
MythTV Media Center
_______________________________________________
mythtv-commits mailing list
mythtv-commits@mythtv.org
http://www.mythtv.org/mailman/listinfo/mythtv-commits
Re: Ticket #10647: Scheduler deadlock during Live TV [ In reply to ]
#10647: Scheduler deadlock during Live TV
----------------------------------------+-----------------------------
Reporter: stichnot | Owner: gigem
Type: Bug Report - Hang/Deadlock | Status: closed
Priority: minor | Milestone: unknown
Component: MythTV - Scheduling | Version: Master Head
Severity: medium | Resolution: fixed
Keywords: | Ticket locked: 0
----------------------------------------+-----------------------------
Changes (by David Engel <dengel@…>):

* status: new => closed
* resolution: => fixed


Comment:

In [changeset:ca273324961b95e300890ed40e833249b5460bd8/mythtv]:
{{{
#!CommitTicketReference repository="mythtv"
revision="ca273324961b95e300890ed40e833249b5460bd8"
Hopefully remove more scheduler/recorder deadlocks.

Change the scheduler to unlock schedLock when calling the recorder
synchronously. If the recorder happens to be calling the scheduler at
the same time, this allows the recorder's call to grab the lock as
needed.

Fixes #10647, #10770 and #10771 .
}}}

--
Ticket URL: <http://code.mythtv.org/trac/ticket/10647#comment:2>
MythTV <http://code.mythtv.org/trac>
MythTV Media Center
_______________________________________________
mythtv-commits mailing list
mythtv-commits@mythtv.org
http://www.mythtv.org/mailman/listinfo/mythtv-commits
Re: Ticket #10647: Scheduler deadlock during Live TV [ In reply to ]
#10647: Scheduler deadlock during Live TV
----------------------------------------+-----------------------------
Reporter: stichnot | Owner: gigem
Type: Bug Report - Hang/Deadlock | Status: closed
Priority: minor | Milestone: 0.26
Component: MythTV - Scheduling | Version: Master Head
Severity: medium | Resolution: fixed
Keywords: | Ticket locked: 0
----------------------------------------+-----------------------------
Changes (by gigem):

* milestone: unknown => 0.26


--
Ticket URL: <http://code.mythtv.org/trac/ticket/10647#comment:3>
MythTV <http://code.mythtv.org/trac>
MythTV Media Center
_______________________________________________
mythtv-commits mailing list
mythtv-commits@mythtv.org
http://www.mythtv.org/mailman/listinfo/mythtv-commits
Re: Ticket #10647: Scheduler deadlock during Live TV [ In reply to ]
#10647: Scheduler deadlock during Live TV
----------------------------------------+-----------------------------
Reporter: stichnot | Owner: gigem
Type: Bug Report - Hang/Deadlock | Status: closed
Priority: minor | Milestone: 0.26
Component: MythTV - Scheduling | Version: Master Head
Severity: medium | Resolution: fixed
Keywords: | Ticket locked: 0
----------------------------------------+-----------------------------

Comment (by David Engel <dengel@…>):

In [changeset:4386e90e25ed40948bb208e8a325a8b072411e88/mythtv]:
{{{
#!CommitTicketReference repository="mythtv"
revision="4386e90e25ed40948bb208e8a325a8b072411e88"
Hopefully remove more scheduler/recorder deadlocks.

Change the scheduler to unlock schedLock when calling the recorder
synchronously. If the recorder happens to be calling the scheduler at
the same time, this allows the recorder's call to grab the lock as
needed.

Refs #10647, #10770 and #10771 .
(cherry picked from commit ca273324961b95e300890ed40e833249b5460bd8)

Conflicts:
mythtv/programs/mythbackend/scheduler.cpp
}}}

--
Ticket URL: <http://code.mythtv.org/trac/ticket/10647#comment:4>
MythTV <http://code.mythtv.org/trac>
MythTV Media Center
_______________________________________________
mythtv-commits mailing list
mythtv-commits@mythtv.org
http://www.mythtv.org/mailman/listinfo/mythtv-commits
Re: Ticket #10647: Scheduler deadlock during Live TV [ In reply to ]
#10647: Scheduler deadlock during Live TV
----------------------------------------+-----------------------------
Reporter: stichnot | Owner: gigem
Type: Bug Report - Hang/Deadlock | Status: closed
Priority: minor | Milestone: 0.25.2
Component: MythTV - Scheduling | Version: Master Head
Severity: medium | Resolution: fixed
Keywords: | Ticket locked: 0
----------------------------------------+-----------------------------
Changes (by kenni):

* milestone: 0.26 => 0.25.2


--
Ticket URL: <http://code.mythtv.org/trac/ticket/10647#comment:5>
MythTV <http://code.mythtv.org/trac>
MythTV Media Center
_______________________________________________
mythtv-commits mailing list
mythtv-commits@mythtv.org
http://www.mythtv.org/mailman/listinfo/mythtv-commits