Modify
Warning Please read the Ticket HowTo before creating or commenting on a ticket. Failure to do so may cause your ticket to be rejected or result in a slower response.

Opened 15 months ago

Closed 4 days 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@…> 15 months ago.
mythbackend.log (18.4 KB) - added by Brent Elmer <webe3vt@…> 15 months ago.
mythfrontend.20130208015141.15367.log (1.5 MB) - added by Brent Elmer <webe3vt@…> 15 months ago.
frontend log segfault
mythbackend.2.log (161.3 KB) - added by Brent Elmer <webe3vt@…> 15 months ago.
with debug level
mythfrontend_backtrace.txt (11.5 KB) - added by Brent Elmer <webe3vt@…> 15 months ago.
gdb backtrace when segfault
mythplayer.patch (1.2 KB) - added by webe3vt@… 2 months ago.

Change History (16)

Changed 15 months ago by Brent Elmer <webe3vt@…>

Changed 15 months ago by Brent Elmer <webe3vt@…>

Changed 15 months ago by Brent Elmer <webe3vt@…>

frontend log segfault

Changed 15 months ago by Brent Elmer <webe3vt@…>

with debug level

Changed 15 months ago by Brent Elmer <webe3vt@…>

gdb backtrace when segfault

comment:1 Changed 15 months 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 13 months 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 13 months 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 months 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 8 months ago by stuartm

  • Component changed from MythTV - General to MythTV - Recording
  • Milestone changed from unknown to 0.27
  • Owner set to danielk
  • Type changed from Bug Report - Crash to Bug Report - General

comment:6 Changed 7 months ago by jpoet

  • Milestone changed from 0.27 to 0.27.1
  • Owner changed from danielk to jpoet
  • Status changed from new to accepted
  • Version changed from 0.26-fixes to Master Head

comment:7 Changed 5 months 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 2 months ago by webe3vt@…

comment:8 Changed 2 months 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 8 days ago by webe3vt@…

Any idea when this patch will be applied?

comment:10 Changed 4 days ago by John Poet <jpoet@…>

  • Resolution set to fixed
  • Status changed from accepted to closed

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

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'new'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.