Участник
Регистрация: 28.11.2005
Адрес: Москва
|
Цитата:
Сообщение от eugene egorov
Faulting application ax32serv.exe, version 4.0.2501.116, stamp 46948f66, faulting module ax32serv.exe, version 4.0.2501.116, stamp 46948f66, debug? 0, fault address 0x00197c82.
Цитата:
Сообщение от gl00mie
Сейчас люди, у которых есть отладочная информация, а то и исходники AOS'а 4.0 SP2, распишут вам, в чем причина его падения по адресу 0x00197c82 в вашем конкретном случае.
Нет, пожалуй, по этим данным даже те, у кого есть отладочная информация, не ответят, потому что такого адреса в модуле ax32serv.exe не наблюдается; либо в вашем конкретном случае в его адресном пространстве загружено что-то такое большое и специфическое, что заставило винду вопреки обыкновению использовать отличное от указанного в исполняемом файле значение image base. А оно в ax32serv.exe - 0x01000000, соотв., указанный адрес должен быть скорее 0x01197c82. Если адрес действительно такой, то он в 4.0SP2 относится к коду формирования запроса (возможно, общего для SQL и Oracle - я проверял на SQL), а именно, как я понимаю, к коду, формирующему строку "order by a.field1, b.field2 desc, c.field3...". По этому адресу после вызова функции, возвращающей нечто вроде объекта DictField, берется указатель на имя поля из свойства возвращаемого объекта. При этом в каких-то случаях вместо указателя на объект может возвращаться NULL, а в функции, формирующей строку order by, проверки на это что в SP2, что в SP1 отсутствуют - видимо, это событие происходить, по мнению разработчиков, не должно. Так вот, если с адресом я оказался прав, то у вас по какой-то причине как раз возникает такая ситуация, и AOS должен валиться с исключением 0xc0000005 (access violation).
Если, опять же, я на счет адреса и причин падения AOS'а не ошибся, то, видимо, ошибка возникает на запросе, который формирует сортировку (или выборку с агрегатными функциями) с использованием fieldId, и при этом какой-то fieldid оказывается "левым". Опять же, причин тому может быть множество - от передачи в качестве параметра "левого" fieldId до использования сохраненных в SysLastValue запросов, "устаревших" в виду того, что при переходе на 4-ку поменялись идентификаторы каких-то табличных полей...
|