|
Переполнение стека встроенного языка на сервере | ☑ | ||
---|---|---|---|---|
0
Анастасия_85
09.07.21
✎
08:10
|
Доброго дня.
При создании/копировании прав доступа пользователя возникает такая ошибка. Переполнение стека встроенного языка на сервере {Справочник.Пользователи.Форма.ФормаЭлемента.Форма(1713)}: Записать(ПараметрыЗаписи); {mngcore/MessageBox.clf(4)}: Close(-100); по причине: Переполнение стека встроенного языка на сервере по причине: Справочник.Пользователи.Форма.ФормаЭлемента.Форма : 403 : МодульУправлениеДоступомСлужебный.ПриКопированииПравНовомуПользователю(Источник, Приемник); ОбщийМодуль.УправлениеДоступомСлужебный.Модуль : 1964 : УправлениеДоступом.ВключитьПрофильПользователю(Приемник, Выборка.Профиль); ОбщийМодуль.УправлениеДоступом.Модуль : 562 : ВключитьОтключитьПрофильПользователя(Пользователь, Профиль, Истина); ОбщийМодуль.УправлениеДоступом.Модуль : 3105 : ГруппаДоступаОбъект.Записать(); ... ОбщийМодуль.УдалениеПомеченныхОбъектовСлужебный.Модуль : 225 : ЗапретитьИспользованиеУдаляемыхОбъектов(Источник, Отказ); ОбщийМодуль.УдалениеПомеченныхОбъектовСлужебный.Модуль : 1044 : Если Не ПроверятьИспользованиеУдаляемыхОбъектов() Тогда ОбщийМодуль.УдалениеПомеченныхОбъектовСлужебный.Модуль : 1533 : ЭтоМодельСервиса = ОбщегоНазначения.РазделениеВключено(); ОбщийМодуль.ОбщегоНазначения.Модуль : 0 по причине: Переполнение стека встроенного языка на сервере Подскажите пожалуйста, может быть кто-то сталкивался с такой ошибкой и как исправить. Я пробовала. -копировать модули из другой конфигурации, к сожалению ошибка продолжает возникать. -Пробовала обновить конфигурацию, может из более старой версии стоит попробовать обновить. -Также пробовала делать тестирование конфигурации пока что нет результата. |
|||
1
ДенисЧ
09.07.21
✎
08:14
|
Данные кривые, где-то циклическая ссылка.
|
|||
2
WhiteDragon93
09.07.21
✎
08:20
|
(0) Присоединяюсь к (1) если есть база с той же версией конфигурации, в которой ошибки нет, проблема в данных.
|
|||
3
Анастасия_85
09.07.21
✎
08:21
|
(1)
Денис, а каким образом её найти?? Пользователь сохраняется, а вот кода пытаюсь назначить ему права, доступ по организациям, то выскакивает ошибка. |
|||
4
youalex
09.07.21
✎
08:24
|
замер производительности - и смотреть в каком участке кода дикое количество проходов
|
|||
5
Анастасия_85
09.07.21
✎
08:32
|
(4)
Подскажите пожалуйста, а если ошибка всё же в данных- замер производительности поможет или нет? И поможет ли в таком случае перенос данных в справочник.ГруппыДоступа или в РегистрыСведений.ТаблицыГруппДоступа?? |
|||
6
youalex
09.07.21
✎
08:38
|
(5) Замер покажет только в каком участке кода возможно происходит сваливание в бесконечную рекурсию
|
|||
7
Анастасия_85
09.07.21
✎
09:26
|
(6)
Я сделала замер производительности. К сожалению, я раньше никогда этим инструментом не пользовалась. Как найти то, что уходит в рекурсию?? |
|||
8
Анастасия_85
09.07.21
✎
09:40
|
(4) это колонка кол.??
А если 8 или 9, то это много или может быть?? |
|||
9
youalex
09.07.21
✎
09:47
|
(7) Косвенно, по количеству проходов (колонка "Кол" в Замере)
(8) Не похоже. У меня ошибка на 937 проходах (каких-то конкретных значений я не знаю) Причем если открыть стек вызовов, наглядно видно, как он "растет" при каждом вызове проблемной функции. |
|||
10
Анастасия_85
09.07.21
✎
10:23
|
(9)
А как добавить что-либо в стек вызовов?? |
|||
11
youalex
09.07.21
✎
10:29
|
(10) что значит добавить? Оно само добавляется при новом вызове функции/процедуры. Через стек можно наглядно увидеть, что если одна и та же процедура повторяется - то это рекурсивный вызов.
|
|||
12
Анастасия_85
09.07.21
✎
10:40
|
не добавляется ничего в стек вызовов :(
стек пустой, в замере производительности не изменилось количество |
|||
13
youalex
09.07.21
✎
11:13
|
(12) Ну просто отладчиком пройдись и смотри когда отвалится
|
|||
14
1Сергей
09.07.21
✎
11:21
|
Думаю, тут без программиста не обойтись
|
|||
15
Анастасия_85
09.07.21
✎
11:33
|
(14)
Форум для того и существует, если люди не знают чего-то, то они спрашивают. И с некоторыми вещами люди сталкиваются впервые. |
|||
16
1Сергей
09.07.21
✎
11:35
|
(15) Извините, просто по вопросу показалось что Вы просто пользователь
|
|||
17
rozer76
09.07.21
✎
11:37
|
||||
18
Анастасия_85
09.07.21
✎
11:37
|
(15)
я работала с отладчиком в конкретной процедуре и форме, там, где у меня были ошибки. Я смотрела в табло значения переменных. Но когда касается общего модуля или вызова из других модулей, то мне сложно понять, в каком месте запустить отладчик. |
|||
19
youalex
09.07.21
✎
11:46
|
(18) ну видимо, где то здесь
ОбщийМодуль.УдалениеПомеченныхОбъектовСлужебный.Модуль : 225 : ЗапретитьИспользованиеУдаляемыхОбъектов(Источник, Отказ); А у тебя назначенные группы профилей, кстати, не помечены, случайно? |
|||
20
Анастасия_85
09.07.21
✎
11:54
|
(19)
нет, они не помечены на удаление. А вот кстати перенести права пользователей с помощью обработки переноса данных получилось и они всталив нужном (новом) пользователе. Я выгрузила нужные данные из регистра сведений ТаблицаГруппДоступа и загрузила для того пользователя, у кого не было. Только это конечно же не вариант.Знаю об этом, что нужно исправлять в базе |
|||
21
Анастасия_85
09.07.21
✎
11:57
|
(19)
Благодарю Вас за подсказку, сейчас попробую в этом месте сделать отладку. |
|||
22
Анастасия_85
09.07.21
✎
13:36
|
(20) не получилось перенести. Права просто у старого пользователя затёрлись :(
|
|||
23
Анастасия_85
09.07.21
✎
16:49
|
Поняла свою ошибку.
Отладка-остановка по ошибке нужно было добавить, и тогда в стеке вызовов отобразятся данные, которые прерывают выполнение кода. |
|||
24
Анастасия_85
16.07.21
✎
08:12
|
Доброго утра.
Мне помогли найти ошибку. Было дело в расширениях- при помощи отладки и обработки ОбновлениеВспомогательныхДанных.epf мы нашли, что ошибка была в расширениях. Возможно, что произошли изменения в ролях пользователей, которые конфликтуют с основной конфигурацией |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |