Форум КриптоПро
»
Средства криптографической защиты информации
»
Встраивание
»
Ошибка 0x8009000e при обращении к CSP: Недостаточно доступной памяти для выполнения операции.
Статус: Участник
Группы: Участники
Зарегистрирован: 23.06.2010(UTC) Сообщений: 24 Откуда: nowhere
|
Здравствуйте!
Подскажите, пожалуйста, какие ресурсы CSP исчерпываются при выдаче диагностики "Ошибка 0x8009000e при обращении к CSP: Недостаточно доступной памяти для выполнения операции."? Только хэндлеры хранилищ и сертификатов или еще что-то? Ошибка возникла при подписи буфера...
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,190   Сказал «Спасибо»: 621 раз Поблагодарили: 2397 раз в 1886 постах
|
Автор: sabretoothedhamster  Здравствуйте!
Подскажите, пожалуйста, какие ресурсы CSP исчерпываются при выдаче диагностики "Ошибка 0x8009000e при обращении к CSP: Недостаточно доступной памяти для выполнения операции."? Только хэндлеры хранилищ и сертификатов или еще что-то? Ошибка возникла при подписи буфера... Какой размер буфера? Код кто будет показывать?
У Вас ошибка в 17 строке (с)
|
|
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 23.06.2010(UTC) Сообщений: 24 Откуда: nowhere
|
Извините, нужно было сразу уточнить, что код, в котором произошла эта ошибка (С++/CryptoAPI), прошёл тестирование и уже некоторое время исправно работает. Проблема возникла при повышении нагрузки. Я отнюдь не рассчитываю на чью-то помощь в копании 200K+ исходников. Разбираться придется самим. Пока есть две версии: утечка ресурсов и повреждение памяти. Чтобы поиск ошибки был более предметным, хотелось бы понять, где и что искать. Поэтому мне и интересно, какие именно ресурсы (помимо памяти, доступной через GlobalAlloc/LocalAlloc, и абсолютно точно на момент сбоя имевшейся в избытке) могут исчерпываться "внутри" CryptoPro. Например, что за хэндлеры регулируются с помощью HKLM\SOFTWARE[WOW6432Node]Crypto Pro\Cryptography\CurrentVersion\Parameters\MaxHandles ?
P.S. Размер буфера определяется через CryptMsgCalculateEncodedLength, дальше CryptMsgOpenToEncode, и CryptMsgUpdate, который и возвращает 0x8009000e P.P.S. Ошибка случилась с CSP 3.6.6497(5359) KC1 x64 под Win2008 R2 SP1
|
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 23.06.2010(UTC) Сообщений: 24 Откуда: nowhere
|
И еще - может есть какой-нибудь вызов, позволяющий "мониторить" текущее количество оставшихся в CryptoPro ресурсов?
|
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,457  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 39 раз Поблагодарили: 750 раз в 645 постах
|
NTE_NO_MEMORY - ошибка выделения памяти. Скорее всего вы используете функции уровня CryptMsg в непоточном режиме и памяти не хватает им, а не CSP. MaxHandles - регулирует число хэндлов объектов криптопровайдера. По сути только этот ресурс может иссякать - но тогда получите запись в EventLog.
|
|
 1 пользователь поблагодарил Максим Коллегин за этот пост.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 23.06.2010(UTC) Сообщений: 24 Откуда: nowhere
|
Запись в EventLog появляется. Вопрос про ресурсы и их мониторинг остается актуальным.
|
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,457  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 39 раз Поблагодарили: 750 раз в 645 постах
|
Нет, такого вызова не предусмотренно. |
|
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 23.06.2010(UTC) Сообщений: 24 Откуда: nowhere
|
Печально :( А на что хендлеры могут потенциально "расходоваться"?
|
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,457  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 39 раз Поблагодарили: 750 раз в 645 постах
|
Хэндлы используются при создании любого объекта CSP: провайдер, ключ, хэш. Вероятно, в Вашем приложении что-то из этого не освобождается. Или создается одновременно очень много объектов - тогда значение по умолчанию нужно увеличить. Отредактировано пользователем 10 декабря 2013 г. 18:23:59(UTC)
| Причина: Не указана |
|
|
|
|
|
|
Форум КриптоПро
»
Средства криптографической защиты информации
»
Встраивание
»
Ошибка 0x8009000e при обращении к CSP: Недостаточно доступной памяти для выполнения операции.
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close