Bad allocation

Автор souror, 2 декабря 2013, 17:38

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

ape

#30
Подтверждаю вылет LibO-4.2.0.1 в Windows XP sp3_32bit/sp2_64bit при попытке открыть файл (http://forumooo.ru/index.php?action=dlattach;topic=3791.0;attach=5881).
ОК - в Lubuntu-13.04_32bit и Lubuntu-13.10_64bit.
Постить баг? С каким статусом?

frob

Цитата: ape от 20 декабря 2013, 06:54
Подтверждаю вылет LibO-4.2.0.1 в Windows XP sp3_32bit/sp2_64bit при попытке открыть файл (http://forumooo.ru/index.php?action=dlattach;topic=3791.0;attach=5881).
ОК - в Lubuntu-13.04_32bit и Lubuntu-13.10_64bit.
Постить баг? С каким статусом?

Баг -- постить. Статус -- по умолчанию.

ape

Bug 72918: LO crash when opening ODS file with a large number of cells with formulas

frob

Цитата: ape от 20 декабря 2013, 19:37
Bug 72918: LO crash when opening ODS file with a large number of cells with formulas

Кохей посмотрел на приложенный к багу трэйс.

<kohei> 0150d5d0 6c42ab19 sal3!GetCaseCorrectPathName
<kohei> it crashes right when the file loader attempts to open the file, way before the import filter starts parsing the content.

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

Варианты: или приложенный трэйс не соответствует багу, или баг на самом деле не специфичен для calc и даже для содержимого файла.

Для проверки можно попробовать назвать какой-то "хороший" файл как имеющийся "плохой", положить
его на место "плохого" и попробовать открыть.

ape

#34
Цитата: frob от 21 декабря 2013, 06:17крэш происходит сразу же при попытке загрузчика открыть файл, гораздо раньше чем фильтр импорта начинает разбирать содержимое.
Да, ~когда 3/4 файла загружено (сужу по индикатору в нижней части Цетра запуска).
Может быть, размер content.xml (1,03GB при извлечении из документа) вызывает эту ошибку (т.е. это ограничение "Окон")?

DixiX57

Цитата: frob от 21 декабря 2013, 06:17крэш происходит сразу же при попытке загрузчика открыть файл, гораздо раньше чем фильтр импорта начинает разбирать содержимое.
Ну, не знаю. У меня рушится когда внизу уже написано "Вычисление" (т.е. прогресс-бар "Загрузка" пробежал за 20 минут от 0 до 100%). LO 4.1.2, Win XP SP2, 1Гб ОЗУ.

celler

#36
Windows 8.1 64-bit 16 GB RAM.
Libre Office 4.2.0.1 1-я попытка: когда индикатор загрузки в течение примерно 1 минуты достигает около 95%, появляется окно LibreOffice 4.2 - Fatal Error с сообщением bad allocation.
Libre Office 4.2.0.1 последующие попытки: иногда сообщение bad allocation появляется уже при начале просчёта.
Libre Office Portable 4.1.3.2 1-я попытка: когда индикатор загрузки в течение примерно 1 минуты достигает около 80%, появляется окно с сообщением, что ввиду проблем программа должна быть закрыта.
Libre Office Portable 4.1.3.2 последующие попытки: индикатор загрузки достигает 100% и начинается просчёт, когда он достигает примерно 20%, то останавливается и примерно через минуту всё закрывается без всяких сообщений.
Gnumeric открыл за 50 секунд.
На том же компьютере в Oracle VM VirtualBox на Ubuntu 13.10 64-bit с выделенными ей 4 Gb памяти в Libre Office 4.1.2.3 открывается за полторы минуты.
Во всех случаях сначала открывалась программа, а в ней уже открывался файл.

celler

Цитата: frob от 20 декабря 2013, 03:22grep -f wordslist text > result
А это в линуксе или виндовсе? Нужно какую-то программу инсталлировать?

frob

Вызываемая виндо-специфичная функция получает два указателя: один на короткое имя файла (8.3) для чтения, другой -- на место, куда предлагается сохранить длинное имя файла.
В прилагаемом к багу трейсе (предположим, что это не какая-то другая ошибка) вместо второго указателя передан NULL.
Не знаю как это работает в C++, а в C такое можно организовать довольно просто -- выжрать память, вызвать malloc под второй указатель и использовать его без проверки того, что malloc вернул что-то отличное от нуля.

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

frob

Цитата: celler от 21 декабря 2013, 17:33А это в линуксе или виндовсе? Нужно какую-то программу инсталлировать?

Думаю, что grep есть по-умолчанию в любом unix и unix-like. Даже в macosx есть.

Под винды надо устанавливать. Например: http://gnuwin32.sourceforge.net/packages/grep.htm

celler

Спасибо, про grep возьму на заметку, но там не указана поддержка Windows 8, поэтому инсталлировать такую консольную программу пока не рискну.

ape

#41
Цитата: frob от 21 декабря 2013, 17:371. виндовая версия при этом почему-то отжирает всю память
2. LO возможно всё-таки открывает и начинает разбирать файл
1. При этом у меня её 16GB(RAM)+4GB(подкачка)
2. У меня тоже вылетал и при разборе. Возможно, что баг-трейс был предоставлен для случая вылета в момент загрузки. Нетбук под Линуксом (живым, не виртуальным) открывает и разбирает, но за 20 минут.

frob

Цитата: celler от 21 декабря 2013, 19:06
Спасибо, про grep возьму на заметку, но там не указана поддержка Windows 8, поэтому инсталлировать такую консольную программу пока не рискну.

Думаю, что грепу от виндов почти ничего не надо.

Если часто приходится делать всякое разное с plain-text, то ради выгод от наличия в системе grep/sed/find/tr/sort я б не поленился поставить линукс в виртуалку.

kompilainenn

Цитата: ape от 21 декабря 2013, 20:541. При этом у меня её 16GB(RAM)+4GB(подкачка)
проблема 32битного ПО в 64битных ОС в том, что им все равно выделяется не более 3.5Гб ОЗУ! То есть наличие физических 16Гб ОЗУ никак не поможет, если софт 32битный выжирает все доступные ЭТОМУ ПО 3.5Гб.
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

celler

Цитата: frob от 21 декабря 2013, 23:30Если часто приходится делать всякое разное с plain-text, то ради выгод от наличия в системе grep/sed/find/tr/sort я б не поленился поставить линукс в виртуалку.
У меня был Ubuntu 64-bit на виртуалке, а сегодня переустановил её и добавил доступной памяти до 8 GB. Я уже понял, что в ней можно в отдельных программах кое-что делать, что в виндовсе не так просто сделать. По поводу grep/sed/find/tr/sort у меня есть конкретный вопрос. Я в линуксе никогда не работал и поэтому хотел бы поинтересоваться, стоит ли всё это изучать. Вот например такая задача. Я уже упоминал сайт росреестра, где лежат порядка ста файлов pdf, в которых дана табличная информация, но таблицы такие безобразные, что при копировании всё оказывается в одном столбце с перепутанными ячейками. Чтобы восстановить исходный вид, я сделал специальный файл, который всё грубо расставляет по своим местам. Результат там получается не идеальный, но довести его до нужного состояния уже совсем просто. Файл приложить не могу, поскольку он великоват, поэтому он здесь, но он только для линукса с большим RAM - там около трёх миллионов формул. Мой вопрос - можно ли то же самое делать с помощью вышеназванных программ?