Утечка памяти

Автор Vanish, 25 января 2016, 12:27

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

Vanish

Добрый день,

OpenOffice 4.1.2, возникает учетка памяти, процессы scalc.exe и office.bin висят в памяти в большом количестве, хочу найти причину. Пытался вызвать ее вручную, открывая много раз файлы xls и doc, за пару часов издевательств таки получилось 1 раз, всегда процессы завершались корректно. Юзеры явно не занимаются подобным, и возникает учетка стабильно раз в неделю. Сталкивался кто-нибудь? Куда копать?
Если надо предоставлю скрины логи и т.д.

Yakov

Искать конкретный глючный документ.

Vanish

Цитата: Yakov от 25 января 2016, 14:54
Искать конкретный глючный документ.

Есть результаты, нашел причину. Если скопировать столбец, в буфер обмена попадает миллион строк, даже если они пустые. Есть идеи как исправить?:)

Yakov

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

Vanish

Цитата: Yakov от 25 января 2016, 15:21
Могу предположить, что в этих ячейках всё-таки есть данные, например ячейки разлинованы/раскрашены и офис думает, что там что-то есть.


Создал чистый файл, выделил пустой столбец, отображается что выделены ячейки C1:C1048576, нажимаю копировать, выхожу без сохранения, программа закрывается, процесс openoffice лопатит около минуты - 25% загрузка ЦП, потом завершается. Если в этом момент (пока процесс не завершился) попытаться открыть этот же файл то не откроется.

Yakov

Проверил на своём компьютере - процесс закрывается около 14 секунд.

Vanish

Цитата: Yakov от 25 января 2016, 15:42
Проверил на своём компьютере - процесс закрывается около 14 секунд.

Видимо у вас компьютер быстрее:) Тоесть получается это никак не отключить или не сделать как в excel, где выделяется только строки с данными?
Что посоветуете в этой ситуации?

rami

Цитата: Vanish от 25 января 2016, 13:02Есть результаты, нашел причину. Если скопировать столбец, в буфер обмена попадает миллион строк, даже если они пустые. Есть идеи как исправить?
Так копировать данные не правильно, надо копировать только то, что нужно.

У меня на старом МакБуке LibreOffice и Apache OpenOffice зависают, а на новом МакБукПро LibreOffice нормально закрывается, а Apache OpenOffice сразу вылетает с последующим восстановлением файла.

Попробуйте не сразу закрывать офис, а сначала закрыть окно с документом, а затем и сам офис.

Если последнее действие было копирование всего столбца, то перед закрытием выделите и скопируйте одну ячейку.

JohnSUN

По описанию очень похоже на этот старый прикол с буфером обмена.
Vanish, не трудно поставить эксперимент? Сразу после запуска офиса убить soffice.bin, повторно стартовать офис и попробовать его повесить с помощью копирования целых колонок (или целого листа)...
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

Vanish

#9
Цитата: rami от 25 января 2016, 15:32Попробуйте не сразу закрывать офис, а сначала закрыть окно с документом, а затем и сам офис.
Я открываю пустой файл сохраненный на десктопе, открывается сразу кальк, и сам openoffice (стандартное окно, открывающееся с синего ярлыка) вызывается им.
Цитата: rami от 25 января 2016, 15:32Так копировать данные не правильно, надо копировать только то, что нужно.
Знаю, но объяснить это 100 пользователям врядли возможно, они привыкли копировать столбцы именно так:(
Цитата: JohnSUN от 25 января 2016, 16:04Сразу после запуска офиса убить soffice.bin, повторно стартовать офис и попробовать его повесить с помощью копирования целых колонок (или целого листа)...
Попробовал, после смерти soffice.bin офис сразу закрывается, но он вешается и так - достаточно скопировать весь столбец, даже вставлять не нужно, после этого закрыть, и зажать enter на файле секунд на 5 - будет около 30 зависших процессов

Что ж делать с этим?))

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

kompilainenn

вы извините, но если вы выделяете столбец, то и выделяется у вас столбец, а вовсе не некое количество ячеек. офис же не знает СКОЛЬКО ячеек выделить и выделяет ВСЕ.
выделять ячейки со значениями нужно shift+ctrl+стрелка вниз, если в данный момент выделена самая верхняя ячейка диапазона. Эта комбинация выделит все ячейки со значениями до первого разрыва в данных, если нужно выделить и дальше, то просто удерживая шифт+кнтр нажмите на стрелку вниз еще раз
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

Vanish

Цитата: kompilainenn от 25 января 2016, 20:07офис же не знает СКОЛЬКО ячеек выделить и выделяет ВСЕ.
Ну, в том же excel такой проблемы не возникает.
Цитата: kompilainenn от 25 января 2016, 20:07shift+ctrl+стрелка вниз
Я знаю что так выделять правильно, но это не объяснить большому количеству пользователей, поэтому нужно как-то это исправить/запретить/изменить

kompilainenn

Цитата: Vanish от 26 января 2016, 07:31но это не объяснить большому количеству пользователей
с чего бы это?
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

Yakov

В багзилле есть баг (и патч для решения проблемы зависания при старте нескольких копий soffice)

https://bz.apache.org/ooo/show_bug.cgi?id=114963