Имя: Пароль:
1C
 
Валится серверный процесс, как понять причину,
0 vde69
 
14.12.17
15:14
1С:Предприятие 8.3 (8.3.10.2561)


делаю выгрузку

    мТип = ТипЗнч(мДок);
    Если      мТип = Тип("ДокументСсылка.ВозвратИзОтпускаПоУходуЗаРебенком") Тогда
        ВыгрузитьПоПравилу(мДок, , , ,  "ВозвратИзОтпускаПоУходуЗаРебенком"); // строка 1
    ИначеЕсли мТип = Тип("ДокументСсылка.Отпуск") Тогда
        ВыгрузитьПоПравилу(мДок, , , ,  "Отпуск"); // строка 2


если коменчу строку 1 - все нормально, если коменчу строку 2 - рхост глючит и в 1с получаю бред про ошибке выхода из сервеной процедуры....

отлаживать не выходит - получаю "Переполнение стека встроенного языка на сервере".

понимаю, что надо смотреть ПКО "ВозвратИзОтпускаПоУходуЗаРебенком", но кода там нет, конфа идентичная, все сопоставления "на автомате".

Куда копать?
1 vde69
 
модератор
14.12.17
15:16
признак, что рхост валится - остается блокировка на файле, а в консоли сервера никаких соединений...
2 GANR
 
14.12.17
15:22
(0) на худой конец остается точки останова ставить и по принципу "деления пополам" локализовывать место где 1С валится
3 GANR
 
14.12.17
15:26
+(2) а если отладка не пашет так ЗаписьЖурналаРегистрации можно сделать
4 vde69
 
модератор
14.12.17
15:39
(2) точки останова - не вариант, там рекурсия вызовов
5 GANR
 
14.12.17
15:41
(4) тогда (3) - хотя-бы можно будет видеть дошла программа до точки или нет
6 Numerus Mikhail
 
14.12.17
15:45
(4) очевидно, что причина в бесконечной рекурсии, не?
7 GANR
 
14.12.17
15:45
(0) а может где-то в ПКО стоит флаг "не запоминать выгруженные объекты"?
8 GANR
 
14.12.17
15:49
+(7) цикличные ссылки, 1С "не понимает" уже выгрузила объект и делает это по миллион раз
9 GANR
 
14.12.17
15:51
+(8) правда в СП написано, что это для 7.7 только но чем-то таким "попахивает"
10 GANR
 
14.12.17
15:59
(0) [но кода там нет, конфа идентичная] Одно правило цепляет другие и в них может быть код
11 Сти
 
14.12.17
16:08
Ну да, видимо, в одном из выгружаемых объектов есть ссылки на самого себя, или на объект, который ссылается на первый, вот и заморачивается.
12 GANR
 
14.12.17
16:09
(11) как поймать?
13 GANR
 
14.12.17
16:11
может УниверсальнуюВыгрузкуЗагрузку как-то пильнуть, чтоб выловить повторные выгрузки объектов ?
14 vde69
 
модератор
14.12.17
16:12
прошел по всем ПКО - все проверил, вроде ничего не менял - но все заработало :(

шайтан...
15 GANR
 
14.12.17
16:13
(14) не нравятся мне ситуации, когда программа через раз работает
16 GANR
 
14.12.17
16:14
а ДАННЫЕ не могли поменяться?
17 Сти
 
14.12.17
16:19
(12) (15) когда-то я делал перенос данных одной базы в другую через COM, все шло норм, пока обработка не начала пытаться создавать объект, который только что создала. Платежка какая-то что ли сама себе была доком расчетов, ну или что-то в этом роде. Но у меня перед созданием каждого объекта выводилась инфа что это за док, номер, дата и т.п. в Сообщить, там и увидел его в последней строчке. Ну, доработал обработку, чтобы уже созданное, даже только что, не создавалось заново и программа работала не через раз.
18 tesseract
 
14.12.17
22:08
(14) Нигде не менял галку "Запоминать ссылки "?
19 Armando
 
14.12.17
23:02
(0) Собери ТЖ на сервере по событиям PROC и EXCP
20 GANR
 
14.12.17
23:31
(19) Разве это покажет откуда выросла ошибка?
21 tesseract
 
14.12.17
23:38
(20) Это покажет рукводителю необходимость выделить денег на тестовый сервер. При включении ТЖ все начнут нафиг вываливаться минут через 10-30 в зависимости от железа сервера.
22 Armando
 
14.12.17
23:54
(20) Может быть покажет, а может и нет.
(21) Это какое должно быть барахло, чтоб при включении ТЖ по этим событиям все начали вываливаться?
23 tesseract
 
14.12.17
23:57
(22) Все зависит от загрузки сервера.
24 GANR
 
15.12.17
10:16
(22)(23) [Это какое должно быть барахло] А что? Если неграмотно настроить ТЖ, то система будет в него писать все события и в итоге этот ТЖ загадит аж терабайтовый диск за очень короткий промежуток времени - было у меня такое.
25 Armando
 
15.12.17
10:24
Запись указанных событий незначительно влияет на IOPS и файлы не занимают много места.