Виснет файл при открытии

Автор NicholasLibre, Вчера в 01:05

0 Пользователи и 1 гость просматривают эту тему.

NicholasLibre

Добрый день !

Столкнулся с проблемой. Файл не открывается в актуальной версии LibreOffice.

Version: 24.2.7.2 (X86_64) / LibreOffice Community
Build ID: 420(Build:2)
CPU threads: 4; OS: Linux 6.8; UI render: default; VCL: gtk3
Locale: ru-RU (ru_RU.UTF-8); UI: ru-RU
Ubuntu package version: 4:24.2.7-0ubuntu0.24.04.4
Calc: threaded

Пробую открыть в других версиях LibreOffice - всё прекрасно работает. К примеру, открыл в appimage формате.

Version: 6.3.5.2
Build ID: dd0751754f11728f69b42ee2af66670068624673
CPU threads: 4; OS: Linux 6.8; UI render: default; VCL: gtk3;
Locale: ru-RU (ru_RU.UTF-8); UI-Language: en-US
Calc: threaded


Ранее с такой проблемой не сталкивался. Помогите.

Прикладываю ссылку на файл - https://disk.yandex.ru/d/QmiKthC-qChH3g .


sokol92

Цитата: NicholasLibre от Вчера в 01:05Файл не открывается в актуальной версии LibreOffice.
Эта версия уже не актуальна.
В моей версии открытие происходит нормально.

Version: 25.2.5.2 (X86_64) / LibreOffice Community
Build ID: 03d19516eb2e1dd5d4ccd751a0d6f35f35e08022
CPU threads: 6; OS: Windows 10 X86_64 (10.0 build 19045); UI render: Skia/Raster; VCL: win
Locale: ru-RU (ru_RU); UI: en-US
Calc: CL threaded
Владимир.

NicholasLibre

Добрый день !

У Вас Windows, версия офиса для данной ОС отличается насколько я понимаю. Для Ubuntu у меня установлена последняя версия.

Цитата: sokol92 от Вчера в 13:16
Цитата: NicholasLibre от Вчера в 01:05Файл не открывается в актуальной версии LibreOffice.
Эта версия уже не актуальна.
В моей версии открытие происходит нормально.

Version: 25.2.5.2 (X86_64) / LibreOffice Community
Build ID: 03d19516eb2e1dd5d4ccd751a0d6f35f35e08022
CPU threads: 6; OS: Windows 10 X86_64 (10.0 build 19045); UI render: Skia/Raster; VCL: win
Locale: ru-RU (ru_RU); UI: en-US
Calc: CL threaded

McAaron

Версия 24.8
Файл открылся через ~5 сек. вышла первая страница через 5 сек., 410 из 410 страниц.
Изначально памяти занял 1,1 Гбайт. Ввод не принимает. Накрыл другим окном и тут же скрыл -- изображение чужого окна осталось. Офис не перерисовывает свое окно.
Спустя 5 минут занимаемая память увеличилась до 1,2 Гбайт. Еще через 5 -- 1,3 Гбайт. ЦПУ "потужно" трудится -- 12..13% в один поток жрет. На команду закрытия (Alt+F4) и SIGTERM не отвечает. Помог только SIGKILL, который снес весь офис.

Версия 7.6
Файл открылся через ~5 сек. вышла первая страница через 5 сек., 410 из 410 страниц.
Изначально памяти занял 430 Мбайт и продолжал "кушать", не отвечая на ввод.
~15 минут  -- 800 Мбайт при занятии 12..13 % времени процессора в один поток.
~20 минут  -- 900 Мбайт
~22 минуты -- 1,0 Гбайт
~25 минут  -- 1,1 Гбайт
...
~50 минут  -- 2,1 Гбайт и продолжал "кушать", не отвечая на ввод.
...

Версия 25.2.6.1
Файл открылся через ~5 сек. вышла первая страница через 5 сек., 1 из 6 страниц.
Ведет себя аналогично предыдущим версиям -- "потужно" колотит и жрет память, не отвечая на ввод.

Файл слишком большой. Даже если и начнет принимать ввод, то будет сильно тормозить. Начиная с 7-й версии стали появляться странные проблемы. В том числе и с UI. Что-то там сильно изменили, чтобы не выпасть из игры в догонялки. Возможно, куда-то добавили еще один abstraction layer, заменили какие-то рукописные процедуры более низкого уровня на библиотечные.

mikekaganski

#4
Version: 25.2.5.2 (X86_64) / LibreOffice Community
Build ID: 520(Build:2)
CPU threads: 24; OS: Linux 5.15; UI render: default; VCL: gtk3
Locale: en-US (C.UTF-8); UI: en-US
Ubuntu package version: 4:25.2.5~rc2-0ubuntu0.22.04.1~lo1
Calc: threaded

Открылось мгновенно. Работает без тормозов. Использовано памяти: ~530 MB. Количество страниц: 397.

Цитата: NicholasLibre от Вчера в 15:16версия офиса для данной ОС отличается насколько я понимаю. Для Ubuntu у меня установлена последняя версия.

Версии офиса не отличаются "для ОС". А вот дистр может прекратить обновлять свои репозитории для какой-то версии (и обычно так и делает). Ну и для Ubuntu есть PPA.

