[mythtv] Crash in ~DVBChannel()

Roger James roger at beardandsandals.co.uk
Tue May 16 14:17:15 UTC 2017


On 16 May 2017 12:54:10 pm Roger Siddons <dizygotheca at ntlworld.com> wrote:

> On 15/05/17 17:29, Roger James wrote:
>> I
>> fixed this in udev and edited the capture cards in myth to use the new
>> names. Part of this edit involved changing the driver type on one of the
>> existing card definitions from dvb-t to dvb-s, and of course changing
>> the device names on all the entries. This all looked great in
>> mythtv-setup 5 capture cards 1 satellite and 4 terrestrial. However I
>> had neglected to look at the second page of the card details in the edit
>> pages.
>>
>> What I had actually ended up with in the database was.
>>
>> 2 entries pointing at my mono  DVB-S card set up as parent and child, 2
>> entries pointing to tuner 1 on my quad card, 2 entries pointing at tuner
>> 2, 1 pointing at tuner 3 and 1 pointing at tuner 4.
>>
>> I fixed the crash by setting the concurrent recordings stuff back to 1.
>>
>>
>> But I think are more robust fix is needed.
>>
>
> I don't follow the gory details but isn't this because you edited the
> cards in mythtv-setup ?
>
> That's a 'known' issue, although I don't recall seeing a ticket for it.
>
> Edits lead to a corrupted database and standard advice is to always
> "Delete All Cards on All Hosts" and start afresh. Can you still crash it
> that way ?
>
> AFAIK it's never been fixed because;
> 1. Few people understand that area
> 2. The UI settings are due to be replaced by the
> origin/devel/mythui/settings at some point. Maybe that will fix edits.
> 3. mythtv-setup was planned to be replaced by "some other solution"
> years ago...
> _______________________________________________
> mythtv-dev mailing list
> mythtv-dev at mythtv.org
> http://lists.mythtv.org/mailman/listinfo/mythtv-dev
> http://wiki.mythtv.org/Mailing_List_etiquette
> MythTV Forums: https://forum.mythtv.org

Hi,

The short answer is yes, but the long answer is no. The current code will 
crash if the DVBChannel destructor is called when the "key" is not in the 
"map". At the minimum the code needs to be changed to not crash but log an 
error instead. What I am seeing that the inputid in the parent TVRec object 
is being set to zero by "something". That means the wrong key is being 
looked up. This should not be happening. I am struggling to find the 
circumstances and the "something" that does it. I have not managed to catch 
it with a hardware watchpoint in the debugger.

Roger




More information about the mythtv-dev mailing list