Тема: RPC Error 1726
Показать сообщение отдельно
Старый 24.08.2011, 16:15   #11  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5803 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от mazzy Посмотреть сообщение
Вот и у меня возникло подобное Object Server 01: RPC error: RPC exception 1726 occurred in session 3
только AOS не валится, а закрывает клиентскую сессию. и не переодически а в одном и том же месте - на закрытии книги продаж. есть соображения что с этим можно сделать?
Совсем недавно fed напоминал о серии статей, посвященных анализу дампов AOS'а AX 2009 x64. Я бы попробовал подключиться к выделенному для экспериментов AOS'у отладчиком, словить отладчиком это исключение и при остановленном AOS'е либо прямо в памяти посмотреть, где именно в коде Х++ валится сессия, либо дамп сделать (хотя нафиг дамп, если есть "живой" AOS). Мне лично недавно очень помогла статья Finding the X++ call stack that caused a crash: нужно было найти, из-за чего клиент подвисал на отправке почты через штатную cdosys.dll, и удалось локализовать место внутри этой библиотеки, где все зависало. Надо только учесть, что у Tariq'а в статье есть пара опечаток, которые становятся очевидны при просмотре приведенного им выхлопа отладчика:
  1. Цитата:
    Look for the Ax32Serv!interpret::evalFunc frames take the location from the line below and then run in AX2009 64 bit: dw 000000002311b150+30
    на самом деле +20
  2. Цитата:
    Next you can run in AX2009 64 bit: db 000000002311b150+38
    на самом деле +28
Для аналогичного анализа дампа памяти или "живого" клиента AX 2009 подходят приведенные им рецепты для AX4 32-bit (ну и плюс в этом случае надо использовать WinDBG x86 - даже на винде x64). Разумеется, также можно воспользоваться приведенными им скриптами для выуживания стека вызовов X++. Да, и лучше это все делать на ядре RU7, потому что для него отладочные символы в открытом доступе есть, а для RU6, насколько я могу судить, - нет.

PS. Также хочу напомнить, что с ключом ком. строки /console AOS можно запустить не как сервис, а как обычное консольное приложение - в т.ч. прямо из-под отладчика.

Последний раз редактировалось gl00mie; 24.08.2011 в 16:19. Причина: PS
За это сообщение автора поблагодарили: mazzy (2), Logger (5).