База крутится на PostgreSQL. Платформа 8.3.10.2561
Первым делом, когда пользователи закончили работу, я сделала бэкапы. Потом запустила ТИИ, которое ошибок не обнаружило. Результата не было. Не помогла также и выгрузка-загрузка в файловый вариант базы, и проверка файлового варианта средствами chdbf. Отладчиком нашла место, где 1с вываливается. Этим местом оказалась обработка "Избранное" . Закомментировала проблемное место и о чудо, база запустилась. Пошла смотреть внутрь регистра, а там творился полный хаос. Много-много одинаковых записей в регистре, где все записи должны быть уникальными. Ручками удалила их. После убрала комменты с проблемного места в модуле, попробовала запустить и все заработало.
Вот то место, где 1С вываливалась. Модуль объекта обработки "Избранное"
// Инициализация избранного (получение данных из регистра сведений "КартинкиИФайлы")
Процедура ИнициализироватьИзбранное() Экспорт
РегКартинкиИФайлы = РегистрыСведений.КартинкиИФайлы.СоздатьМенеджерЗаписи();
РегКартинкиИФайлы.Объект = ПараметрыСеанса.Пользователь;
РегКартинкиИФайлы.Идентификатор = ИдентификаторИзбранное;
РегКартинкиИФайлы.Прочитать();
ДеревоИзбранного = РегКартинкиИФайлы.Данные.Получить(); // проблема была вот тут
Если ТипЗнч(ДеревоИзбранного) <> Тип("ДеревоЗначений") Тогда
ДеревоИзбранного = Новый ДеревоЗначений;
КонецЕсли;
Если ДеревоИзбранного.Колонки.Количество()=0 Тогда
ДеревоИзбранного.Колонки.Добавить("Представление");
ДеревоИзбранного.Колонки.Добавить("ТипОбъекта");
ДеревоИзбранного.Колонки.Добавить("ОткрытьПриЗапуске");
ДеревоИзбранного.Колонки.Добавить("ВидОбъекта");
ДеревоИзбранного.Колонки.Добавить("ЭкземплярОбъекта");
ДеревоИзбранного.Колонки.Добавить("ФормаОбъекта");
КонецЕсли;
Если ДеревоИзбранного.Строки.Количество()=0 Тогда
НовыйЭлемент=ДеревоИзбранного.Строки.Добавить();
НовыйЭлемент.Представление="Избранное";
НовыйЭлемент.ТипОбъекта="Избранное";
КонецЕсли;
КонецПроцедуры
Надеюсь, что мой горький опыт кому-то поможет.
И вопрос к знатокам: какова может быть причина такой хвори? Именно с данной базой ни каких работ на момент появления ошибки я не производила, но приблизительно в это время пыталась развернуть в копию бэкап этой базы средствами postgreSQL, однако, сделать этого не получилось. Могло ли это стать причиной глюка? Ниже кусок лога в тот момент, когда все произошло
2017-12-27 15:51:30 YEKT DETAIL: Process 36140 waits for ShareLock on relation 14325107 of database 2530027.
2017-12-27 15:51:30 YEKT STATEMENT: create unique index _inforg7985_bydims_nn on _inforg7985 (_Fld7986, _Fld7987); alter table _inforg7985 cluster on _inforg7985_bydims_nn;
2017-12-27 15:51:30 YEKT ERROR: canceling autovacuum task
2017-12-27 15:51:30 YEKT CONTEXT: automatic analyze of table "test.public._inforg7985"
2017-12-27 16:05:21 YEKT ERROR: type "mchar" already exists
2017-12-27 16:05:21 YEKT STATEMENT: CREATE TYPE mchar;
2017-12-27 16:05:21 YEKT ERROR: function "mchar_in" already exists with same argument types
2017-12-27 16:05:21 YEKT STATEMENT: CREATE FUNCTION mchar_in(cstring) RETURNS mchar
LANGUAGE c IMMUTABLE STRICT
AS '$libdir/mchar', 'mchar_in';
2017-12-27 16:05:21 YEKT ERROR: function "mchar_out" already exists with same argument types
2017-12-27 16:05:21 YEKT STATEMENT: CREATE FUNCTION mchar_out(mchar) RETURNS cstring
LANGUAGE c IMMUTABLE STRICT
AS '$libdir/mchar', 'mchar_out';
2017-12-27 16:05:21 YEKT ERROR: function "mchar_recv" already exists with same argument types
2017-12-27 16:05:21 YEKT STATEMENT: CREATE FUNCTION mchar_recv(internal) RETURNS mchar
LANGUAGE c IMMUTABLE STRICT
AS '$libdir/mchar', 'mchar_recv';
2017-12-27 16:05:21 YEKT ERROR: function "mchar_send" already exists with same argument types
2017-12-27 16:05:21 YEKT STATEMENT: CREATE FUNCTION mchar_send(mchar) RETURNS bytea
LANGUAGE c IMMUTABLE STRICT
AS '$libdir/mchar', 'mchar_send';
2017-12-27 16:05:21 YEKT ERROR: function "mchartypmod_in" already exists with same argument types
2017-12-27 16:05:21 YEKT STATEMENT: CREATE FUNCTION mchartypmod_in(cstring[]) RETURNS integer
LANGUAGE c IMMUTABLE STRICT
AS '$libdir/mchar', 'mchartypmod_in';
2017-12-27 16:05:21 YEKT ERROR: function "mchartypmod_out" already exists with same argument types
2017-12-27 16:05:21 YEKT STATEMENT: CREATE FUNCTION mchartypmod_out(integer) RETURNS cstring
LANGUAGE c IMMUTABLE STRICT
AS '$libdir/mchar', 'mchartypmod_out';
2017-12-27 16:05:21 YEKT ERROR: type "mchar" already exists
2017-12-27 16:05:21 YEKT STATEMENT: CREATE TYPE mchar (
INTERNALLENGTH = variable,
INPUT = mchar_in,
OUTPUT = mchar_out,
RECEIVE = mchar_recv,
SEND = mchar_send,
TYPMOD_IN = mchartypmod_in,
TYPMOD_OUT = mchartypmod_out,
ALIGNMENT = int4,
STORAGE = extended
);
2017-12-27 16:05:21 YEKT ERROR: type "mvarchar" already exists
2017-12-27 16:05:21 YEKT STATEMENT: CREATE TYPE mvarchar;
2017-12-27 16:05:21 YEKT ERROR: function "mvarchar_in" already exists with same argument types
2017-12-27 16:05:21 YEKT STATEMENT: CREATE FUNCTION mvarchar_in(cstring) RETURNS mvarchar
LANGUAGE c IMMUTABLE STRICT
AS '$libdir/mchar', 'mvarchar_in';
2017-12-27 16:05:21 YEKT ERROR: function "mvarchar_out" already exists with same argument types
2017-12-27 16:05:21 YEKT STATEMENT: CREATE FUNCTION mvarchar_out(mvarchar) RETURNS cstring
LANGUAGE c IMMUTABLE STRICT
AS '$libdir/mchar', 'mvarchar_out';
2017-12-27 16:05:21 YEKT ERROR: function "mvarchar_recv" already exists with same argument types
2017-12-27 16:05:21 YEKT STATEMENT: CREATE FUNCTION mvarchar_recv(internal) RETURNS mvarchar
LANGUAGE c IMMUTABLE STRICT
AS '$libdir/mchar', 'mvarchar_recv';
2017-12-27 16:05:21 YEKT ERROR: function "mvarchar_send" already exists with same argument types
2017-12-27 16:05:21 YEKT STATEMENT: CREATE FUNCTION mvarchar_send(mvarchar) RETURNS bytea
LANGUAGE c IMMUTABLE STRICT
AS '$libdir/mchar', 'mvarchar_send';
2017-12-27 16:05:21 YEKT ERROR: type "mvarchar" already exists
2017-12-27 16:05:21 YEKT STATEMENT: CREATE TYPE mvarchar (
INTERNALLENGTH = variable,
INPUT = mvarchar_in,
OUTPUT = mvarchar_out,
RECEIVE = mvarchar_recv,
SEND = mvarchar_send,
TYPMOD_IN = mchartypmod_in,
TYPMOD_OUT = mchartypmod_out,
ALIGNMENT = int4,
STORAGE = extended
);
2017-12-27 16:05:21 YEKT ERROR: function "binrowver" already exists with same argument types
2017-12-27 16:05:21 YEKT STATEMENT: CREATE FUNCTION binrowver(p1 integer) RETURNS bytea
LANGUAGE plpgsql
AS $$
DECLARE
bytearea BYTEA;
BEGIN
bytearea := SET_BYTE('\\000\\000\\000\\000\\000\\000\\000\\000'::bytea, 4, MOD(P1 / 16777216, 256));
bytearea := SET_BYTE(bytearea, 5, MOD(P1 / 65536, 256));
bytearea := SET_BYTE(bytearea, 6, MOD(P1 / 256, 256));
bytearea := SET_BYTE(bytearea, 7, MOD(P1, 256));
RETURN bytearea;
END;$$;