CODEBASE ERROR. Error #: -920. Out of Memory. Sorting #467391


#0 by victuan1
"CODEBASE ERROR. Error #: -920. Out of Memory. Sorting" Такая ошибка у меня появилась при групповом проведении (через Операции-Проведение документов) базы "Учет и отчетность предпринимателя". Проводил весь год, проведение остановилось на середине ноября с этой ошибкой. Продолжил групповое проведение с начала ноября - закончилось успешно. Через некоторое время повторил групповое проведение за год - сабж повторился. Что это и как с этим бороться?
#1 by victuan1
Платформа 77.025, база dbf. Размер самого большого файла dbf - 33.5 МБ. Т.е. база "детская". Windows Server 2003.
#2 by Рафаэль Бонифаций
Удалять полностью индексы и полный пересчет итогов наверняка уже пробовал?
#3 by Ёпрст
>>>Out of Memory
#4 by Ёпрст
+3 приведи параметры железа.
#5 by КапЛей
проведение в транзакции стопудово. напихивает все в оперативку, вот и вылет.
#6 by Шахид
см вирткальную память. может мало поставил
#7 by Шахид
виртуальную
#8 by lift
вот вот файл подкачки увелич!
#9 by victuan1
Пробовал удалять индексы и файлы регистров (Ra*, Rg*). После этого при проведении выдал такую ошибку: CODEBASE SEVERE ERROR Severe Error  0 file4txn_start: file must be optimizied В момент ошибки диспетчер казал: Mem Usage 1 873 660 K VM Size 2 022 988 K Проведение также рервалось в ноябре, но в более ранних числах
#10 by victuan1
Я привык если 7.7 говорит "Out of Memory", то это не всегда значит, что ей мало памяти. Intel Core 2 Quad Q6600 @ 2.40GHz 3,25 GB of RAM IDE, NTFS. Штатное проведение (Операции - Проведение документов) делает автоматом транзакции по 1000 документов. На и база-то небольшая. А еще не такие базы и не на таком железе проводил за один раз и без проблем. Виртуальная память: 2046-4092
#11 by victuan1
Ап
#12 by victuan1
Up
#13 by kiruha
Какой размер CDX при проведении. Бывает он растет до 2 Гб в некоторых случаях
#14 by kiruha
-920 Out of Memory CodeBase tried to allocate some memory from the heap, in order to complete a function call, but no memory was available. This usually occurs during a database update process, which happens when a record is appended, written or flushed to disk. During the update, if a new tag block is required, CodeBase will attempt to allocate more memory. If the memory is not available, CodeBase will return the "Out of Memory" error. If this error occurs during the updating process, the index file will most likely become corrupt. It is virtually impossible to escape this error so it is advantageous to allocate all the memory required before any updates are made. Set Code4::memStartBlock to the maximum number of blocks required before opening any index files. See the "Frequently Asked Questions" document for more details. CodeBase пытались выделить некоторую память из кучи, с тем чтобы завершить вызов функции, но не хватило памяти. Это обычно происходит во время процесса обновления базы данных, которая происходит, когда добавляется запись, письменные или записаны на диск. Во время обновления, если это требуется в новый блок тега, будет CodeBase Попытка выделить больше памяти. Если память не доступна, CodeBase вернет "Out памяти "ошибки. Если эта ошибка происходит во время процесса обновления, то индексный файл, скорее всего, стать коррумпированными. Это практически невозможно избежать этой ошибки так что выгоднее выделить все Требуемый объем памяти до принятия любых обновлениях. Задать Code4:: memStartBlock в максимально Число блоков требуется до открытия любого индексные файлы. См. раздел "Часто задаваемые вопросы" Документ для более подробной информации.
#15 by kiruha
Удали все CDX и переиндексируй Смотри за размером во время перепроведения.
#16 by kiruha
Краткий перевод : Чувак, у тебя конкретная проблема с индексами. Ну ты попал. Система пытается увеличить память - а тут облом. Похоже файл полное Го-но. Ничего не поделаешь - обломись чувак. Лучше по хорошему добавь памяти. А если файл дырявый - снеси его нах
#17 by victuan1
Индексы я сносил.
#18 by victuan1
Самый большой индексный файл 6,6 МБ. Повторю, размер базы "детский".
#19 by kiruha
Локализовать что произошло в середине ноября. Например переполнение итогов - списали офигенную сумму. Или списывали понемножку на типа <КакойТоПокупатель> и в середине ноября произошло переполнение. Или еще что.
#20 by kiruha
На каком документе вылет
#21 by victuan1
ТА остановилось на реализации. На каком вылет выяснить невозможно. Т.к. штатное проведение делается кусками в транзакции. Т.е. сбой на 14.11.08, но ТА стоит на 10.11.08 (на последней завершенной транзакции). Но если после сбоя продолжить группое проведение с 01.11.08, то оно успешно заканчивается 31.12.08
#22 by Ёпрст
пищи в лог проведение каждого документа.. там и увидишь, где
#23 by victuan1
Сделал ТИИ - ошибок не обнаружено. Сейчас скинул ТА в прошлое. Обработкой распровожу все доки (чтобы занулить регистры). После этого грохну *.cdx и RA* и RG*. Повторю ТИИ с полным пересчетом итогов. Сделаю выгрузку - загрузку в пустой каталог и повторю проведение. Это исключит версию битой базы.
#24 by kiruha
В модуле проведения Реализации добавь строчку добавления в текстовый документ номера документа. Перепроведи с 10.11.08
#25 by victuan1
Сомневаюсь. Я повторил проведение на более слабом компе. Сабж выскочил в середине июля.
#26 by victuan1
А почему Реализации? Сбоить может любой вид документа.
#27 by victuan1
Значит, дело не в тачке и ни в каком-то определенном сбойном документе.
#28 by kiruha
Сам написал. Тогда создай файл paket.txt в
#29 by victuan1
Я написал на чем ТА остановилась. А еще я написал - это результат завершенной транзакции. А сбой происходит где-то в следующей транзакции, которая не фиксируется. Логи прикручивать я умею. Но см.
#30 by kiruha
Ну так какой сбойный документ ?
#31 by Cthulhu
проведение в транзакции ты сказал "потом попробую" - чтобы чиста потриндеть?
#32 by victuan1
Нет
#33 by victuan1
Я еще не искал. Пока выполняю регламент, описанный в . Сейчас на финальной стадии - перепроведение после загрузки в пустой каталог. Результат скажу завтра
#34 by victuan1
Спасибо за инфу! Результат тот же. На середине ноября "CODEBASE ERROR. Error #: -920. Out of Memory. Sorting". Заглянул в диспетчер задач: Mem Usage 2 G VM Size 2 G Значит, не хватает памяти! Как я недогадался раньше! ;) И дело не в битой базе. Следующие шаги: 1) перепроведение через ОбработкаДокументов с отключенной транзакцией (должно решить проблему, но будет очень долго проводиться) 2) увеличение файла подкачки (должно решить проблему) 3) Выявление сбойного документа через лог. Надо ли? Если только ради интереса.
#35 by victuan1
Этот код не подошел для логирования. :( Нет-нет, да и выскочит сообщение об ошибке "Неверное имя файла". Файл открываю записи есть. Видимо, на каких-то редких документах это выскакивает. Не уж то глюки штатной транзакции? Надо что-то другое придумывать... Может попробовать запись в файл DBF?
#36 by victuan1
Или в журнал регистрации? Вроде в него записи фиксируются независимо от завершения транзакции? или я ошибаюсь?
#37 by orefkov
Используй для логирования Сообщить + 1Spy
#38 by victuan1
В принципе достаточно Сообщить, т.к. 1С после сбоя не закрывается. Табло успеваю прочитать. А! ну тогда ничего и не надо делать. Просто оставить птичку "Сообщать о проводимиых доках" в Операции-Проведение документов (я ее по умолч. отключаю, чтобы ускорить)
#39 by orefkov
Для того, чтобы ускорить, в 1Spy включи протоколирование в файл, и запрети вывод сообщений в окно сообщений, потом в файле все прочитаешь:
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С