[mythtv] Call for testing branch devel/ffmpeg-resync (mpegts-harmonize)

John Pilkington johnpilk222 at gmail.com
Tue Jul 26 10:04:46 UTC 2022


On 26/07/2022 01:09, Scott Theisen wrote:
> On 7/25/22 15:20, Paul Harrison wrote:
>> On 25/07/2022 13:37, John Pilkington wrote:
>>
>>> On 25/07/2022 12:03, Klaas de Waal wrote:
>>>> FYI, Fedora in itself does not cause the additional boundary checks 
>>>> on std::array.
>>>> This happens in the RPMFusion package builds because they define a 
>>>> special GCC preprocessor symbol -D_GLIBCXX_ASSERTIONS.
>>>> If you define this symbol in an Ubuntu build then I expect it will 
>>>> do the boundary checking as well.
>>>> The backtrace itself does not indicate a boundary check so I think 
>>>> this is a different problem.
>>>>
>>>> Klaas.
>>>>
>>>>
>>>> On Mon, 25 Jul 2022 at 12:39, Paul Harrison <mythtv at mythqml.net 
>>>> <mailto:mythtv at mythqml.net>> wrote:
>>>>
>>>>     On 24/07/2022 18:42, John Pilkington wrote:
>>>>
>>>>      > On 24/07/2022 16:57, Paul Harrison wrote:
>>>>      >>
>>>>      >> I wonder if this could be related to the other Fedora crash
>>>>     reported
>>>>      >> recently in Issue #589. It seems by default there is more 
>>>> bounds
>>>>      >> checking being done in Fedora which can cause aborts.
>>>>      >>
>>>>      >> https://github.com/MythTV/mythtv/issues/589
>>>>     <https://github.com/MythTV/mythtv/issues/589>
>>>>      >>
>>>>      >>
>>>>      >> If you can get a backtrace it may be possible to track down
>>>>     where the
>>>>      >> problem is.
>>>>      >>
>>>>      >>
>>>>      >> Paul H.
>>>>      >
>>>>      > It's certainly true that my update from the
>>>>      > devel/ffmpeg-resync/morelogs branch to yesterday's
>>>>     devel/ffmpeg-resync
>>>>      > was accompanied by what appeared to be a big update of F35,
>>>>     icluding a
>>>>      > new kernel.
>>>>      >
>>>>      > gdb output attached.
>>>>      >
>>>>      >
>>>>
>>>>     The backtrace appears to show the abort on shutting down the 
>>>> preview
>>>>     generator which is consistent with the abort on playback end. It 
>>>> looks
>>>>     like something has changed that is causing an abort when closing
>>>>     playback down. The crash is in FFMpeg but it could be something 
>>>> we are
>>>>     doing to cause it. Maybe Scott has a better idea what has 
>>>> changed to
>>>>     cause this. It could also be that the bug was already there in 
>>>> previous
>>>>     versions and the extra bounds checking in Fedora is highlighting 
>>>> the
>>>>     problem.
>>>>
>>>>
>>>>     Can you reproduce this if you revert back to plain master 
>>>> without the
>>>>     ffmpeg-resync changes?
>>>>
>>>>
>>>>     Try to keep your testing as simple as possible. If you have to use
>>>>     external scripts then that is not really helpful. We need to be 
>>>> able to
>>>>     reproduce the problem in stock MythTV if possible.
>>>>
>>>>
>>>>     Paul H.
>>>>
>>>
>>> The last builds I have of master before resync are  32Pre509 from 3 
>>> July.  There was no hint of this then, or with resyncs before the 
>>> batch on 23 July.  I don't expect difficulty in building current 
>>> master for F35, but I haven't done it yet.
>>>
>>> Attached is gdb output for mythcommflag --rebuild on a BBC ONE DVB-T 
>>> raw fragment.
>>>
>>> John P
>>>
>>
>> That looks like same as the other abort in malloc_consolidate() you 
>> reported so it's consistent at least :) Any chance you can run it 
>> under valgrind?
>>
>>
>> Paul H.
> 
> I second running under valgrind.  "malloc_consolidate(): unaligned 
> fastbin chunk detected" and "double free or corruption (fasttop)" tell 
> me heap corruption is likely the culprit.
> 
> I did change the PMT exporting from the transport stream (used for 
> subtitles) to use AVBufferRef instead of a bare pointer.  In order to do 
> further harmonization, it now exports every PMT.  Also, I 
> converted/copied the functions to replace the deprecated AVPacket API.
> 
> Perhaps the extra, more frequent, heap turnover from the PMT export is 
> revealing a preexisting heap corruption issue, but without running under 
> valgrind we can't say where the corruption is occurring.
> 
> Regards,
> 
> Scott Theisen
> 
OK, I ran valgrind --leak-check=yes mythcommflag  --rebuild --file 
20001_20220725112900.ts

with master, and waited...    It feels quicker on a re-run but 
specifying the --log-file=filepath seems broken.  I have screen copies 
of around 80 KiB, but I suppose I should now reinstall the resync branch 
to get somethig more useful.

==185969== LEAK SUMMARY:
==185969==    definitely lost: 107,589 bytes in 62 blocks
==185969==    indirectly lost: 8,434 bytes in 140 blocks
==185969==      possibly lost: 672 bytes in 2 blocks
==185969==    still reachable: 98,484 bytes in 780 blocks
==185969==         suppressed: 0 bytes in 0 blocks






More information about the mythtv-dev mailing list