15.09.2014, 10:57 | #1 |
Участник
|
Падает служба Dynamics AX
Всем привет !
Подскажи - может кто сталкивался. Проблема в следующем: MS DynamicsAX 2012 R2 6.2.158.0 MS SQL 2008 Windows Server 2008 R2 Всё работало хорошо, но во время создания новой View на основе Query неожиданно вылетел AOT, смотрю в службы - служба не запущена. Теперь после запуска службы, при открытии любого проекта, разворачивание ветки Tables в AOT,представлений....и в общем всего. Служба останавливается. В логах windows поначалу писалось 2 ошибки: 1. Код: Имя сбойного приложения: Ax32Serv.exe, версия: 6.2.158.0, отметка времени: 0x50a65c76 Имя сбойного модуля: Ax32Serv.exe, версия: 6.2.158.0, отметка времени 0x50a65c76 Код исключения: 0xc00000fd Смещение ошибки: 0x0000000000e4fb33 Идентификатор сбойного процесса: 0xec8 Время запуска сбойного приложения: 0x01cfd0ada08553f3 Путь сбойного приложения: C:\Program Files\Microsoft Dynamics AX\60\Server\MicrosoftDynamicsAX\Bin\Ax32Serv.exe Путь сбойного модуля: C:\Program Files\Microsoft Dynamics AX\60\Server\MicrosoftDynamicsAX\Bin\Ax32Serv.exe Код отчета: ce55a598-3ca1-11e4-906c-000c295b71de Код: RPC exception 1726 occurred in session 3 process is Ax32.exe thread is 2528(User: Admin, ClientType: GUI) Начал искать эту зловещую вьюху в SQLServer, но так её не нашёл. Компилировать + синхронизировать не даёт - тоже вылетает. Куда копать не знаю. Про RPC exception 1726 - пишут что надо накатить заплатки, но все эти советы с 2007 - 2011 годов ))) |
|
15.09.2014, 13:03 | #2 |
NavAx
|
А я смотрю, баг-то старый так и не починили:
DAX2009. Запороть приложение (слой) Раньше можно было в .aot файл залезть, а теперь, видимо, придется лезть в БД...
__________________
Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты... |
|
15.09.2014, 13:44 | #3 |
Участник
|
А можно поподробнее, хоть примерно что делать ... а то смотрю в книгу и вижу фигу ))) попробовал парочку советов сделать , но нечего не получилось ... как и раньше всё.
|
|
15.09.2014, 13:45 | #4 |
Участник
|
Версия у вас какая-то странная - почему не используете последний билд?
__________________
Ivanhoe as is.. |
|
15.09.2014, 13:58 | #5 |
----------------
|
О проверке метаданных
и к сведению Цитата:
906188 Creating a self-referencing view triggers a stack overflow on the AOS
Product and version Microsoft Dynamics AX 2012 R2 RESOLUTION Will not be fixed PROBLEM When creating a self-referencing view, it triggers a stack overflow on the AOS. REMARKS Microsoft has evaluated this issue, and will not be issuing a fix at this time. |
|
|
За это сообщение автора поблагодарили: Logger (1), gl00mie (2). |
15.09.2014, 13:58 | #6 |
Участник
|
на этот вопрос к сожалению не смогу ответить... админю и обновляю не я :-(
|
|
15.09.2014, 15:04 | #7 |
Участник
|
спасибо за ссылку, хоть с мёртвой точки сдвинулся. Нашёл я таки таблицу (вьюху) из-за которой пробела.
Но вот удалить utilElement.delete(); не выходить , ругается - Код: Описание ошибки SQL: [Microsoft][SQL Server Native Client 10.0][SQL Server] View or function 'MicrosoftDynamicsAX_model.dbo.UTILIDELEMENTS' is not updatable because the modification affects multiple base tables. |
|
15.09.2014, 16:37 | #8 |
NavAx
|
Дык, удаляйте из БД, у вас других вариантов нет. Бэкапнуться не забудьте.
Хотя потом я бы вылил всё понапиленное и перелил бы на чистое приложение. Надо же - в 2012й они даже таки kb создали... Нашли, наконец-то после стольких лет. Это еще в 2.5, насколько помню, было.
__________________
Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты... |
|
|
За это сообщение автора поблагодарили: Logger (1), ackid (1). |
15.09.2014, 17:48 | #9 |
----------------
|
|
|
|
За это сообщение автора поблагодарили: Ivanhoe (1). |
16.09.2014, 01:42 | #10 |
Боец
|
Цитата:
Нужно как-то вырезать вью из SQL... Последний раз редактировалось DSPIC; 16.09.2014 в 01:44. |
|
|
За это сообщение автора поблагодарили: Wamr (5), Logger (3), Corel (1), S.Kuskov (5). |
16.09.2014, 05:06 | #11 |
Участник
|
Да вы DSPIC абсолютно правы, я перетягивал query в Datasource....
Спасибо всем, помогли прямо таки выручили))) delete from ModelElementData delete from ModelElement помогли, и я экспортнул все проекты.... Но всё равно думаю придётся удалять слой.... |
|
16.09.2014, 09:03 | #12 |
----------------
|
Цитата:
KB 2929836 Application Object Server (AOS) crashes if adding a query under data source of view given the name of query and view is the same
Product and version Microsoft Dynamics AX 2012 R2 PROBLEM Application Object Server (AOS) crashes if adding a query under data source of view given the name of query and view is the same. DESCRIPTION OF CHANGE The changes in the hotfix resolve this issue. Query should cannot be added to data sources of view if they were use the same name. |
|
|
За это сообщение автора поблагодарили: TasmanianDevil (7). |
16.09.2014, 11:37 | #13 |
NavAx
|
Цитата:
Сообщение от DSPIC
Скорее всего, когда вы перетягивали Quеry, ошиблись узлом - перетянули не в ветку Query а в ветку Datasource. Это гарантированно убивает слой еще со времен AX2009, как только появилась возможность строить View на основе Query. При любой попытке достучаться до такой битой View (в т.ч. На программном уровне через TreeNode) AOS складывается. Лечилось только удалением слоя. С тех пор у самого трясутся руки когда перетаскиваю Query во View дабы не промазать
Нужно как-то вырезать вью из SQL...
__________________
Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты... |
|
16.09.2014, 17:13 | #14 |
Боец
|
|
|
09.02.2018, 12:43 | #15 |
Участник
|
Недавно словили эту багу при работе в 2009-й аксапте.
В итоге разработали способ как это просто вылечить не удаляя слой. Пусть для определенности у нас кривая вьюха на usr слое. При любых попытках что-то сделать с ней аос падает по причине Падает служба Dynamics AX 1. Тогда берем другое приложение. Заходим там на usp слой. Создаем там вьюху с таким же именем и идентификатором. 2. Перекладываем usp слой в проблемное приложение. 3. Рестартуем аос 4. В итоге прямая вьюха на usp слое закрывает кривую вьюху и аос перестает падать. Дальше лечим usr слой. Запускаем на сервере джобик: X++: static server void main(Args _args) { UtilElements utilElements; Tableid viewId = 50900; // поставить свой id вьюхи UtilEntryLevel utilEntryLevel = UtilEntryLevel::usr; Identifiername name = 'Metadata'; // имя узла надо предварительно перепроверить при просмотре в обозревателе таблички UtilElements str str2Scan; void locView(str _str2Scan) { int i; str s; int charCode; ; _str2Scan = strRem(_str2Scan, "\n\r"); for (i = 1; i<= strlen(_str2Scan); i += 2) { charCode = str2int('0x' + substr(_str2Scan, i, 2)); s += num2char(charCode); } info(s); } ; ttsbegin; flush utilElements; utilElements.disableCache(true); utilElements.skipTTSCheck(1); utilElements.ttsbegin(); select forupdate utilElements where utilElements.utilLevel == utilEntryLevel && utilElements.parentid == viewId && utilElements.name == name // по идее может сработать и без этого условия && utilElements.recordType == UtilElementType::ViewQuery; str2Scan = BinData::dataToString(UtilElements.code); locView(str2Scan); // throw info("Ну очень стремно удалять"); utilElements.doDelete(); utilElements.ttscommit(); ttscommit; } Можно удалять usp слой. P.S. Возможно, что сработает и без манипуляция с usp слоем - я не пробовал. Нет желания повторять. Если в джобе поставить переменную с типом utilIdElements то почему-то не срабатывает - отказывается редактировать или удалять запись с такими сообщениями: Цитата:
Невозможно удалить запись в Application Model (UtilIdElements).
Номер записи не соответствует первоначальному номеру. Если таблицей используется весь кэш таблицы, это может быть вызвано тем, что этот кэш был сброшен. В этом случае следует перезапустить задание. Цитата:
Невозможно отредактировать запись в Application Model (UtilIdElements).
Номер записи не соответствует первоначальному номеру. Если таблицей используется весь кэш таблицы, это может быть вызвано тем, что этот кэш был сброшен. В этом случае следует перезапустить задание. Интересно, почему так. Последний раз редактировалось Logger; 09.02.2018 в 13:04. |
|
|
За это сообщение автора поблагодарили: DSPIC (10), Pasha_x (1), gl00mie (10), fed (5), raz (5), _scorp_ (10). |
09.02.2018, 13:20 | #16 |
Боец
|
Цитата:
Если в джобе поставить переменную с типом utilIdElements то почему-то не срабатывает - отказывается редактировать или удалять запись с такими сообщениями
|
|
09.02.2018, 13:26 | #17 |
Участник
|
Да, редактировать можно.
Тут еще AndyD выкладывал джобы как редактируя эти таблички можно менять идентификаторы объектов. |
|
09.02.2018, 13:52 | #18 |
Участник
|
Цитата:
Джоб несет атавизмы наших танцев с бубнами. После достижения результата, я не стал перепроверять можно ли еще проще сделать. UtilIdElements, падлюка, ведет себя совсем не так как UtilElements. Редактировать данные отказывается, вот мы и намучились с этим. Но стоило тип таблички поменять и удаление проскочило на ура. |
|
09.02.2018, 15:33 | #19 |
Участник
|
А мне в своё время вот этот комментарий помог DAX2009. Запороть приложение (слой)
При должной сноровке можно и так |
|
09.02.2018, 17:19 | #20 |
Участник
|
Ага, этот способ отложили на потом - как крайнюю меру. Стремно как-то туда лезть.
|
|
Теги |
aos crash, bugfix, view, баг, падает |
|
|