[mythtv-commits] Ticket #10702: mythbackend hanging

MythTV noreply at mythtv.org
Tue May 8 08:00:56 UTC 2012


#10702: mythbackend hanging
----------------------------------------+-----------------------------
 Reporter:  anders.franzen@…            |          Owner:
     Type:  Bug Report - Hang/Deadlock  |         Status:  new
 Priority:  major                       |      Milestone:  unknown
Component:  MythTV - General            |        Version:  Master Head
 Severity:  medium                      |     Resolution:
 Keywords:  backend hanging             |  Ticket locked:  0
----------------------------------------+-----------------------------
Changes (by beirdo):

 * milestone:  0.26 => unknown


Old description:

> Just start the mythbackend and let it sitt for awhile, it will lookup
> completly. Also after doing exiting a livetv view, some resources dont
> get released, so running out of tv-cards/tuners very quick.
>
> Connect to port 6543 dont answers any commands:
>

> socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3
> connect(3, {sa_family=AF_INET, sin_port=htons(6543),
> sin_addr=inet_addr("192.168.1.67")}, 16) = 0
> sendmsg(3, {msg_name(0)=NULL, msg_iov(2)=[{"35      ", 8},
> {"MYTH_PROTO_VERSION 74 SingingPot"..., 35}], msg_controllen=0,
> msg_flags=0}, 0) = 43
> recvfrom(3,
>
> Hanging in recv forever.
>
> backtrace and thread info from backend:
>
> (gdb) bt
> #0  0x000000390700b3b4 in pthread_cond_wait@@GLIBC_2.3.2 () from
> /lib64/libpthread.so.0
> #1  0x0000003a6d672fe3 in ?? () from /usr/lib64/libQtCore.so.4
> #2  0x0000003a6d66f9f5 in QMutex::lock() () from
> /usr/lib64/libQtCore.so.4
> #3  0x00000000004a5d44 in QMutexLocker (this=0x27097f0, request=...) at
> /usr/include/QtCore/qmutex.h:102
> #4  Scheduler::Reschedule (this=0x27097f0, request=...) at
> scheduler.cpp:1634
> #5  0x0000000000473986 in MainServer::customEvent (this=0x2869fb0,
> e=0x7f8c6c017d60) at mainserver.cpp:1009
> #6  0x0000003a6d77162c in QObject::event(QEvent*) () from
> /usr/lib64/libQtCore.so.4
> #7  0x0000003a6d75d0dc in QCoreApplication::notifyInternal(QObject*,
> QEvent*) () from /usr/lib64/libQtCore.so.4
> #8  0x0000003a6d7608c5 in
> QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) ()
> from /usr/lib64/libQtCore.so.4
> #9  0x0000003a6d788133 in ?? () from /usr/lib64/libQtCore.so.4
> #10 0x00000033cd841e33 in g_main_context_dispatch () from
> /lib64/libglib-2.0.so.0
> #11 0x00000033cd842610 in ?? () from /lib64/libglib-2.0.so.0
> #12 0x00000033cd8428ad in g_main_context_iteration () from
> /lib64/libglib-2.0.so.0
> #13 0x0000003a6d7882cf in
> QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
> () from /usr/lib64/libQtCore.so.4
> #14 0x0000003a6d75c472 in
> QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from
> /usr/lib64/libQtCore.so.4
> #15 0x0000003a6d75c6bc in
> QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
> /usr/lib64/libQtCore.so.4
> #16 0x0000003a6d760b7b in QCoreApplication::exec() () from
> /usr/lib64/libQtCore.so.4
> #17 0x000000000050ae75 in run_backend (cmdline=<value optimized out>) at
> main_helpers.cpp:658
> #18 0x000000000044d4e3 in main (argc=8, argv=<value optimized out>) at
> main.cpp:127
> (gdb)
>
> (gdb) info threads
>   31 Thread 0x7f8c8f26e700 (LWP 7192)  0x000000390700b71e in
> pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
>   30 Thread 0x7f8c8ea6d700 (LWP 7193)  0x000000390700b71e in
> pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
>   29 Thread 0x7f8c8e26c700 (LWP 7195)  0x0000003906cd9093 in select ()
> from /lib64/libc.so.6
>   28 Thread 0x7f8c8da6b700 (LWP 7196)  0x000000390700b71e in
> pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
>   27 Thread 0x7f8c8ccb8700 (LWP 7204)  0x000000390700b71e in
> pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
>   26 Thread 0x7f8c77fff700 (LWP 7206)  0x000000390700b71e in
> pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
>   25 Thread 0x7f8c777fe700 (LWP 7210)  0x000000390700b71e in
> pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
>   24 Thread 0x7f8c76ffd700 (LWP 7211)  0x000000390700b3b4 in
> pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
>   23 Thread 0x7f8c767fc700 (LWP 7216)  0x000000390700b71e in
> pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
>   22 Thread 0x7f8c75ffb700 (LWP 7217)  0x000000390700b3b4 in
> pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
>   21 Thread 0x7f8c757fa700 (LWP 7219)  0x000000390700b71e in
> pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
>   20 Thread 0x7f8c74ff9700 (LWP 7220)  0x000000390700b71e in
> pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
>   19 Thread 0x7f8c57fff700 (LWP 7221)  0x000000390700b71e in
> pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
>   18 Thread 0x7f8c577fe700 (LWP 7222)  0x000000390700b71e in
> pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
>   17 Thread 0x7f8c56ffd700 (LWP 7223)  0x000000390700b71e in
> pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
>   16 Thread 0x7f8c567fc700 (LWP 7228)  0x000000390700b71e in
> pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
>   15 Thread 0x7f8c55ffb700 (LWP 7229)  0x000000390700b3b4 in
> pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
>   14 Thread 0x7f8c557fa700 (LWP 7231)  0x000000390700b3b4 in
> pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
>   13 Thread 0x7f8c54ff9700 (LWP 7233)  0x000000390700b71e in
> pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
>   12 Thread 0x7f8c37fff700 (LWP 7234)  0x000000390700b71e in
> pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
>   11 Thread 0x7f8c377fe700 (LWP 7235)  0x000000390700b71e in
> pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
>   10 Thread 0x7f8c36ffd700 (LWP 7237)  0x000000390700b3b4 in
> pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
>   9 Thread 0x7f8c367fc700 (LWP 7243)  0x0000003906cd7283 in poll () from
> /lib64/libc.so.6
> ---Type <return> to continue, or q <return> to quit---
>   8 Thread 0x7f8c037fe700 (LWP 7322)  0x000000390700b3b4 in
> pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
>   7 Thread 0x7f8c1ce5b700 (LWP 7575)  0x000000390700e6ed in nanosleep ()
> from /lib64/libpthread.so.0
>   6 Thread 0x7f8c03fff700 (LWP 7576)  0x000000390700e6ed in nanosleep ()
> from /lib64/libpthread.so.0
>   5 Thread 0x7f8bfbfff700 (LWP 7577)  0x000000390700b3b4 in
> pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
>   4 Thread 0x7f8bfb7fe700 (LWP 7578)  0x000000390700b3b4 in
> pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
>   3 Thread 0x7f8c1dffb700 (LWP 14647)  0x000000390700b71e in
> pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
>   2 Thread 0x7f8c1e7fc700 (LWP 14648)  0x0000003906cd9093 in select ()
> from /lib64/libc.so.6
> * 1 Thread 0x7f8c95306840 (LWP 7191)  0x000000390700b3b4 in
> pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0

