Ошибка преобразования bad allocation

1. Под выгрузкой по частям имеется ввиду:
— снять все галочки в дереве правил выгрузки данных;
— поставить галочку на первый справочник, выгрузить, загрузить, затем снять галочку и выгрузить следующий справочник;
— для наиболее объеных справочников (номенклатура, автоработы), выставить отбор, например по родителю, чтобы уменьшить выборку и выгружать справочник порциями.

При снятом с флажке с ПВД «Номенклатура» номенклатура выгржается по ссылкам. Т.е. если при выгрузке какого-либо объекта встречается ссылка на номенклатуру, то эта номенклатура также будет выгружена по ссылке.

2. Выгружая отдельные справочники по очереди, можно приблизительно узнать на каком справочнике останавливается выгрузка.
Чтобы точно узнать объект (причину прерывания выгрузки), необходимо в режиме конфигуратора включить режим остановки по ошибке и указать текст ошибки. При возникновении указанной ошибке в отладчике просмотреть какой объект вызвал ошибку.

Правила предназначены именно для 22 и 23 релиза АА4. Т.е. очень желательно обновиться до 23 релиза.

Но если же конфигурация отличается от типовой (внесены сторонние изменения), то проще будет внести изменения в правила конвертации данных.
Т.е. будет необходимо скачать конфигурацию «Конвертация данных», загрузить правила обмена для перехода с АА4 на АА5, выгрузить из модифицированной АА4 структуру метаданных, обновить метаданные источника в правилах и внести изменения в те места, в которых модифицированная конфиграция отличается от 23 релиза АА4.

Ошибка при отправке данных bad allocation

Модераторы: Дмитрий Юхтимовский, Лысиков Денис

Ошибка при отправке данных bad allocation

Доброго времени суток.
Ранее мы работали с сервисом анализа взаимных блокировок и всё было ок, потом был год затишья, и вот теперь при включении сбора данных я обнаружил, что рег. задание по отправке данных завершается с ошибкой:

{ОбщийМодуль.АнализВзаимоблокировок.Модуль(808)}: Ошибка при вызове метода контекста (ЗначениеВСтрокуВнутр)
ТаблицаВзаимоблокировокСтрокой = ЗначениеВСтрокуВнутр(Новый ХранилищеЗначения(ТаблицаВзаимоблокировок,Новый СжатиеДанных(9)));
по причине:
Ошибка преобразования
по причине:
bad allocation

Попробовал обновить конфигурацию DeadlockClient82.cf, не помогло.
Что посоветуете ?

PS. На момент сбора данных объем папки логов ТЖ был около 20 Гб.

Леонид
 
Сообщений: 7
Зарегистрирован: 04 мар 2015, 15:46

Re: Ошибка при отправке данных bad allocation

Сообщение Леонид » 30 ноя 2016, 14:50

Сколько было свободно на момент сбора данных сейчас сказать не могу, но вообще на сервере где запущена клиентская часть 2 Гб озу

Леонид
 
Сообщений: 7
Зарегистрирован: 04 мар 2015, 15:46

Re: Ошибка при отправке данных bad allocation

Сообщение Леонид » 30 ноя 2016, 14:55

Когда сбор Не запущен свободно 900 мб

Леонид
 
Сообщений: 7
Зарегистрирован: 04 мар 2015, 15:46

Re: Ошибка при отправке данных bad allocation

Сообщение Леонид » 30 ноя 2016, 16:47

В десятки раз

Леонид
 
Сообщений: 7
Зарегистрирован: 04 мар 2015, 15:46

Re: Ошибка при отправке данных bad allocation

Сообщение Гилёв Вячеслав » 30 ноя 2016, 17:07

удалите логи, скачайте свежую версию клиентской части, настройте ее заново
если у вас проблем с дедлоками реально нет, просто так держать включенным сервис не рационально, он будет просто «занимать ресурсы», которые бы можно было направить на другие цели
если дедлоков реально много, сначала соберите за один час — выгрузите нам, проанализируйте и устраните их
статистику дедлоково безопасно и без нагрузки показывает сервис

