AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
DAX
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.02.2011, 21:42   #1  
DSPIC is offline
DSPIC
Боец
Аватар для DSPIC
MCP
Лучший по профессии 2017
Лучший по профессии 2014
Лучший по профессии 2009
 
1,024 / 1065 (38) ++++++++
Регистрация: 11.04.2008
Адрес: Минск
Batch + info() = "RPC error: RPC exception 1702 occurred in session XXX"
AX2009 RU5,RU6.
Столкнулись с такой проблемой: если ф-я Info("") вызывается во время отработки пакетного задания, то это однозначно приводит к ошибке вызова клиентского кода в журнале Windows (вид ошибки см. в теме). Сколько раз вызывался метод info(), столько ошибок и вываливается. Замечено также, что часто AOS "захлёбывается" в множестве таких ошибок и падает (есть у нас один пакетник, который за один цикл своей отработки вызывает инфолог около двухсот раз ).
Воспроизвести ошибку довольно просто - берем класс Tutorial_RunbaseBatch в методе run вызываем Info(""), запускаем класс на выполнение в пакетном режиме и наблюдаем за журналом Windows.
Ошибка воспроизводится на совершенно девственных инсталляциях AX2009 RU5,RU6 (другие версии не проверял), а также на OS 2008 Server R2, Win7 (другие версии не проверял).

Естественно, это актуально не только для метода info(), но и для всех схожих методов, таких как error(), warning() - ошибка возникает непосредственно в kernel-методе xInfo.add().
Пока слепил workaround - просто блокируем вызов инфолога для SessionType = Worker, логируя infolog messages в отдельный лог, но хотелось бы обойтись без костылей.

Сталкивался ли кто-то с подобной проблемой?
__________________
Мой блог
За это сообщение автора поблагодарили: Logger (3).
Старый 23.02.2011, 02:11   #2  
Bober is offline
Bober
Участник
 
311 / 104 (4) +++++
Регистрация: 29.05.2007
1) можно попробовать еще костыль (не пробовал, но думаю что сработает): собирать все сообщения одного пакетного задания в textbuffer() и потом выводить в инфолог однократно по завершении задания. По крайней мере, специальный лог вести не придется.
2) off: от чтения всех постов об AX2009 - складывается мнение, что версия в целом крайне кривая и сырая.... такое "оценочное мнение" верное?
Старый 23.02.2011, 08:34   #3  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,564 / 4942 (170) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Я бы начал с проверки кода методов Global.Info() и info.add(). По умолчанию он складывает сообщения в infolog. А стандартный обработчик пакетных заданий эти сообщения из infolog вынимает и складывает в поле batch.info(). Рискну предположить, что у вас в код одного из этих методов добавлены вызовы функций или классов выполняющихся на клиенте. А поскольку клиента как такового у пакетного сервера нету, он обращает ваше внимание на этот прискорбный факт выдачей сообщений о RPC-exception 1702. Кстати у нас весь лог пакетного сервера такими сообщениями забит и он все равно не падает. Так что проверить и почистить методы выдачи сообщений можно, но исходной проблеме это вряд-ли поможет.

to bober: Нормальная система, не сырая. По большому счету уже год как можно пользоваться без особых проблем. Всерьез глючат только Workflow и интеграция с SSRS. Все остальное глючит и падает не чаще чем в третьей версии...
За это сообщение автора поблагодарили: mazzy (2).
Старый 23.02.2011, 14:22   #4  
DSPIC is offline
DSPIC
Боец
Аватар для DSPIC
MCP
Лучший по профессии 2017
Лучший по профессии 2014
Лучший по профессии 2009
 
