Bug 13416

Summary: [Update 21] libreoffice >7.5.4
Product: [ROSA-based products] ROSA Fresh Reporter: VictorR2007 <victorr2007>
Component: Packages from MainAssignee: ROSA Linux Bugs <bugs>
Status: VERIFIED FIXED QA Contact: ROSA Linux Bugs <bugs>
Severity: normal    
Priority: Normal CC: a.proklov, irgaliev01, m.novosyolov, v.potapov, victorr2007, vladislav.tarakanov
Version: AllFlags: v.potapov: qa_verified+
a.proklov: published+
Target Milestone: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Platform: --- ROSA Vulnerability identifier:
RPM Package: ISO-related:
Bad POT generating: Upstream:

Comment 1 VictorR2007 2023-06-15 23:09:47 MSK
Пропустил одну сборку, сейчас переделаю сообщение.
Comment 3 Vladimir Potapov 2023-06-16 08:28:20 MSK
*** Bug 13410 has been marked as a duplicate of this bug. ***
Comment 4 Vladimir Potapov 2023-06-16 09:01:32 MSK
после обновления проверяю, щелкаю на документе xls тестовым - ничего понять не могу. Окно вроде открыто, но его не видно.
Потом замечаю вертикальную черту... О! на ней стрелочки - растягиваю из нее окно.
Ну, думаю, какой-то локальный глюк. Пробую еще раз открыть calc  - уже нормально.
Открываю текстовый документ odt - опять вертиальная черта вместо окна!
Comment 5 Mikhail Novosyolov 2023-06-17 16:34:34 MSK
Для протокола: помогает очистка ~/.config/libreoffice
Comment 6 Mikhail Novosyolov 2023-06-19 09:46:42 MSK
(In reply to VictorR2007 from comment #2)
> Пакеты libreoffice и новые сборочные зависимости 
> для сборки libreoffice.
> 
> 
> Сборки libreoffice
> https://abf.rosalinux.ru/build_lists/4595247
> https://abf.rosalinux.ru/build_lists/4595360
> https://abf.rosalinux.ru/build_lists/4595431
> 
Собрано с контрибом. Без него собирается?
Comment 7 Mikhail Novosyolov 2023-06-19 09:58:50 MSK
(In reply to Vladimir Potapov from comment #4)
> после обновления проверяю, щелкаю на документе xls тестовым - ничего понять
> не могу. Окно вроде открыто, но его не видно.
> Потом замечаю вертикальную черту... О! на ней стрелочки - растягиваю из нее
> окно.
> Ну, думаю, какой-то локальный глюк. Пробую еще раз открыть calc  - уже
> нормально.
> Открываю текстовый документ odt - опять вертиальная черта вместо окна!

Коллеги из М ОС взяли в работу эту проблему.
Comment 8 Vladislav Tarakanov 2023-06-21 15:58:48 MSK
Попытались воспроизвести баг, возникший после обновления. Заметили данную проблему только с VCL плагином gtk3 / gtk3-kde5. Предположительно проблема возникает из-за неуказанных начальных значений окна в файле конфигурации (registrymodifications.xcu)

Добавили автоматическое изменение размера окна под размер экрана в случае отсутствия заранее указанных параметров в конфиге. Также установили минимальный размер для контейнера: 10х10. По задумке линия не должна появляться, вместо этого будет немного более заметный прямоугольник, что позволит сразу же заметить проблему с разрешением после обновления и растянуть до нужного размера.

Собрали LO с изменениями на ABF:
http://abf-downloads.rosalinux.ru/dipush_personal/container/4597233/x86_64/main/release/

Предлагаем протестировать изменение и сообщить, была ли устранена проблема
Comment 9 VictorR2007 2023-06-21 16:50:50 MSK
(In reply to Vladislav Tarakanov from comment #8)
> Попытались воспроизвести баг, возникший после обновления. Заметили данную
> проблему только с VCL плагином gtk3 / gtk3-kde5. Предположительно проблема
> возникает из-за неуказанных начальных значений окна в файле конфигурации
> (registrymodifications.xcu)
> 
> Добавили автоматическое изменение размера окна под размер экрана в случае
> отсутствия заранее указанных параметров в конфиге. Также установили
> минимальный размер для контейнера: 10х10. По задумке линия не должна
> появляться, вместо этого будет немного более заметный прямоугольник, что
> позволит сразу же заметить проблему с разрешением после обновления и
> растянуть до нужного размера.
> 
> Собрали LO с изменениями на ABF:
> http://abf-downloads.rosalinux.ru/dipush_personal/container/4597233/x86_64/
> main/release/
> 
> Предлагаем протестировать изменение и сообщить, была ли устранена проблема

Володя, давай тогда перенесу этот коммит в майн?
https://abf.rosalinux.ru/dipush/libreoffice/commit/4372d
И пересоберу для тестов с поднятием релиза?
Так тебя устроит?
Comment 10 Mikhail Novosyolov 2023-06-21 17:34:01 MSK
(In reply to VictorR2007 from comment #9)
> (In reply to Vladislav Tarakanov from comment #8)
> > Попытались воспроизвести баг, возникший после обновления. Заметили данную
> > проблему только с VCL плагином gtk3 / gtk3-kde5. Предположительно проблема
> > возникает из-за неуказанных начальных значений окна в файле конфигурации
> > (registrymodifications.xcu)
> > 
> > Добавили автоматическое изменение размера окна под размер экрана в случае
> > отсутствия заранее указанных параметров в конфиге. Также установили
> > минимальный размер для контейнера: 10х10. По задумке линия не должна
> > появляться, вместо этого будет немного более заметный прямоугольник, что
> > позволит сразу же заметить проблему с разрешением после обновления и
> > растянуть до нужного размера.
> > 
> > Собрали LO с изменениями на ABF:
> > http://abf-downloads.rosalinux.ru/dipush_personal/container/4597233/x86_64/
> > main/release/
> > 
> > Предлагаем протестировать изменение и сообщить, была ли устранена проблема
> 
> Володя, давай тогда перенесу этот коммит в майн?
> https://abf.rosalinux.ru/dipush/libreoffice/commit/4372d
> И пересоберу для тестов с поднятием релиза?
> Так тебя устроит?

Лучше пусть Володя протестирует сборку по ссылке выше и ответит автору комментария.
Comment 11 Mikhail Novosyolov 2023-06-21 17:38:54 MSK
Патч там простейший, тут вопрос скорее в выстраивании работы и взаимодействия. Вот ребята сделали сборку, пускай Володя ее и тестирует, какой смысл ее тебе пересобирать, когда уже есть готовая.
Comment 12 VictorR2007 2023-06-21 18:50:55 MSK
(In reply to Mikhail Novosyolov from comment #11)
> какой смысл ее тебе пересобирать, когда уже есть готовая.
Я привык, что QA никогда не устанавливают сборки из 
отдельных тестовых репозиториев.
Для теста им нужно то, что потом уйдёт в репы main.
До этого мы сами тестируем.
Мне некогда тестировать,
вот и спрашиваю Владимира Потапова,
как ему удобнее.
Comment 13 Mikhail Novosyolov 2023-06-21 18:54:50 MSK
Не развалится поставить)
Comment 14 VictorR2007 2023-06-21 19:00:43 MSK
Я бы мог предварительно и сам протестировать.
Но чуть попозже.
Нужно установить чистую 2021.1.
У меня везде установлена 2023.1.
Если QA не протестирует внешний репозиторий,
то наверное завтра смогу протестить.
Закончу с обновление qt-5.15.10 и plasma-5.27.6 
для 2023.1 для трёх основных архитектур,
и тогда проверю.
Comment 15 Vladislav Tarakanov 2023-06-21 22:20:57 MSK
Создали по данной проблеме репорт в LO. По полученной обратной связи можно сделать предположение о существовании другого бага, проявляющегося при похожих действиях и создающий похожие последствия. Возможно предложенное исправление не устраняет исходную проблему или делает это только частично.

Можете уточнить, похожа ли найденная ошибка на описанную в этом репорте: https://bugs.documentfoundation.org/show_bug.cgi?id=125543

Также хотели бы уточнить дополнительную информацию:
- Как использовалась система до обновления. Использовался ли только полноэкранный режим до обновления, без перехода в оконный, очищались ли конфиги незадолго до обновления, выбирались ли разные используемые плагины VCL в процессе работы до обновления
- Какие плагины VCL применялись до и после обновления
- Не осталась ли копия конфига, в котором была замечена ошибка
Comment 16 VictorR2007 2023-06-22 11:33:49 MSK
(In reply to Vladislav Tarakanov from comment #15)
> VCL в процессе работы до обновления
> - Какие плагины VCL применялись до и после обновления
У меня такое было при обновлении на версию 7.4.x
Наверное ещё когда собрал 7.4.0
https://abf.rosalinux.ru/victorr2007/libreoffice/tags

В тот раз очистил ~/.config/libreoffice
и при обновлении на все следующие версии больше с таким не сталкивался.

У меня по умолчанию используется пакет
libreoffice-kde5
с файлами
Список файлов
/usr/lib64/libreoffice/program/libkf5be1lo.so
/usr/lib64/libreoffice/program/libvclplug_kf5lo.so
/usr/lib64/libreoffice/program/libvclplug_qt5lo.so
Comment 17 VictorR2007 2023-06-22 17:11:46 MSK
(In reply to Vladislav Tarakanov from comment #15)
> Также хотели бы уточнить дополнительную информацию:
> - Как использовалась система до обновления. Использовался ли только
> полноэкранный режим до обновления, без перехода в оконный, очищались ли
> конфиги незадолго до обновления, выбирались ли разные используемые плагины
> VCL в процессе работы до обновления
> - Какие плагины VCL применялись до и после обновления
> - Не осталась ли копия конфига, в котором была замечена ошибка

В общем, делал в виртуалке.
Запустил на чистых конфигах пользователя первый запуск офиса.
Он запустился в полный экран.
Обновился из 
http://abf-downloads.rosalinux.ru/dipush_personal/container/4597233/x86_64/main/release/

Перезагрузился на всякий случай.
После перезагрузки и запуска офиса, в центре экрана появилась полоска.
Вроде немного похожая на вагину.
Другого сравнения не могу подобрать.
Растянул его на две  трети экрана.
Потом закрыл.
После нового запуска открылась та же полоса.
Растянул во весь экран.
После перезапуска всегда открывается во весь экран.
Это было в сеансе wayland и записывал сеанс в spectacle.
Но в виртуалке он записывает у меня только чёрный экран.
Решил повторить в сеансе x11, записывая в vokescreen.
Несколько раз откатывал офис на версию из main.
Проверял на старом пользователе, и удалял этого пользователя, и создавал нового.
Так и не смог повторно воссоздать это поведение.
Не хочется для чистого теста заново устанавливать всю Росу в виртуалке.
Comment 18 VictorR2007 2023-06-22 19:00:38 MSK
Жду дальнейшего решения или обсуждения.
От меня особой помощи не ожидайте, кроме тестов.
Мне оно и не нужно вообще для работы.
Просто я люблю его собирать.
Точнее, люблю обновлять.
Comment 19 Vladislav Tarakanov 2023-06-22 19:27:12 MSK
Сегодня ещё раз попробовали воспроизвести данный баг на чистой ОС в виртуалке. Предположительно баг возникает в 7.3.7 при первом запуске (или запуске без файла конфига). Если не был совершён переход из полноэкранного в оконный до первого закрытия окна, то для параметров окна "ooSetupFactoryWindowAttributes" будет записан всякий мусор (например в одном из тестов получали x:27283616, y:-1235492928, размеры окна -1235492864 на 28294440). В версии 7.5.4 это, судя по всему, пытались исправить, там уже в свежий конфиг при таких же действиях пишут значения x:0, y:0, размер окна 2x2.

Скорее всего этот мусор из первой записи конфига в 7.3 и создаёт проблему после обновления до 7.5, которая теперь обрабатывает его по-другому. По этой же причине ошибка и не воспроизводится со 100% точностью: один раз все размеры положительные и ничего не сбивается, просто округляются до размера моника, другой - отрицательные и на выходе получается окно с нулевым размером (черта или небольшой квадрат, в зависимости от ОС, окружения и т.п.) 

Пока только пару способов придумали, как это можно решить программно:
1) Насмерть вбить минимальные размеры для окна. 10х10 мелковато выглядело, поэтому сейчас пытаемся воспроизвести с минимальным 100х100. Уже будет выглядеть как прямоугольник.
2) После чтения параметров проверять их корректность. Если меньше 0 или больше чем ширина или высота экрана, то менять их на какие-нибудь дефолтные или на размер окна.

Пока для первого способа собрали контейнер:
http://abf-downloads.rosalinux.ru/dipush_personal/container/4598228/x86_64/main/release/

Завтра попробуем реализовать вторым способом, контейнер также для теста скинем. 

Если при тестах с вашей стороны получится воспроизвести баг с новым фиксом и там будет та же полоска, скопируйте, пожалуйста, файл ~/.config/libreoffice/4/user/registrymodifications.xcu прежде чем изменять размеры окна. Он может помочь лучше понять причины возникновения проблемы
Comment 20 VictorR2007 2023-06-22 20:47:46 MSK
(In reply to Vladislav Tarakanov from comment #19)
> Если при тестах с вашей стороны получится воспроизвести баг с новым фиксом и
> там будет та же полоска, скопируйте, пожалуйста, файл
> ~/.config/libreoffice/4/user/registrymodifications.xcu прежде чем изменять
> размеры окна. Он может помочь лучше понять причины возникновения проблемы
Вариант запуска сеанса на иксах или wayland имеет значение?
Или тестируем только сеанс x11?

Кстати, Владислав, раз уж мы тут вместе что-то тестируем,
неплохо бы и представиться.
А то вы совсем инкогнито сейчас.:)
Вы как нельзя кстати появились, а далее меня может убить неизвестность на пару с любопытством.:)
Comment 21 Vladislav Tarakanov 2023-06-22 22:26:49 MSK
До этого тестировали только с иксами, но не думаю что это как-то влияет на воспроизведение проблемы.

Кратко представлюсь: Владислав Тараканов, разработчик из М ОС. Вместе с коллегой, Амином Иргалиевым, занимаемся устранением проблем в офисном ПО
Comment 22 VictorR2007 2023-06-22 23:00:24 MSK
(In reply to Vladislav Tarakanov from comment #21)
> Кратко представлюсь: Владислав Тараканов, разработчик из М ОС. Вместе с
> коллегой, Амином Иргалиевым, занимаемся устранением проблем в офисном ПО

Спасибо что ответили.
Comment 23 Amin Irgaliev 2023-06-23 15:48:24 MSK
Собрали дополнительный пакет с фиксом окна. Теперь, даже при некорректных значениях размера окна (возникающих при первом запуске на чистой Росе) в конфиге, окно должно открываться корректно. Так, размер окна будет 640х480 при ошибочно малых значениях на любом плагине, но не менее 100х100 на любых значениях в плагине ГТК.

Ссылка на контейнер:http://abf-downloads.rosalinux.ru/dipush_personal/container/4598351/x86_64/main/release/
Comment 24 Vladimir Potapov 2023-06-24 03:49:24 MSK
(In reply to Amin Irgaliev from comment #23)
> Собрали дополнительный пакет с фиксом окна. Теперь, даже при некорректных
> значениях размера окна (возникающих при первом запуске на чистой Росе) в
> конфиге, окно должно открываться корректно. Так, размер окна будет 640х480
> при ошибочно малых значениях на любом плагине, но не менее 100х100 на любых
> значениях в плагине ГТК.
Наверное, при некорректных значениях координат окна логичнее не какой-то фиксированный размер ему ставить, а просто распахивать на весь экран?
При первом старте оно ж на весь экран должно быть, насколько я помню.
Comment 25 Vladimir Potapov 2023-06-24 04:05:20 MSK
(In reply to Vladislav Tarakanov from comment #21)
> Кратко представлюсь: Владислав Тараканов, разработчик из М ОС. Вместе с
> коллегой, Амином Иргалиевым, занимаемся устранением проблем в офисном ПО
Ну и я тогда представлюсь. Владимир Потапов, инженер по качеству ПО (служба QA) и релиз-менеджер ROSA FRESH.
Comment 26 Vladislav Tarakanov 2023-06-24 09:29:16 MSK
(In reply to Vladimir Potapov from comment #24)
> 
> Наверное, при некорректных значениях координат окна логичнее не какой-то
> фиксированный размер ему ставить, а просто распахивать на весь экран?
> При первом старте оно ж на весь экран должно быть, насколько я помню.

Да, действительно, при отсутствии файла конфигурации изначально запускается в полноэкранном. Но если добавить проверки с принудительным открытием полноэкранного, это может вызвать некоторые неудобства для пользователей, которые привыкли работать в оконном режиме. Так например, если выставить окно размером 400х400 (в таком окне ещё можно работать, хоть и с некоторым неудобством), в текущей вариации, оно расширится до 640х480, оставляя пользователя в оконном режиме. Если включать полноэкранный в таком случае, возможно, у пользователей появятся вопросы, почему их принудительно переводят в полноэкранный, хотя был настроен оконный.

С ходу в голову только 1 идея приходит по поводу того, как можно это обойти. Можно сделать 2 ограничения, 100х100 и 640х480. 
- Если окно меньше первых значений, то можно судить о неправильном конфиге, так как работать в таком окне невозможно и самостоятельно вряд ли кто-то будет устанавливать такие размеры окна на постоянной основе. Тогда можно перекидывать в полноэкранный режим, записывая для выхода из него размеры в 640х480.
- Если окно меньше вторых значений, то пользователь мог и сам выставить такие значений. В таком окне не очень удобно работать, да и могут быть какие-либо скрытые баги, приводящие к подобным размерам без участия пользователя (сейчас, например, заметили подобный для LO Base, там выставляются размеры 30х20, а не 0-2), поэтому можно перекидывать в 640х480, сохраняя оконный режим
Comment 27 Vladimir Potapov 2023-06-24 09:41:08 MSK
(In reply to Vladislav Tarakanov from comment #26)
> (In reply to Vladimir Potapov from comment #24)
> > 
> > Наверное, при некорректных значениях координат окна логичнее не какой-то
> > фиксированный размер ему ставить, а просто распахивать на весь экран?
> > При первом старте оно ж на весь экран должно быть, насколько я помню.
> 
> Да, действительно, при отсутствии файла конфигурации изначально запускается
> в полноэкранном. Но если добавить проверки с принудительным открытием
> полноэкранного, это может вызвать некоторые неудобства для пользователей,
> которые привыкли работать в оконном режиме. 
Ну так предлагается переключение в полноэкранный-то не всегда, а только в случаях некорректных значений в файле настроек. 
Т.е. некорректные значения в файле настроек считаются равными отсутствующим, а в случае отсутствующих LO запускается ведь в полоноэкранном режиме.
Comment 28 Vladislav Tarakanov 2023-06-24 10:08:54 MSK
Очень большой вопрос, какие именно конфиги считать некорректными. В 7.5 кальк по умолчанию пишет размеры 0,0,2,2. В 7.3 пишет всякий мусор (как в comment #19), произвольные значения размеров, как положительных, так и отрицательных. Предположили, что при размерах меньше 100 уже точно будет неправильный конфиг, так как никто при таких размерах окна работать не сможет, поэтому можно изменять размеры. Проверку на 640х480 можно в принципе и не реализовывать, тогда просто при запуске окна, меньшего чем 100х100 хотя бы по одному из размеров, можно включать полноэкранный.

Тогда предлагаем такое решение: делать проверку размеров окна в конфиге при считывании из файла, если меньше чем 100х100, то принудительно переводим в полноэкранный режим. В противном случае оставляем без изменений
Comment 29 Vladimir Potapov 2023-06-24 10:29:26 MSK
(In reply to Vladislav Tarakanov from comment #28)
> Тогда предлагаем такое решение: делать проверку размеров окна в конфиге при
> считывании из файла, если меньше чем 100х100, то принудительно переводим в
> полноэкранный режим. В противном случае оставляем без изменений
Если исходить из того, что мы делаем систему под заявленное минимальное разрешение в 1024 на 768, а раскидыванием "по углам" оно может уменьшаться еще вдвое, то минимальным разрешением окна можно принять 500 на 300. 
Сто на сто слишком маленькое, нерабочее окно, предлагаю сделать 500x300.
Comment 30 Amin Irgaliev 2023-06-24 10:35:37 MSK
(In reply to Vladimir Potapov from comment #29)
>
> Если исходить из того, что мы делаем систему под заявленное минимальное
> разрешение в 1024 на 768, а раскидыванием "по углам" оно может уменьшаться
> еще вдвое, то минимальным разрешением окна можно принять 500 на 300. 
> Сто на сто слишком маленькое, нерабочее окно, предлагаю сделать 500x300.

Хорошо. Тогда минимальный размер окна после открытия установим в 500х300. 
После сборки пакета пришлём ссылку для тестов. Ориентировочное время со сборкой - 5-6ч
Comment 31 VictorR2007 2023-06-24 11:25:54 MSK
(In reply to Amin Irgaliev from comment #23)
> Собрали дополнительный пакет с фиксом окна. Теперь, даже при некорректных
> значениях размера окна (возникающих при первом запуске на чистой Росе) в
> конфиге, окно должно открываться корректно. Так, размер окна будет 640х480
> при ошибочно малых значениях на любом плагине, но не менее 100х100 на любых
> значениях в плагине ГТК.
> 
> Ссылка на
> контейнер:http://abf-downloads.rosalinux.ru/dipush_personal/container/
> 4598351/x86_64/main/release/

Да, такой вариант нормально открылся.
Тогда ждём размер окна 500х300, проверим и можно собрать уже в main.
Comment 32 Amin Irgaliev 2023-06-24 22:23:29 MSK
Из-за непредвиденных обстоятельств сборка пакета задержалась. Приносим свои извинения за ошибочную оценку времени фикса и сборки.
Контейнер для тестов: http://abf-downloads.rosalinux.ru/dipush_personal/container/4598598/x86_64/main/release/
Comment 33 VictorR2007 2023-06-24 23:42:43 MSK
(In reply to Amin Irgaliev from comment #32)
> Из-за непредвиденных обстоятельств сборка пакета задержалась. Приносим свои
> извинения за ошибочную оценку времени фикса и сборки.
> Контейнер для тестов:
> http://abf-downloads.rosalinux.ru/dipush_personal/container/4598598/x86_64/
> main/release/

Установил на виртуалку новую версию Роса 2021.1.
Запускал несколько раз офис.
Потом обновил на эту сборку.
После запуска офис открылся во весь экран.

Владимир, будешь проверять эту сборку?
Или собирать тебе для тестов в main?
Comment 34 Vladimir Potapov 2023-06-27 06:53:38 MSK
(In reply to VictorR2007 from comment #33)
> Или собирать тебе для тестов в main?
давай в main уже.
Comment 38 Vladimir Potapov 2023-07-06 16:00:34 MSK
Из-за изменения ABI harfbuzz нужно пересобрать:
webkit
webkit4
webkitgtk2
scribus
qt6-qtwebengine
qt5-qtwebengine
Comment 39 Vladimir Potapov 2023-07-06 16:15:56 MSK
И имеет смысл все это (втч офис) пересобрать с harfbuzz 7.3 уже, чтоб потом еще раз не пришлось.
Comment 40 Vladimir Potapov 2023-07-06 16:44:04 MSK
по изменению ABI xmlsec1 нужно пересобрать
aqbanking
open-vm-tools