http://www.gilev.ru/status/

если будут проблемы — напишите

slava@gilev.ru

Гилёв Вячеслав
 
Сообщений: 2719
Зарегистрирован: 11 фев 2013, 15:40
Откуда: Россия, Москва


Вернуться в Lock — анализ взаимных блокировок

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Подскажите, что я делаю не так.

1С:Предприятие 8.2 (8.2.12.96)

Бухгалтерия предприятия, редакция 1.6 (1.6.30.7)

Пробовал по всякому выгрузить остатки на начало 2012 года и через универсальный обмен данными по правилам, выгруженным из Бухгалтерия предприятия КОРП, редакция 2.0 (2.0.28.3),также через обновленную обработку перехода с 1.6 на 2.0 и через прямое подключение к базе.

Итог одинаков(((

Ошибка в обработчике события ПередОбработкойПравилаВыгрузки

   ПВД                    =  Остатки_РасчетыСПокупателямиИЗаказчиками

   Обработчик             =  ПередОбработкойВыгрузкиДанных

   ОписаниеОшибки         =  Ошибка при вызове метода контекста (ЗначениеВСтрокуВнутр): Ошибка преобразования: bad allocation

   ПозицияМодуля          =  Обработка.УниверсальныйОбменДаннымиXML(9197)

   КодСообщения           =  31

Ошибка при выгрузке данных: {Обработка.УниверсальныйОбменДаннымиXML(1612)}: Ошибка в обработчике события ПередОбработкойПравилаВыгрузки

   ПВД                    =  Остатки_РасчетыСПокупателямиИЗаказчиками

   Обработчик             =  ПередОбработкойВыгрузкиДанных

   ОписаниеОшибки         =  Ошибка при вызове метода контекста (ЗначениеВСтрокуВнутр): Ошибка преобразования: bad allocation

   ПозицияМодуля          =  Обработка.УниверсальныйОбменДаннымиXML(9197)

   КодСообщения           =  31

Что можете посоветовать?

Версионирование объектов — отключение создания одинаковых версий + обработка по их удалению

16.05.2017

    Удаление клонов

Стандартная процедура версионирования объектов создает одинаковые версии при перепроведении / перезаписи объекта без изменения реквизитов. Следовательно, база пухнет от пустых версий, особенно при закрытии месяца (проведение документов).

Но можно избавиться от создания клонов, реализация ниже (в Общем модуле ВерсионированиеОбъектов):

Процедура МеханизмВерсионированияОбъектов_ПриЗаписиОбъекта(Источник, Отказ) Экспорт

Перем ЧислоВерсийОбъекта;

Если ОбъектВерсионируется(Источник, ЧислоВерсийОбъекта) Тогда

ИмяВременногоФайла = ПолучитьИмяВременногоФайла();

ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.ОткрытьФайл(ИмяВременногоФайла);
ЗаписьXML.ЗаписатьОбъявлениеXML();
ЗаписатьXML(ЗаписьXML, Источник, НазначениеТипаXML.Явное);
ЗаписьXML.Закрыть();

ДвоичныеДанные = Новый ДвоичныеДанные(ИмяВременногоФайла);
//ХранилищеДанных = Новый ХранилищеЗначения(ДвоичныеДанные, Новый СжатиеДанных(9));

УдалитьФайлы(ИмяВременногоФайла);

//ВерсионированиеОбъектовПривилегированный.ЗаписатьВерсиюОбъекта(Источник.Ссылка, ЧислоВерсийОбъекта, ХранилищеДанных);

// ++Владимир //вв // 06.08.2023 10:09:37
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
|    ВерсииОбъектов.ВерсияОбъекта
|ИЗ
|    РегистрСведений.ВерсииОбъектов КАК ВерсииОбъектов
|ГДЕ
|    ВерсииОбъектов.Объект = &Ссылка
|    И ВерсииОбъектов.НомерВерсии = &НомерВерсии";
Запрос.УстановитьПараметр("Ссылка", Источник.Ссылка);
Запрос.УстановитьПараметр("НомерВерсии", ЧислоВерсийОбъекта);
Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий();

ПредыдущаяВерсияОбъекта = ?(Выборка.ВерсияОбъекта = Неопределено, Неопределено, Выборка.ВерсияОбъекта.Получить());

Если ЗначениеВСтрокуВнутр(ПредыдущаяВерсияОбъекта) <> ЗначениеВСтрокуВнутр(ДвоичныеДанные) Тогда //Сравниваем версии
ХранилищеДанных = Новый ХранилищеЗначения(ДвоичныеДанные, Новый СжатиеДанных(9));
ВерсионированиеОбъектовПривилегированный.ЗаписатьВерсиюОбъекта(Источник.Ссылка, ЧислоВерсийОбъекта, ХранилищеДанных);
КонецЕсли;
// --Владимир // 06.08.2023 10:09:37

КонецЕсли;

КонецПроцедуры

В комментарии (6) предложен альтернативный способ проверки версий (для «тяжелых» документов).

Также предлагаю Вам обработку по удалению уже созданных клонов. В форме необходимо внести ограничение по количеству версий (для отбора), нажать кнопку «Удалить» (только дубли). Удаление 155 467 одинаковых версий заняло чуть более часа (база похудела на 1,5 GB).

July 22 2022, 21:26

Category:

  • IT
  • Cancel

Хочу рассказать об ошибках, с которыми столкнулся при разработке веб-сервисов на 1С. Статью буду дополнять по мере получения опыта.

1. Это сообщение об ошибке при подключении к веб сервису из PHP.
[31-Mar-2013 05:32:02 UTC] PHP Fatal error: SOAP-ERROR: Parsing WSDL: Couldn’t load from ‘http://test.ru/test/ws/WebServices?wsdl’ : failed to load external entity

Данное сообщение говорит лишь о недоступности веб-сервера, на котором опубликована база. В этом случае попробуйте вручную вызвать http://test.ru/test/ws/WebServices?wsdl и убедиться, что WSDL формируется. Если не формируется, значит либо веб-сервер выключен, либо база опубликована по другому адресу или порту, либо блокирует фаервол. Могут быть и другие причины.

2. 02-Apr-2013 13:46:10 UTC] PHP Fatal error: Uncaught SoapFault exception: [HTTP] Error Fetching http headers in /home/users/b/test/domains/test.ru/testDIR/test.php:169

Эта ошибка возникает если WSDL возвращается с ошибкой. Есть несколько причин для этой ошибки:

  1. Несогласованность пространств имен в конфигурации. Например в ws-операции тип возвращаемого значения не соответствует типу из XDTO. Это может возникнуть при сменен URI пространства имен пакета XDTO.
  2. Возникает если в PHP включить кеш WSDL. Кеш запоминает WSDL и при каждом вызове веб-операции не запрашивает его, но если вы поменяли веб-сервис, то произойдет ошибка. Вообще, при разработке кеш стоит отключить, а если уже все работает то для скорости лучше включить. Ускорение при отключенном кеше заметное. Для примера скажу, что создание объекта SoapClient с выключенным кешем занимает примерно 2 сек, а с включенным — за сотые доли секунды. Отключить можно так:

    ini_set(«soap.wsdl_cache_enabled», 0);

    или

    $client = new SoapClient(‘http://somewhere.com/?wsdl’, array(‘cache_wsdl’ => 0));

3. Ошибка SOAP сервера: Неизвестная ошибка. bad allocation.

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

Понравилась статья? Поделить с друзьями:

Не пропустите эти материалы по теме:

  • Яндекс еда ошибка привязки карты
  • Ошибка прекращена работа программы windows 7 как исправить
  • Ошибка прекращена работа программы internet explorer
  • Ошибка прекращена работа программы firefox
  • Ошибка прекращена работа программы csgo exe

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии