Opened 16 years ago

Closed 16 years ago

Last modified 16 years ago

#8606 closed defect (invalid)

Backend deadlocked after database error when updating program listings from EIT

Reported by: malcolm.parsons@… Owned by: Isaac Richards
Priority: minor Milestone: unknown
Component: MythTV - General Version: 0.23-fixes
Severity: high Keywords:
Cc: Ticket locked: no

Description

I'm using MythTV 0.23.0+fixes25119-0ubuntu0+mythbuntu2

I've been seeing random backend deadlocks, where the frontend lists no recorded programmes, the backend doesn't record anything, and the "Upcoming Recordings" and "Backend Status" pages in MythWeb don't load.

Looking at the logs, there is a database error in the hour before the deadlock is noticed:

2010-06-25 12:55:04.036 DB Error (change_program): Query was: UPDATE program SET starttime = ?, endtime = ? WHERE chanid = ? AND starttime = ? Bindings were: :CHANID=3003, :NEWEND=2010-06-29T02:45:00, :NEWSTART=2010-06-29T01:08:00, :OLDSTART=2010-06-29T00:35:00 Driver error was [2/1062]: QMYSQL3: Unable to execute statement Database error was: Duplicate entry '3003-2010-06-29 01:08:00-0' for key 'PRIMARY'

Is the EIT collection thread leaving a mutex locked when this error happens?

Attachments (3)

mythbackend.gdb (37.3 KB ) - added by malcolm.parsons@… 16 years ago.
Thread backtraces
mythbackend2.gdb (35.7 KB ) - added by malcolm.parsons@… 16 years ago.
Backtraces from another deadlock
mythbackend.log (11.9 KB ) - added by malcolm.parsons@… 16 years ago.
Backend log

Download all attachments as: .zip

Change History (9)

by malcolm.parsons@…, 16 years ago

Attachment: mythbackend.gdb added

Thread backtraces

comment:1 by koeb@…, 16 years ago

I've got a similar symptoms the only difference is the log output.

2010-06-23 14:58:34.144 DB Error (Looking up chanID): Query was: SELECT chanid, useonairguide FROM channel, dtv_multiplex WHERE serviceid = :SERVICEID AND networkid = :NETWORKID AND transportid = :TRANSPORTID AND channel.mplexid = dtv_multiplex.mplexid AND channel.sourceid = :SOURCEID Bindings were: :NETWORKID=65024, :SERVICEID=2960, :SOURCEID=1, :TRANSPORTID=1020 Driver error was [2/2006]: QMYSQL: Unable to execute query Database error was: MySQL server has gone away

by malcolm.parsons@…, 16 years ago

Attachment: mythbackend2.gdb added

Backtraces from another deadlock

comment:2 by malcolm.parsons@…, 16 years ago

In today's hang:

Thread 27 holds eventMapLock and is blocked on a query prepare. Thread 2 holds _listener_lock and is trying to get eventMapLock. Thread 28 is trying to get _listener_lock.

by malcolm.parsons@…, 16 years ago

Attachment: mythbackend.log added

Backend log

comment:3 by malcolm.parsons@…, 16 years ago

#mythtv-users asked for the mysql processlist when the backend is deadlocked.

mysql> show processlist;
+------+--------+-----------+-------------+---------+-------+-------+------------------+
| Id   | User   | Host      | db          | Command | Time  | State | Info             |
+------+--------+-----------+-------------+---------+-------+-------+------------------+
|    9 | mythtv | localhost | mythconverg | Sleep   | 13537 |       | NULL             |
|   13 | mythtv | localhost | mythconverg | Sleep   |    69 |       | NULL             |
|   15 | mythtv | localhost | mythconverg | Sleep   |     9 |       | NULL             |
|  124 | mythtv | localhost | mythconverg | Sleep   |  2401 |       | NULL             |
|  201 | mythtv | localhost | mythconverg | Sleep   |   129 |       | NULL             |
|  852 | mythtv | localhost | mythconverg | Sleep   | 13060 |       | NULL             |
| 2155 | mythtv | localhost | mythconverg | Sleep   |  3058 |       | NULL             |
| 2156 | mythtv | localhost | mythconverg | Sleep   |    59 |       | NULL             |
| 2185 | mythtv | localhost | NULL        | Query   |     0 | NULL  | show processlist |
+------+--------+-----------+-------------+---------+-------+-------+------------------+
9 rows in set (0.00 sec)

comment:4 by malcolm.parsons@…, 16 years ago

My backend computer has died, so I can't provide any more debugging information.

comment:5 by danielk, 16 years ago

Resolution: invalid
Status: newclosed

invalid -- hardware failure.

in reply to:  description comment:6 by spidersddd@…, 16 years ago

I am having very similar problems as this my mythweb stops responding and I have had several hard locks on my frontend that require a reboot. If there is anything I can do to help get this resolved am more then happy to do it.

Troy K. email: spidersddd@…

Replying to malcolm.parsons@…:

I'm using MythTV 0.23.0+fixes25119-0ubuntu0+mythbuntu2

I've been seeing random backend deadlocks, where the frontend lists no recorded programmes, the backend doesn't record anything, and the "Upcoming Recordings" and "Backend Status" pages in MythWeb don't load.

Looking at the logs, there is a database error in the hour before the deadlock is noticed:

2010-06-25 12:55:04.036 DB Error (change_program): Query was: UPDATE program SET starttime = ?, endtime = ? WHERE chanid = ? AND starttime = ? Bindings were: :CHANID=3003, :NEWEND=2010-06-29T02:45:00, :NEWSTART=2010-06-29T01:08:00, :OLDSTART=2010-06-29T00:35:00 Driver error was [2/1062]: QMYSQL3: Unable to execute statement Database error was: Duplicate entry '3003-2010-06-29 01:08:00-0' for key 'PRIMARY'

Is the EIT collection thread leaving a mutex locked when this error happens?

Note: See TracTickets for help on using tickets.