Что касается фантазий на тему слишком большого файла - он не слишком большой. Но скорее всего, у нас разные наборы шрифтов. И за счёт изменения разметки, вызванной различиями шрифтов, где-то вылез баг - зацикливается процесс размещения содержимого по страницам. По секрету скажу, что когда возникает бесконечный цикл, неважно какой размер файла; и тормоза при этом ничего не говорят о том, как оно будет работать после исправления бага.

Вот ссылка на тот же файл, но сохранённый под Windows с включённым встраиванием шрифтов (результат около 13900 KB). Должно быть 394 страницы (даже не 397, как у меня на Ubuntu).
С уважением,
Михаил Каганский

McAaron

Цитата: mikekaganski от Вчера в 16:24Вот ссылка на тот же файл, но сохранённый под Windows с включённым встраиванием шрифтов (результат около 13900 KB). Должно быть 394 страницы (даже не 397, как у меня на Ubuntu).
Действительно, загрузилось за ~5 с и сразу стало принимать ввод.
395 стр.

Офис с http://downloadarchive.documentfoundation.org/libreoffice/old/
Version: 24.8.7.2 (X86_64) / LibreOffice Community
Build ID: e07d0a63a46349d29051da79b1fde8160bab2a89
CPU threads: 8; OS: Linux 6.15; UI render: default; VCL: gtk3
Locale: ru-RU (ru_RU.utf8); UI: ru-RU
Calc: threaded

NicholasLibre

Спасибо большое друзья !

Цитата: mikekaganski от Вчера в 16:24Что касается фантазий на тему слишком большого файла - он не слишком большой. Но скорее всего, у нас разные наборы шрифтов. И за счёт изменения разметки, вызванной различиями шрифтов, где-то вылез баг - зацикливается процесс размещения содержимого по страницам. По секрету скажу, что когда возникает бесконечный цикл, неважно какой размер файла; и тормоза при этом ничего не говорят о том, как оно будет работать после исправления бага.

Вот ссылка на тот же файл, но сохранённый под Windows с включённым встраиванием шрифтов (результат около 13900 KB). Должно быть 394 страницы (даже не 397, как у меня на Ubuntu).



Спасибо большое за подробное и глубокое описание проблемы ! Как такой баг может возникать ? Открыл Ваш файл со встроенными шрифтами, всё работает.

Попробовал повторить. Открыл в appimage формате LO Version: 6.3.5.2, включил "Внедрять шрифты в документ", сохранил. В итоге всё виснет.

Нашёл также следующее решение. 1. Открыл в appimage формате LO Version: 6.3.5.2. 2. Сохранил в .docx 3. Сохранил обратно .odt. Вроде работает. Почему работает такой трюк ?

mikekaganski

#7
Цитата: NicholasLibre от Вчера в 17:33Попробовал повторить. Открыл в appimage формате LO Version: 6.3.5.2, включил "Внедрять шрифты в документ", сохранил. В итоге всё виснет.

У Вас в документе используются шрифты Windows (Times New Roman, Trebuchet MS) и шрифт Georgia. Без них разметка будет съезжать (ну, за исключением Times New Roman - для него у нас есть метрически совместимый шрифт). Если файл сохранён с встраиванием шрифтов на системе, где эти шрифты есть, то они попадут в файл, и в дальнейшем будут доступны везде, где Вы это редактируете.

А если в системе этих шрифтов нет, то включение внедрения шрифтов не поможет - они ниоткуда магически не появятся, и файл как был, так и будет показываться криво.

Версия 6.3, по-видимому, просто не имеет бага, появившегося позднее. Поэтому она, несмотря на отсутствие шрифтов, размещает данные по страницам с использованием шрифтов подстановки, и работает. Сохранили Вы в ней с внедрением шрифтов - как я и объяснил, в файле ничего не поменялось в плане тех шрифтов, которых не хватало; и открывая его в 24.2, Вы получаете ту же проблему.

Цитата: NicholasLibre от Вчера в 17:33Нашёл также следующее решение. 1. Открыл в appimage формате LO Version: 6.3.5.2. 2. Сохранил в .docx 3. Сохранил обратно .odt. Вроде работает. Почему работает такой трюк ?

Скорее всего, потому что при таком надругательстве над документом происходит двойная конвертация, в результате которой стили портятся, разметка портится, что только не портится..., и в результате размещение данных поменялось так, что тот баг не проявляется. Вообще этот тип багов выглядит примерно так: "объект A надо разместить внизу страницы X, на M см от нижнего края; он не помещается полностью на этой странице; пробуем переместить его на следующую страницу; именно в этом месте что-то происходит, и он не может поместиться и там; создаёт ещё одну; ... до бесконечности (и память тоже постоянно потребляется, потому что количество страниц непрерывно растёт)". А если шрифты поменять, ну или стили порушить, то может оказаться, что объект A нужно разместить не внизу страницы X, а вверху страницы Y - и баг не проявится.

Обратите внимание: внедрение шрифтов - не исправление проблемы, а её маскировка. Если в файле с внедрёнными шрифтами сложится такая ситуация, что объект A снова окажется в той же точке - возникнет та же беда. Так что проблема никуда не делась (разве что её могли исправить в 25.8+), и найти её было бы крайне желательно.

Самое в этом грустное - что я не могу увидеть проблему. И поэтому не могу написать багрепорт, с возможным последующим исправлением.
С уважением,
Михаил Каганский