MPC-BE forum

MPC-BE => Баг Репорт / The bug report => Тема начата: Evgeniy1990 от 25 апреля 2022, 02:53:41

Название: Плеер больше не работает на Pentium 4 HT [исправлено]
Отправлено: Evgeniy1990 от 25 апреля 2022, 02:53:41
На одной из машин обнаружил, что плеер MPC-BE вообще не может воспроизвести ни один видео, или аудио файл. При открытии, тут же падает, причем стабильно и всегда. И так каждый раз, при каждом новом запуске. Попробовал поискать проблемное изменение. Оказалось, что уже несколько билдов такая критическая проблема. Т.е. это глобальная поломка.

Окончательный диапазон поиска - это [6958 -> 6964].

Посмотрев список изменений, могу предположить что повлияло одно из двух - или обновление ffmpeg, или же новый "Channel layout API".

P.S. Причем, поломка настолько критическая, что даже отладчик выдает какую-то дичь. Если посмотреть stacktrace, то там и вовсе какие-то "иероглифы" (кракозябры). Откровенно говоря, я сам в шоке!

Вот что выдает stacktrace:

*** Exception 0xC0000005 occured ***

C:\Program Files\MPC-BE\mpc-be.exe : 쿘՝좌՝()
C:\Program Files\MPC-BE\mpc-be.exe : 쿘՝좌՝()
Название: От: Плеер больше не работает
Отправлено: V0lt от 25 апреля 2022, 06:17:40
ЦитироватьНа одной из машин обнаружил
Подробнее об этой уникальной машине, пожалуйста.

25 апреля 2022, 06:42:18
ЦитироватьОкончательный диапазон поиска - это [6958 -> 6964].
Приложу ссылку, чтобы легче было искать: Перешли на новый "channel layout API" от ffmpeg. (https://github.com/Aleksoid1978/MPC-BE/commit/dc84653c343c38fbb2f53cb57b3d81c3e1eb82b2)
Перед этим помимо FFmpeg обновлены Little-CMS и MediaInfo.

Но мне непонятно, как из-за выше описанного плеер может падать "при каждом новом запуске". Насколько помню, указанные библиотеки используются только при воспроизведении.
Название: От: Плеер больше не работает
Отправлено: Evgeniy1990 от 25 апреля 2022, 06:44:41
Цитата: V0lt от 25 апреля 2022, 06:17:40Подробнее об этой уникальной машине, пожалуйста.
Обычная (типичная) офисная машинка с установленной 32-разрядной Windows 7. Плеер, кстати, тоже x86.

Вот, что показывает сам отладчик студии (https://disk.yandex.ru/i/yHjETW_T7yP-jg).
Название: От: Плеер больше не работает
Отправлено: Aleksoid1978 от 25 апреля 2022, 06:53:38
Этот скрин совершенно ничего не дает. Хотя бы пройтись по стеку вызово до именно "нашего кода".
Название: От: Плеер больше не работает
Отправлено: V0lt от 25 апреля 2022, 07:07:52
Цитата: Evgeniy1990 от 25 апреля 2022, 06:44:41Обычная (типичная) офисная машинка с установленной 32-разрядной Windows 7. Плеер, кстати, тоже x86.
Очень секретная наверное.

av_bprint_escape типа падает.
Название: От: Плеер больше не работает
Отправлено: Aleksoid1978 от 25 апреля 2022, 07:25:18
Ну вот и надо понять - где именно в нашем коде "инициатор" падения.
Хотя может и нет, может тупо где-то в недрах ffmpeg :)
Название: От: Плеер больше не работает
Отправлено: Evgeniy1990 от 25 апреля 2022, 07:40:59
Цитата: V0lt от 25 апреля 2022, 07:07:52Очень секретная наверное.
Ха-ха, нет же...

Если интересуют подробности конфигурации железа, то пожалуйста:

1. Материнская плата: GA-8IPE1000-G Rev 4.0
2. Процессор: Intel Pentium 4 HT
3. Память: 3 ГБ в Dual Channel
4. Видеокарта: ATI Radeon HD 2600 Pro with Rialto
5. Звуковая карта: VIA Tremor 5.1 PCI (VIA Envy24)

Вот на такой конфигурации и происходит падение, после этого нового "Channel Layout API". Хотя билд r6958 работает просто великолепно, стабильно. Все драйверы для данной конфигурации стоят последние официальные, даже с сертификатом WHQL. Я конечно был удивлен, что на такой элементарной конфигурации плеер просто падает. Даже на новой, уже другой конфигурации (другой машине), тоже ловил периодически падения. Только там отладчик уже указывал на Ap4StszAtom.cpp. И также после r6964. Я так думаю (предполагаю), что этот новый API от ffmpeg не способен нормально работать с некоторыми аудио картами.
Название: От: Плеер больше не работает
Отправлено: Aleksoid1978 от 25 апреля 2022, 07:50:19
Ну вот опять, ну не надо нести "чушь" - при чем тут ffmpeg и аудио-карты, ну не надо, прошу :)

Лучше покажи место в нашем коде, пройдись по стеку краша. Если нет(не умеем, не можем) - ну ладно, пусть висит тема :)
Название: От: Плеер больше не работает
Отправлено: V0lt от 25 апреля 2022, 18:02:58
Цитата: Evgeniy1990 от 25 апреля 2022, 07:40:592. Процессор: Intel Pentium 4 HT
Самый главный кандидат на источник причины.

