Opened 11 years ago

Closed 11 years ago

#5766 closed defect (invalid)

Backend deadlock, possibly QObject::startTimer related

Reported by: Roo Owned by: Isaac Richards
Priority: minor Milestone: unknown
Component: mythtv Version: head
Severity: medium Keywords: QObject::startTimer deadlock
Cc: Ticket locked: no

Description

I have experienced a couple of lockups, the problem happened overnight and I do not believe there were any recordings underway.

When I discovered the problem it was 6 hours after the last log entry. So it seems that once the problem occurred there was no more logging.

I straced the running GDB process and have attached that, it appears to be stuck in a loop that may be timer related.

Please include all output in bug reports.
MythTV Version   : 18188
MythTV Branch    : trunk
Library API      : 0.22.20080823-1
Network Protocol : 40
QT Version       : 4.3.2
Options compiled in:
 linux profile using_oss using_alsa using_backend using_dvb using_frontend using_hdpvr using_libfftw3 using_lirc using_opengl_video using_opengl_vsync using_v4l using_x11 using_xrandr using_xv using_bindings_perl using_bindings_python using_opengl using_ffmpeg_threads

Attachments (4)

strace.txt (3.5 KB) - added by Roo 11 years ago.
gdb.txt (36.4 KB) - added by Roo 11 years ago.
mythbackend.log (2.2 KB) - added by Roo 11 years ago.
filtered_mythbackend.log (1.6 KB) - added by Roo 11 years ago.
grep -B5 -A2 'QObject::startTimer' mythbackend.log

Download all attachments as: .zip

Change History (10)

Changed 11 years ago by Roo

Attachment: strace.txt added

Changed 11 years ago by Roo

Attachment: gdb.txt added

Changed 11 years ago by Roo

Attachment: mythbackend.log added

Changed 11 years ago by Roo

Attachment: filtered_mythbackend.log added

grep -B5 -A2 'QObject::startTimer' mythbackend.log

comment:1 Changed 11 years ago by Roo

Attached the filtered backend log that shows the previous times the deadlock occurred.

comment:2 Changed 11 years ago by Roo

See #5318 as well for timer audit ticket.

comment:3 Changed 11 years ago by Roo

Occured again with r19150

2008-12-07 00:16:27.668 MainServer::ANN Playback
2008-12-07 00:16:27.704 adding: mythtv as a client (events: 0)
2008-12-07 00:16:27.705 MainServer::HandleAnnounce FileTransfer
2008-12-07 00:16:27.712 adding: mythtv as a remote file transfer
2008-12-07 00:16:39.528 MainServer::ANN Playback
2008-12-07 00:16:39.529 adding: mythtv as a client (events: 0)
2008-12-07 00:16:39.530 MainServer::HandleAnnounce FileTransfer
2008-12-07 00:16:39.535 adding: mythtv as a remote file transfer
2008-12-07 00:39:14.133 MainServer::ANN Playback
2008-12-07 00:39:14.150 adding: mythtv as a client (events: 0)
2008-12-07 00:39:14.151 MainServer::HandleAnnounce FileTransfer
2008-12-07 00:39:14.154 adding: mythtv as a remote file transfer
QObject::startTimer: timers cannot be started from another thread
2008-12-07 01:36:18.286 MythSocket(87bd50:-1): writeStringList: Error, socket went unconnected.

comment:4 Changed 11 years ago by danielk

Status: newinfoneeded_new

Please compile the backend with debugging and run the backend with this: "QT_FATAL_WARNINGS=1 gdb mythbackend" (Then type "run" on the dbg command line.) And attach the backtrace to this ticket.

comment:5 in reply to:  4 Changed 11 years ago by anonymous

Replying to danielk:

Please compile the backend with debugging and run the backend with this: "QT_FATAL_WARNINGS=1 gdb mythbackend" (Then type "run" on the dbg command line.) And attach the backtrace to this ticket.

Thanks Daniel, will do. This problem is infrequent and has not occured in the last month.

I will try running in GDB as see if I can get some useful debugging info.

comment:6 Changed 11 years ago by danielk

Resolution: invalid
Status: infoneeded_newclosed

Probably fixed along the way, not reproducible for 3 months...

Note: See TracTickets for help on using tickets.