Opened 13 years ago

Closed 13 years ago

#2713 closed defect (fixed)

mythtv-setup crashes when editing LNB in diseqc setup. mythbackend unable to get a signal

Reported by: dyziofta@… Owned by: danielk
Priority: minor Milestone: 0.21
Component: dvb Version: head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

DVB Setup: Rotor -> 2-port diseqc switch -> LNB1 LNB2

after upgrading from .20 to svn r11794, editing Rotor or switch does not cause problems, when selecting a LNB to edit, mythtv-setup crashes instantly without any error.

Also, mythbackend is not able to get any signal.

Attachments (2)

gdb.txt (13.9 KB) - added by anonymous 13 years ago.
scan_input_fix.diff (3.8 KB) - added by spam@… 13 years ago.

Download all attachments as: .zip

Change History (11)

comment:1 Changed 13 years ago by danielk

Resolution: invalid
Status: newclosed

Need backtrace, see TicketHowTo

Changed 13 years ago by anonymous

Attachment: gdb.txt added

comment:2 Changed 13 years ago by dyziofta@…

Resolution: invalid
Status: closedreopened

gdb log of mythtv-setup when it crashes during diseqc LNB configuration

comment:3 Changed 13 years ago by danielk

Owner: changed from Isaac Richards to danielk
Status: reopenednew

comment:4 Changed 13 years ago by dyziofta@…

note: once in a while it happens that I can edit the LNB, but even when I do, no changes are being saved. That's kind of what happened when I ran gdb. The first time I tried to edit the LNB settings it brought up the edit screen, so I escaped out of it, the second time I tried to edit the LNB it crashed so the log should include both cases.

comment:5 Changed 13 years ago by spam@…

While searching for the source of the crash problem I found another. If you have a DVB source defined and assigned to a card without a switch, the inputname will be "DVBInput". Now if you assign that same source to second card with a switch that inputname will now be "DVBInput #1" (where #1 is the switch port number). This causes tuning to fail while scanning because it will select the first card with the incorrect inputname.

/** \fn ChannelUtil::GetInputName(int)
 *  \brief Returns input name for a card input
 *  NOTE: This is BROKEN, it does not specify which card the input is on.
 */
QString ChannelUtil::GetInputName(int source_id)

is the problem.

This patch should fix the problem.

Changed 13 years ago by spam@…

Attachment: scan_input_fix.diff added

comment:6 Changed 13 years ago by danielk

Component: mythtvdvb

Thanks for the backtrace. I've been able to reproduce this now by starting up the edit node dialog repeatedly. Valgrind is reporting the use of uninitialized memory but the instance we crash on looks ok, so my current theory is that we delete something and then try to use it. But it could also be a bad cast somewhere. Tonight I'll try to narrow the problem by making the segfault more repeatable...

comment:7 Changed 13 years ago by danielk

(In [12157]) Refs #2713. Fixes an unitialized memory error in diseqc editor.

comment:8 in reply to:  7 Changed 13 years ago by dyziofta@…

Replying to danielk:

(In [12157]) Refs #2713. Fixes an unitialized memory error in diseqc editor.

that fixed the LNB editor. thank you, however neither livetv nor scanning is able to get any type of lock. I applied the patch attached to this ticket but that did not make a difference. I ran the backend, forntend and setup with -v all,nodatabase but I did not see anything unusual there, except that I think in the past mythbackend would be verbose about switching diseqc ports or when moving a rotor. Now I only see this in mythtv-setup log. Is this the correct behavior?

comment:9 Changed 13 years ago by danielk

Resolution: fixed
Status: newclosed

Closing ticket as it appears [12157] fixed the segfault.

dysiofta, please open a separate ticket with your "mythtv-setup -v channel,siparser,record" log from the scan. Also please describe what kind of scan you were doing.

Note: See TracTickets for help on using tickets.