Основная часть кода firefox находится в libxul.so (а также libmozgtk.so, libmozavutil.so, и т.п.). Однако пакет firefox-debuginfo не содержит отладочной информации из этих библиотек. Из-за этого профилирование и отладка firefox невозможны.
Alexey Sheplyakov, здравствуйте. Просьба дополнить баг следующей информацией об ошибке: 1) Образ на котором воспроизводится ошибка 2) Версия программы на которой воспроизводится ошибка 3) Шаги воспроизведения 4) Реальный результат 5) Ожидаемый результат
(Ответ для Ivan Alekseev на комментарий #1) > Alexey Sheplyakov, здравствуйте. > Просьба дополнить баг следующей информацией об ошибке: > 1) Образ на котором воспроизводится ошибка Вопрос лишён смысла > 2) Версия программы на которой воспроизводится ошибка Например firefox-esr-91.10.0-alt0.p10.1 > 3) Шаги воспроизведения 1. Установить firefox, firefox-debuginfo, perf. 2. Запустить firefox. 3. Открыть видео, например вот это: https://www.youtube.com/watch?v=aqz-KE-bpKQ 4. Выбрать качество 1080p60, перейти в полноэкранный режим 5. В терминале запустить общесистемное профилирование командой sudo perf record -g --call-graph=dwarf,16484 -F 127 -a -- sleep 180 Внимание! Требуется ~ 10 ГБ свободного дискового пространства, или большая tmpfs и много (~ 10 ГБ) свободной памяти 6. Сразу же запустить на воспроизведение видео, подождать 3 минуты. 7. Обработать полученный профайл: sudo perf script --header > firefox.perf (тут придётся подождать минут 15) > 4) Реальный результат В файле firefox.perf показаны адреса вместо имён функций из libxul.so, libmozavutil.so, и прочих запчастей firefox > 5) Ожидаемый результат В файле firefox.perf в цепочках вызовов (stack traces) показаны имена функций.
Alexey Sheplyakov, покажите, пожалуйста, пример цепочки вызовов без названий функций. Пример из полученного firefox.perf: Renderer 4719 [003] 505.633976: 7874015 cpu-clock:pppH: 3dfad2a linear_row_yuv<false>+0x1e4a (/usr/lib64/firefox/libxul.so) 3de76bd CompositeYUV+0xa1d (/usr/lib64/firefox/libxul.so) 7 [unknown] ([unknown]) Возможно, здесь linear_row_yuv и CompositeYUV это и есть названия функций?