[mythtv-users] libmythbluray-related segfaults (with backtraces)

Noah K bodhileok at gmail.com
Wed Aug 18 21:01:02 UTC 2010


On Wed, Aug 18, 2010 at 12:04 PM, Robert McNamara
<robert.mcnamara at gmail.com> wrote:
>
>
> On Wed, Aug 18, 2010 at 11:39 AM, Robert McNamara
> <robert.mcnamara at gmail.com> wrote:
>>
>>
>> On Wed, Aug 18, 2010 at 11:34 AM, Robert McNamara
>> <robert.mcnamara at gmail.com> wrote:
>>>
>>>
>>> On Wed, Aug 18, 2010 at 11:22 AM, Noah K <bodhileok at gmail.com> wrote:
>>>>
>>>> OK, the libbluray resync (r25723, thanks Robert!) fixed the second
>>>> segfault (on exit for all BDMV), but not the first (on start for
>>>> some).
>>>> I'll dig a little more when I have time and maybe take to
>>>> libbluray-devel.
>>>
>>> Looks like ii is ending up -1, which is likely invalid.  I've reported it
>>> but if I don't hear anything by the time I get home, I'll conjure up a
>>> patch.
>>> Robert
>>
>> PS, If you want to try, you could see about adding something like
>>     if (ii <= 0) {
>>         return 0;
>>     }
>> right above like 441 in clpi_parse.c, which is:
>>     spn = (entry->coarse[ii].spn_ep & ~0x1FFFF) + entry->fine[jj].spn_ep;
>> Note that I haven't looked very close, so please forgive me if this does
>> nothing at all ;)
>> Robert
>
> if you could also try changing line 380:
>     if (pts > timestamp) {
> to
>     if (pts > timestamp && ii) {
> I would be much obliged.
> Robert
>

Robert, that did the trick.

Turns out, though, that only one of the five movies that were
segfaulting was as a result of this problem (and I had assumed they
were all the same problem). The others are segfaulting even on just
the m2ts file. In case you're interested:

Program received signal SIGSEGV, Segmentation fault.
0xb79e5fba in HandleStreamChange (data=0xaf27200) at avformatdecoder.cpp:846
846         int cnt = decoder->ic->nb_streams;

But I will start a different thread for that, with the bt.
Thanks for the fix!
Noah


More information about the mythtv-users mailing list