Opened 12 years ago

Closed 11 years ago

Last modified 11 years ago

#11402 closed Bug Report - General (fixed)

livetv fails for analog on hvr 2250 + segfault

Reported by: Brent Elmer <webe3vt@…> Owned by: jpoet
Priority: minor Milestone: 0.27.1
Component: MythTV - Recording Version: Master Head
Severity: medium Keywords: livetv analog 2250
Cc: Ticket locked: no

Description

I have a hauppauge 2250 tuner. The tuner works fine in mythfrontend when using the digital side. The analog side has worked but it is very rare. The analog side always works in mplayer or xbmc with the myth pvr plugin. In mythfrontend when I try to watch analog live tv it just times out trying. The latest fix version has also segfaulted several times when trying to watch analog livetv.

Attachments (6)

mythfrontend.20130208013318.12737.log (2.0 MB) - added by Brent Elmer <webe3vt@…> 12 years ago.
mythbackend.log (18.4 KB) - added by Brent Elmer <webe3vt@…> 12 years ago.
mythfrontend.20130208015141.15367.log (1.5 MB) - added by Brent Elmer <webe3vt@…> 12 years ago.
frontend log segfault
mythbackend.2.log (161.3 KB) - added by Brent Elmer <webe3vt@…> 12 years ago.
with debug level
mythfrontend_backtrace.txt (11.5 KB) - added by Brent Elmer <webe3vt@…> 12 years ago.
gdb backtrace when segfault
mythplayer.patch (1.2 KB) - added by webe3vt@… 11 years ago.

Change History (17)

Changed 12 years ago by Brent Elmer <webe3vt@…>

Changed 12 years ago by Brent Elmer <webe3vt@…>

Attachment: mythbackend.log added

Changed 12 years ago by Brent Elmer <webe3vt@…>

frontend log segfault

Changed 12 years ago by Brent Elmer <webe3vt@…>

Attachment: mythbackend.2.log added

with debug level

Changed 12 years ago by Brent Elmer <webe3vt@…>

Attachment: mythfrontend_backtrace.txt added

gdb backtrace when segfault

comment:1 Changed 12 years ago by Brent Elmer <webe3vt@…>

I am running on Debian testing/wheezy. I get mythtv from deb-multimedia. The mythtv version is 0.26.0+fixes20130206-dmo1

comment:2 Changed 12 years ago by Jonatan Lindblad <jlindblad@…>

In 6e0f69dca6a554f4baf0fe8f9226458d36c459c7/mythtv:

MythUI: Fix use after free in MythUIEditBar

The call to ReleaseImages?() in MythUIEditBar's dtor caused a free memory read
since SetRedraw?() accesses its parent whose dtor has already been called.

Calling ReleaseImages?() from MythUIEditBar's dtor also isn't necessary since the
images in m_images are children of MythUIEditBar and are automatically deleted
by Qt.

Fixes #11458, Refs #11402

comment:3 Changed 12 years ago by Jonatan Lindblad <jlindblad@…>

In c0419cd1759f299a4232c12cf62dbea8b30180f2/mythtv:

MythUI: Fix use after free in MythUIEditBar

The call to ReleaseImages?() in MythUIEditBar's dtor caused a free memory read
since SetRedraw?() accesses its parent whose dtor has already been called.

Calling ReleaseImages?() from MythUIEditBar's dtor also isn't necessary since the
images in m_images are children of MythUIEditBar and are automatically deleted
by Qt.

Fixes #11458, Refs #11402
(cherry picked from commit 6e0f69dca6a554f4baf0fe8f9226458d36c459c7)

comment:4 Changed 12 years ago by webe3vt@…

Analog still hardly every works from mythfrontend even though it always works from mplayer and xbmc with mythplugin. The segfault did go away with the fix though.

I have stepped through with a debugger. It seems that when switching to an analog channel, something gives up too soon and fails before the channel is changed. Switching to a digital channel always works. Occasionally switching to an analog channel does work. I have yet to be able to get to the code that is giving up and failing when switching to an analog channel.

comment:5 Changed 11 years ago by stuartm

Component: MythTV - GeneralMythTV - Recording
Milestone: unknown0.27
Owner: set to danielk
Type: Bug Report - CrashBug Report - General

comment:6 Changed 11 years ago by jpoet

Milestone: 0.270.27.1
Owner: changed from danielk to jpoet
Status: newaccepted
Version: 0.26-fixesMaster Head

comment:7 Changed 11 years ago by Jay Jaeger <cube1@…>

This might be related to one or more of a couple of tickets I reported recently, #11960 and #11961 ?

Changed 11 years ago by webe3vt@…

Attachment: mythplayer.patch added

comment:8 Changed 11 years ago by webe3vt@…

I have run the code in the debugger and come up with a small patch to make mythfrontend play live tv and change channels on the analog and composite inputs. Basically, in the file libs/libmythtv/mythplayer.cpp in the function OpenFile? for my older hardware and the Hauppauge 2250 card, the timeouts need to be a little higher. I changed int timeout = (retries + 1) * 500; to int timeout = (retries + 1) * 600;

and

if (peekTimer.elapsed() > 1000
bigTimer.elapsed() > timeout)

to

if (peekTimer.elapsed() > 1500
bigTimer.elapsed() > timeout)

Both of the changes seemed to be necessary to make it work. Once I made the changes, livetv worked and changing channels worked for both analog and digital. This small change shouldn't affect anyone else.

comment:9 Changed 11 years ago by webe3vt@…

Any idea when this patch will be applied?

comment:10 Changed 11 years ago by John Poet <jpoet@…>

Resolution: fixed
Status: acceptedclosed

In b387dbeb6e8edb42edf42b3173db1d9b31e9c8e5/mythtv:

Extend the time-outs in mythplayer to allow the analog side of the hvr-2250

to work.

Patch by webe3vt@…

Fixes #11402

comment:11 Changed 11 years ago by Jean-Yves Avenard <jyavenard@…>

In 6a39d522936046d038585bdb1ca847f5ff0f4c04/mythtv:

Extend the time-outs in mythplayer to allow the analog side of the hvr-2250

to work.

Patch by webe3vt@…

Fixes #11402

(cherry picked from commit b387dbeb6e8edb42edf42b3173db1d9b31e9c8e5)

Note: See TracTickets for help on using tickets.