1,024 / 1065 (38) ++++++++
Регистрация: 11.04.2008
Адрес: Минск
Цитата:
Сообщение от fed Посмотреть сообщение
... Рискну предположить, что у вас в код одного из этих методов добавлены вызовы функций или классов выполняющихся на клиенте...
Увы, постороннего кода в этих методах нет; как я упомянул ранее, ошибка возникает непосредственно методе xInfo.add().
Цитата:
Сообщение от DSPIC Посмотреть сообщение
... ошибка возникает непосредственно в kernel-методе xInfo.add()...
Можно взять стандартную, out of the box AX2009 и смело воспроизвести ошибку.
Вот, к примеру, код метода \Classes\Tutorial_RunbaseBatch\run:
X++:
public void run()
{
    #OCCRetryCount
    if (! this.validate())
        throw error("");

    try
    {
        ttsbegin;

        info("Test");

        ttscommit;
    }
    catch (Exception::Deadlock)
    {
        retry;
    }
    catch (Exception::UpdateConflict)
    {
        if (appl.ttsLevel() == 0)
        {
            if (xSession::currentRetryCount() >= #RetryNum)
            {
                throw Exception::UpdateConflictNotRecovered;
            }
            else
            {
                retry;
            }
        }
        else
        {
            throw Exception::UpdateConflict;
        }
    }

}
А вот трассировка его выполнения:

Название: ClientOutput.png
Просмотров: 3427

Размер: 38.2 Кб

В общем, вероятно это баг ядра.
Что касается падения АОС, то пока нет однозначной уверенности в связи с этой ошибкой. По наблюдениям можно сказать:
- внезапнопу падению АОС всегда предшествовала серия этих ошибок в журнале OS (падал как минимум раз в 2 дня)
- после вставки костыля АОС уже неделю не падает (возможно и совпадение, наблюдаем...)
__________________
Мой блог
Старый 23.02.2011, 14:41   #5  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,564 / 4942 (170) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Скопировал твой код в метод run класса Tutorial_RunbaseBatch() девстенно чистой 2009SP1RU6. Прогнал три раза. В ивент-логе - тишина. Ни одного сообщения.Может у тебя ядро старое ?

Вообще-то учитывая что большая часть стандартной функциональности время от времени использует info() или warning(), трудно предположить что такую грубую ошибку в ядре не заметили бы во время тестирования, даже в исходной DAX2009 без всяких SP и RollUp. Может это у вас в инфраструктуре какие-то грабли ? Типа какой-нить патч для RPC не стоит (Знать бы какой ) или еще чего-то подобное ?
Старый 23.02.2011, 14:56   #6  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,125 / 2143 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Ошибка воспроизводится
Windows Server 2003 R2, Dynamics AX 2009 RU6 5.0.1500.3761.

Такая же тема: http://blogs.msdn.com/b/floditt/arch...batch-job.aspx
__________________
Ivanhoe as is..

Последний раз редактировалось Ivanhoe; 23.02.2011 в 15:01.
Старый 23.02.2011, 15:01   #7  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,564 / 4942 (170) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Ошибка воспроизводится
Windows Server 2003 R2, Dynamics AX 2009 RU6 5.0.1500.3761.
ДОбавлю что у меня на рабочей станции w7. А для WS2003 (возможно без R2) ТОЧНО был какой-то патч для RPC, который надо было ставить чтобы 4ка не глючила. Правда, боюсь что точное название патча я потерял...
P.S. Вспомнил. Это было http://support.microsoft.com/?kbid=913184
Только он для WS2003R2 не нужен по моему, да и симптомы там другие.

Последний раз редактировалось fed; 23.02.2011 в 15:04.
За это сообщение автора поблагодарили: Logger (1).
Старый 23.02.2011, 15:01   #8  
DSPIC is offline
DSPIC
Боец
Аватар для DSPIC
MCP
Лучший по профессии 2017
Лучший по профессии 2014
Лучший по профессии 2009
 
1,024 / 1065 (38) ++++++++
Регистрация: 11.04.2008
Адрес: Минск
Цитата:
Сообщение от fed Посмотреть сообщение
Скопировал твой код в метод run класса Tutorial_RunbaseBatch() девстенно чистой 2009SP1RU6. Прогнал три раза...
А запуск в пакетном режиме прогонял?

Хм. Буду эксперементировать. На данный момент тестирую на своём ноуте, WIN7.
Название: 23.02.png
Просмотров: 4077

Размер: 4.9 Кб
Хотя на работе стоит RU6. Попробую обновить у себя до RU6, посмотрим.
__________________
Мой блог
Старый 23.02.2011, 15:05   #9  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,564 / 4942 (170) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Цитата:
Сообщение от DSPIC Посмотреть сообщение
А запуск в пакетном режиме прогонял?
Конечно гонял. Собственно - непакетный режим я и не проверил даже...
Старый 23.02.2011, 15:21   #10  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,734 / 846 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
под каким пользователем (какие права) запущен АОС?
Старый 23.02.2011, 15:26   #11  
DSPIC is offline
DSPIC
Боец
Аватар для DSPIC
MCP
Лучший по профессии 2017
Лучший по профессии 2014
Лучший по профессии 2009
 
1,024 / 1065 (38) ++++++++
Регистрация: 11.04.2008
Адрес: Минск
Цитата:
Сообщение от Wamr Посмотреть сообщение
под каким пользователем (какие права) запущен АОС?
Под учеткой, входящей в группу "администраторы".
__________________
Мой блог
Старый 23.02.2011, 15:27   #12  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,734 / 846 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Доменные администраторы или локальные?
Старый 23.02.2011, 15:31   #13  
DSPIC is offline
DSPIC
Боец
Аватар для DSPIC
MCP
Лучший по профессии 2017
Лучший по профессии 2014
Лучший по профессии 2009
 
1,024 / 1065 (38) ++++++++
Регистрация: 11.04.2008
Адрес: Минск
Цитата:
Сообщение от Wamr Посмотреть сообщение
Доменные администраторы или локальные?
Локальные.
Ещё добавлю, что все инсталляции AX и OS - x64
__________________
Мой блог
Старый 23.02.2011, 15:33   #14  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,564 / 4942 (170) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Цитата:
Сообщение от DSPIC Посмотреть сообщение
Локальные.
Ещё добавлю, что все инсталляции AX и OS - x64
У меня тоже 64битный AOS под 64битной W7. Пользователь - вообще Network Service.
Старый 23.02.2011, 19:40   #15  
DSPIC is offline
DSPIC
Боец
Аватар для DSPIC
MCP
Лучший по профессии 2017
Лучший по профессии 2014
Лучший по профессии 2009
 
1,024 / 1065 (38) ++++++++
Регистрация: 11.04.2008
Адрес: Минск
Эээ, кажется победил. Виной всему оказалась эта галка:
Нажмите на изображение для увеличения
Название: 23.02.png
Просмотров: 839
Размер:	43.2 Кб
ID:	6626

Включенная отладка пакетников приводит к генерации ошибки вида "RPC error: RPC exception 1702 occurred in session XXX" при вызове метода info() из пакетных задач.

Пока не могу проверить на боевых серверах, но на моём ноуте работает. Проверено на всех проблемных инсталляциях - лечится.

P.S.Обновление до RU6 эффекта не дало.
__________________
Мой блог

Последний раз редактировалось DSPIC; 23.02.2011 в 20:33.
За это сообщение автора поблагодарили: db (3), sukhanchik (4), Logger (10), Poleax (1), Ivanhoe (2), IvanS (1), Proba (1), Mykola Galak (2), someOne (2), Veter (1).
Старый 23.02.2011, 20:22   #16  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,348 / 2249 (81) +++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от fed Посмотреть сообщение
Скопировал твой код в метод run класса Tutorial_RunbaseBatch() девстенно чистой 2009SP1RU6. Прогнал три раза. В ивент-логе - тишина. Ни одного сообщения.Может у тебя ядро старое ?
У нас тоже такая ошибка лезет.
Ядро 3968 (RU6 + hotfixes)
Старый 23.02.2011, 20:34   #17  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,564 / 4942 (170) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Цитата:
Сообщение от DSPIC Посмотреть сообщение
Эээ, кажется победил. Виной всему оказалась эта галка:
Вложение 6626

Включенная отладка пакетников приводит к генерации ошибки вида "RPC error: RPC exception 1702 occurred in session XXX" при вызове метода info() из пакетных задач.

Пока не могу проверить на боевых серверах, но на моём ноуте работает. Проверено на всех проблемных инсталляциях - лечится.

P.S.Обновление до RU6 эффекта не дало.
Очень может быть. У меня как раз на ноуте стоит девстенно чистая аксапта с дефолтными установками но без данных и режима отладки. Я в ней только в исходных текстах стандарта копаюсь Соответственно галочка у меня не стоит.
За это сообщение автора поблагодарили: DSPIC (5).
Старый 23.02.2011, 21:48   #18  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,348 / 2249 (81) +++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Спасибо за найденные баги - отключил галку - пропали сообщения об ошибках RPC.
Старый 10.01.2013, 10:49   #19  
Mykola Galak is offline
Mykola Galak
Участник
 
40 / 39 (2) +++
Регистрация: 24.01.2008
Адрес: Copenhagen
Цитата:
Сообщение от DSPIC Посмотреть сообщение
Включенная отладка пакетников приводит к генерации ошибки вида "RPC error: RPC exception 1702 occurred in session XXX" при вызове метода info() из пакетных задач
Столкнулся с такой же проблемой. Подозреваю причина RPC exception 1702 кроется в том, что если активирована отладка пакетников, ядро пытается найти дебагер, чтобы переслать туда инфолог. Поскольку дебагер найти не получается, ядро регистрирует ошибку в ивент логе и продолжает выполнять код.
Старый 29.07.2014, 11:31   #20  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,348 / 2249 (81) +++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
хм.
В виртуалке ax2012 R3 от MS похоже ошибка сохранилась
Теги
ax2009, rpc, отладка, ошибка, пакетное задание, ядро

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
RPC exception 5 occurred (AX2009) player DAX: Администрирование 6 30.05.2012 11:38
"An unexpected exception occurred" во время установки. Hub DAX: Администрирование 2 19.12.2009 12:09
RPC error: Exception 3221225495 occurred in session 1 Ivanhoe DAX: Администрирование 7 03.03.2009 08:03
axaptapedia: Batch processing Blog bot DAX Blogs 0 29.01.2009 17:05
Вылетает аxапта 4.0 при завершении работы Delfins DAX: Прочие вопросы 5 27.06.2007 15:43
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 20:32.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.