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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.08.2010, 11:34   #1  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5803 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от Logger Посмотреть сообщение
Что больше всего напрягает в этой ситуации - почему сервер накрывается ? Ну отваливался бы рабочий поток с одной сессией пользователя и все, так ведь аос целиком ложится!
Мне кажется, AOS просто не ловит соответствующие исключения, а раз так, то возникают они где-то там, где он не ожидает их словить. Вспоминается, как он валился однажды - при этом в eventlog писалось (виндой, а не самим AOS'ом) следующее:
Код:
Faulting application name: Ax32Serv.exe, version: 5.0.1500.2985, time stamp: 0x4c29d4fc
Faulting module name: Ax32Serv.exe, version: 5.0.1500.2985, time stamp: 0x4c29d4fc
Exception code: 0xc0000005
Fault offset: 0x0000000000650359
Faulting process id: 0x834
Faulting application start time: 0x01cb21cd511ff28c
Что примечательного в этом сообщении? А то, что виртуальный адрес 0x0000000000650359 находится посреди процессорной инструкции - вблизи него исполняемый код выглядит так:
Код:
.00000000`00650355: 4084FF     test  dil,dil
.00000000`00650358: 7411       jz   .00065036B
.00000000`0065035A: 488903     mov   [rbx],rax
.00000000`0065035D: 488B4630   mov   rax,[rsi][030]
.00000000`00650361: 483B18     cmp   rbx,[rax]
.00000000`00650364: 7517       jnz  .00065037D
т.е. по адресу 0x0000000000650358 начинается двухбайтовая инструкция условного перехода. Если же начать смотреть с адреса 0x0000000000650359, то увидим совсем левый код:
Код:
.00000000`00650359: 114889     adc  [rax][-077],ecx
.00000000`0065035C: 03488B     add  ecx,[rax][-075]
.00000000`0065035F: 4630483B   xor  [rax][03B],r9b
.00000000`00650363: 187517     sbb  [rbp][017],dh
Т.е. управление перешло по левому адресу (так совпало, что в сегмент кода, а могло бы куда угодно). Отсюда вывод: либо у AOS'а разрушился стек, либо он криво инициализировал какие-то структуры в памяти, используемые для передачи управления. При таком раскладе не удивительно, что он валится целиком, а не просто отстреливает одну сессию, как в трешке.
За это сообщение автора поблагодарили: aidsua (2), Corel (1).
Теги
aoc, aos, ax2009, crash, баг, ошибка, падает, ядро

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
mbsturk: Ax 2009 Rollup 4 Version Checker Blog bot DAX Blogs 0 29.04.2010 17:05
emeadaxsupport: List of fixes that improve performance of certain features in Dynamics AX 2009 Blog bot DAX Blogs 0 13.10.2009 19:06
gatesasbait: Dynamics AX 2009 SSRS and SSAS Integration Tips Blog bot DAX Blogs 3 09.07.2009 13:07
axStart: Microsoft Dynamics AX 2009 Hot Topics Web Seminar Series Blog bot DAX Blogs 0 06.08.2008 12:05
Arijit Basu: AX 2009 - Quick Overview Blog bot DAX Blogs 4 19.05.2008 14:47

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 23:28.