Opened 13 years ago

Closed 13 years ago

#1323 closed defect (fixed)

Using guide to change to channel (in LiveTV) with no available tuners hangs mythfrontend

Reported by: perveilerj@… Owned by: danielk
Priority: minor Milestone: unknown
Component: mythtv Version: 0.19
Severity: medium Keywords:
Cc: Ticket locked: no

Description

My version info:

sh-3.00$ mythfrontend --version Library API version: 0.19.20060121-2 Source code version: 8926 Options compiled in:

linux debug using_v4l using_oss using_alsa using_arts using_jack using_ivtv using_dvb using_x11 using_xv using_dvdnav using_xrandr using_opengl_vsync using_frontend using_backend

I have 3 tuners: 0) pchdtv 3000 1) pvr 150 (from pvr 500) 2) pvr 150 (from pvr500)

If I schedule recordings for each of the pvr 150 tuners (which use the same video source), then enter LiveTV the starting tuner is the pchdtv 3000 as expected. If I then start the guide and try to tune to a channel that is available only on the pvr 150s (which are both busy) I get a dialogbox saying something like "mythtv is already using all available tuners for recordings..." which is to be expected. There is only one button on this dialog and it seems to have focus (it's highlighted, anyways). I can't seem to press the button, though. I click enter, but nothing hapens. If I run outside of gdb and ctrl-c it I get a segfault. If I run inside of gdb i get a potentially corrupted stack (see attached backtrace).

Before trying to get the backtrace I put a breakpoint in DialogBox::buttonPressed but it never triggered (I did that in a different gdb run, you won't see it in the backtrace). I got a warning about setting a breakpoint in a not-yet-loaded dynamic library, though, so it's possible that I just did that wrong.

I see lots of "no symbol table info available" in the backtrace, but there are myth calls that look ok so I don't know. Let me know if I did something wrong (i made distclean before rebuilding for debug, anyways).

Attachments (2)

gdb.txt (4.3 KB) - added by perveilerj@… 13 years ago.
gdb.2.txt (30.0 KB) - added by perveilerj@… 13 years ago.
New backtrace (with no corrupted stack)

Download all attachments as: .zip

Change History (6)

Changed 13 years ago by perveilerj@…

Attachment: gdb.txt added

comment:1 Changed 13 years ago by perveilerj@…

I finally got some time to look into this again so I updated to r9258 (in the fixes branch, didn't want the new mythui stuff to add another cross product), rebuilt, and reran. Same symptoms (hanging on the "no tuners available" dialog), but this time I didn't get a corrupted stack. I also fixed the problem with my last backtrace (I didn't have the LD_LIBRARY_PATH set to the system debug libraries), so the new backtrace is a lot more informative.

Thread 5 seems to be the dialog thread, and it seems to be going to sleep while waiting on a QT mutex of some sort. I'm not too familiar with qt's innards, though, so perhaps this is normal?

I tried running valgrind --tool=memcheck (I built with --enable-valgrind this time around) but things got a little flaky (most of the time I'd get a segfault before I got to my error point). Since the stack corruption went away I didn't want to spend too much time with it, but if someone thinks it's helpful I can fight with it some more.

Thanks,

--Jack

Changed 13 years ago by perveilerj@…

Attachment: gdb.2.txt added

New backtrace (with no corrupted stack)

comment:2 Changed 13 years ago by danielk

Owner: changed from Isaac Richards to danielk

comment:3 Changed 13 years ago by danielk

(In [9704]) References #1323. Fixes a focus issue with channel change in EPG in LiveTV to an unavailable tuner in svn head.

comment:4 Changed 13 years ago by danielk

Resolution: fixed
Status: newclosed

(In [9705]) Fixes #1323. Fixes a focus issue with channel change in EPG in LiveTV to an unavailable tuner in 0.19-fixes.

Note: See TracTickets for help on using tickets.