Не понимаю, зачем этот 20-летный тормоз использовать на чем-то позже XP? На Авито можно найти системник Core 2 Duo за 3000 рублей, на котором можно даже в современный интернет выйти. :p

Как вообще можно ожидать адекватной работы в современных реалия от Pentium 4? Это процессор для музеев и ретро-сборок.

Aleksoid1978
Предлагаю пересмотреть минимальные системные требования.

25 апреля 2022, 21:18:59
Нашел и исправил баг (https://github.com/Aleksoid1978/MPC-BE/commit/232e80db6d9e55055db2b321bec6e7e0fb8a2979) из-за которого не работала настройка "stereodownmix" в аудиодекодере.
Название: От: Плеер больше не работает
Отправлено: Evgeniy1990 от 25 апреля 2022, 22:00:27
Цитата: V0lt от 25 апреля 2022, 18:02:58Самый главный кандидат на источник причины.
Да ладно... Какое вообще отношение имеет процессор к этому "Channel layout API"?
Цитата: V0lt от 25 апреля 2022, 18:02:58Как вообще можно ожидать адекватной работы в современных реалия от Pentium 4? Это процессор для музеев и ретро-сборок.
Вполне нормально работает, причем очень даже бодро. Гипер-пень как ни как. И почему это он вдруг неадекватный? Все необходимые инструкции для работы с плеером у него имеются. Я имею ввиду те самые SSE, SSE2 и т.д.

Цитата: Aleksoid1978 от 25 апреля 2022, 07:50:19Лучше покажи место в нашем коде, пройдись по стеку краша. Если нет(не умеем, не можем) - ну ладно, пусть висит тема :)
Какое место вам показать? На скриншоте показана строка, где произошло падение.
Подскажите пожалуйста, как и куда именно пройтись? Я выполню вашу просьбу.
Название: От: Плеер больше не работает
Отправлено: V0lt от 26 апреля 2022, 17:56:13
Цитата: Evgeniy1990 от 25 апреля 2022, 22:00:27И почему это он вдруг неадекватный?
Хотя бы тем, что это единственный процессор, на котором была обнаружена проблема.
И производительность у него (https://www.cpubenchmark.net/cpu.php?cpu=Intel+Pentium+4+3.20GHz&id=1076) на порядок меньше самого дешового современного Целерона (https://www.cpubenchmark.net/cpu.php?cpu=Intel+Celeron+G6900&id=4709).

ЦитироватьВсе необходимые инструкции для работы с плеером у него имеются. Я имею ввиду те самые SSE, SSE2 и т.д.
Сейчас желательна поддержка SSSE3, чтобы бодрее H.264 и более новые форматы тащить. А это как раз Core2Duo.
Название: От: Плеер больше не работает
Отправлено: Aleksoid1978 от 29 апреля 2022, 08:10:29
Цитата: Evgeniy1990
Цитата: Aleksoid1978 от 25 апреля 2022, 07:50:19Лучше покажи место в нашем коде, пройдись по стеку краша. Если нет(не умеем, не можем) - ну ладно, пусть висит тема :)
Какое место вам показать? На скриншоте показана строка, где произошло падение.
Подскажите пожалуйста, как и куда именно пройтись? Я выполню вашу просьбу.
Ну вот у тебя на скрине студия, там сверху есть Stack Frame, а внизу - Call Stack, для начала - показать бы полные списки(вдруг там есть что не попало на экран). Если там есть точки вызовов именно нашего кода - то хорошо, если нет - то тогда не судьба как говорится :)
Название: От: Плеер больше не работает на Pentium 4 HT
Отправлено: Evgeniy1990 от 01 мая 2022, 14:45:32
Aleksoid1978
Цитата: Aleksoid1978 от 29 апреля 2022, 08:10:29Ну вот у тебя на скрине студия, там сверху есть Stack Frame, а внизу - Call Stack, для начала - показать бы полные списки(вдруг там есть что не попало на экран). Если там есть точки вызовов именно нашего кода - то хорошо, если нет - то тогда не судьба как говорится
Пожалуйста. Вот полный список Call Stack (https://disk.yandex.ru/i/EJRmb9xQA44Q6g).
А вообще, на моем скриншоте видно, что проблема связана именно с "downmix".

01 мая 2022, 11:58:11
Aleksoid1978
Проверил билды 7028 и 7029. Они работают нормально, т.е. плеер больше не падает. Значит, исправление от V0lt'a (https://github.com/Aleksoid1978/MPC-BE/commit/232e80db6d9e55055db2b321bec6e7e0fb8a2979), а также и ваша доработка (https://github.com/Aleksoid1978/MPC-BE/commit/906899504a922e12e22c866ebcd3bce5413707d7) все же помогли решить данную проблему.
После вас, даже пропали эти Warning's: 47>C:\MPC-BE\src\filters\transform\MpaDecFilter\FFAudioDecoder.cpp(363,12): warning C4996: 'AVCodecContext::request_channel_layout': was declared deprecated [C:\MPC-BE\src\filters\transform\MpaDecFilter\MpaDecFilter.vcxproj], которые появились в билде 7028[232e80d].

Сейчас, на данный момент, проблема полностью устранена. :) Вы молодцы! :)

P.S. Кстати, также пропало и искажение звука, после продолжения воспроизведения, при выходе компьютера из спящего режима, которое наблюдалось на более современных конфигурациях. Так что процессор тут совершенно ни причем. Просто поломка так себя проявляет, на одних "крашится", на других - "искажения".