New description:

 Just start the mythbackend and let it sitt for awhile, it will lookup
 completly. Also after doing exiting a livetv view, some resources dont get
 released, so running out of tv-cards/tuners very quick.

 Connect to port 6543 dont answers any commands:

 {{{
 socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3
 connect(3, {sa_family=AF_INET, sin_port=htons(6543),
 sin_addr=inet_addr("192.168.1.67")}, 16) = 0
 sendmsg(3, {msg_name(0)=NULL, msg_iov(2)=[{"35      ", 8},
 {"MYTH_PROTO_VERSION 74 SingingPot"..., 35}], msg_controllen=0,
 msg_flags=0}, 0) = 43
 recvfrom(3,
 }}}

 Hanging in recv forever.

 backtrace and thread info from backend:

 {{{
 (gdb) bt
 #0  0x000000390700b3b4 in pthread_cond_wait@@GLIBC_2.3.2 () from
 /lib64/libpthread.so.0
 #1  0x0000003a6d672fe3 in ?? () from /usr/lib64/libQtCore.so.4
 #2  0x0000003a6d66f9f5 in QMutex::lock() () from /usr/lib64/libQtCore.so.4
 #3  0x00000000004a5d44 in QMutexLocker (this=0x27097f0, request=...) at
 /usr/include/QtCore/qmutex.h:102
 #4  Scheduler::Reschedule (this=0x27097f0, request=...) at
 scheduler.cpp:1634
 #5  0x0000000000473986 in MainServer::customEvent (this=0x2869fb0,
 e=0x7f8c6c017d60) at mainserver.cpp:1009
 #6  0x0000003a6d77162c in QObject::event(QEvent*) () from
 /usr/lib64/libQtCore.so.4
 #7  0x0000003a6d75d0dc in QCoreApplication::notifyInternal(QObject*,
 QEvent*) () from /usr/lib64/libQtCore.so.4
 #8  0x0000003a6d7608c5 in
 QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) ()
 from /usr/lib64/libQtCore.so.4
 #9  0x0000003a6d788133 in ?? () from /usr/lib64/libQtCore.so.4
 #10 0x00000033cd841e33 in g_main_context_dispatch () from
 /lib64/libglib-2.0.so.0
 #11 0x00000033cd842610 in ?? () from /lib64/libglib-2.0.so.0
 #12 0x00000033cd8428ad in g_main_context_iteration () from
 /lib64/libglib-2.0.so.0
 #13 0x0000003a6d7882cf in
 QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
 () from /usr/lib64/libQtCore.so.4
 #14 0x0000003a6d75c472 in
 QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from
 /usr/lib64/libQtCore.so.4
 #15 0x0000003a6d75c6bc in
 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
 /usr/lib64/libQtCore.so.4
 #16 0x0000003a6d760b7b in QCoreApplication::exec() () from
 /usr/lib64/libQtCore.so.4
 #17 0x000000000050ae75 in run_backend (cmdline=<value optimized out>) at
 main_helpers.cpp:658
 #18 0x000000000044d4e3 in main (argc=8, argv=<value optimized out>) at
 main.cpp:127
 (gdb)

 (gdb) info threads
   31 Thread 0x7f8c8f26e700 (LWP 7192)  0x000000390700b71e in
 pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
   30 Thread 0x7f8c8ea6d700 (LWP 7193)  0x000000390700b71e in
 pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
   29 Thread 0x7f8c8e26c700 (LWP 7195)  0x0000003906cd9093 in select ()
 from /lib64/libc.so.6
   28 Thread 0x7f8c8da6b700 (LWP 7196)  0x000000390700b71e in
 pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
   27 Thread 0x7f8c8ccb8700 (LWP 7204)  0x000000390700b71e in
 pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
   26 Thread 0x7f8c77fff700 (LWP 7206)  0x000000390700b71e in
 pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
   25 Thread 0x7f8c777fe700 (LWP 7210)  0x000000390700b71e in
 pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
   24 Thread 0x7f8c76ffd700 (LWP 7211)  0x000000390700b3b4 in
 pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
   23 Thread 0x7f8c767fc700 (LWP 7216)  0x000000390700b71e in
 pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
   22 Thread 0x7f8c75ffb700 (LWP 7217)  0x000000390700b3b4 in
 pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
   21 Thread 0x7f8c757fa700 (LWP 7219)  0x000000390700b71e in
 pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
   20 Thread 0x7f8c74ff9700 (LWP 7220)  0x000000390700b71e in
 pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
   19 Thread 0x7f8c57fff700 (LWP 7221)  0x000000390700b71e in
 pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
   18 Thread 0x7f8c577fe700 (LWP 7222)  0x000000390700b71e in
 pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
   17 Thread 0x7f8c56ffd700 (LWP 7223)  0x000000390700b71e in
 pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
   16 Thread 0x7f8c567fc700 (LWP 7228)  0x000000390700b71e in
 pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
   15 Thread 0x7f8c55ffb700 (LWP 7229)  0x000000390700b3b4 in
 pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
   14 Thread 0x7f8c557fa700 (LWP 7231)  0x000000390700b3b4 in
 pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
   13 Thread 0x7f8c54ff9700 (LWP 7233)  0x000000390700b71e in
 pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
   12 Thread 0x7f8c37fff700 (LWP 7234)  0x000000390700b71e in
 pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
   11 Thread 0x7f8c377fe700 (LWP 7235)  0x000000390700b71e in
 pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
   10 Thread 0x7f8c36ffd700 (LWP 7237)  0x000000390700b3b4 in
 pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
   9 Thread 0x7f8c367fc700 (LWP 7243)  0x0000003906cd7283 in poll () from
 /lib64/libc.so.6
 ---Type <return> to continue, or q <return> to quit---
   8 Thread 0x7f8c037fe700 (LWP 7322)  0x000000390700b3b4 in
 pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
   7 Thread 0x7f8c1ce5b700 (LWP 7575)  0x000000390700e6ed in nanosleep ()
 from /lib64/libpthread.so.0
   6 Thread 0x7f8c03fff700 (LWP 7576)  0x000000390700e6ed in nanosleep ()
 from /lib64/libpthread.so.0
   5 Thread 0x7f8bfbfff700 (LWP 7577)  0x000000390700b3b4 in
 pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
   4 Thread 0x7f8bfb7fe700 (LWP 7578)  0x000000390700b3b4 in
 pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
   3 Thread 0x7f8c1dffb700 (LWP 14647)  0x000000390700b71e in
 pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
   2 Thread 0x7f8c1e7fc700 (LWP 14648)  0x0000003906cd9093 in select ()
 from /lib64/libc.so.6
 * 1 Thread 0x7f8c95306840 (LWP 7191)  0x000000390700b3b4 in
 pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
 }}}

--

-- 
Ticket URL: <http://code.mythtv.org/trac/ticket/10702#comment:1>
MythTV <http://code.mythtv.org/trac>
MythTV Media Center


More information about the mythtv-commits mailing list