Статус: Новичок
Группы: Участники
Зарегистрирован: 28.06.2012(UTC) Сообщений: 4  Откуда: Санкт-Петербург
|
Добрый день! Мне необходимо использовать возможности КриптоПро CSP 3.6 R3 из JVM. Для этого я собрал пример XMLSignForVerify как dll-библиотеку, заменив заголовок функции _tmain на заголовок JNI-метода (с соответствующими изменениями кода). Библиотека успешно загружается в систему (System.load), метод также успешно выполняется (в выходном файле появляется подписанная xml). Однако в процессе выгрузки dll из памяти возникает EXCEPTION_ACCESS_VIOLATION. Версия msxml5.dll: 5.20.1092.0. Пробовал как на JDK6 (26 и 32), так и на JDK7. Подскажите, пожалуйста, почему может возникать такая ошибка и как с ней бороться? Код:Register to memory mapping:
EAX=
[error occurred during error reporting (printing register info), id 0xc0000005]
Stack: [0x17870000,0x178c0000], sp=0x178bf918, free space=318k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [msxml5.dll+0x2ca33] DllCanUnloadNow+0x463d
C [msxml5.dll+0x2d673] DllCanUnloadNow+0x527d
C [msxml5.dll+0x51a82] DllCanUnloadNow+0x2968c
C [msxml5.dll+0x6e9a0] DllCanUnloadNow+0x465aa
C [msxml5.dll+0xccc0d] DllCanUnloadNow+0xa4817
C [msxml5.dll+0xf5053] DllCanUnloadNow+0xccc5d
C [onewindow8549836316354918324.dll+0x146bf] ATL::CComPtrBase<IXMLDigitalSignatureEx>::~CComPtrBase<IXMLDigitalSignatureEx>+0x3f
C [onewindow8549836316354918324.dll+0x1465b] ATL::CComPtr<IXMLDigitalSignatureEx>::~CComPtr<IXMLDigitalSignatureEx>+0x2b
C [onewindow8549836316354918324.dll+0x1ee18] `dynamic atexit destructor for 'xmldsig''+0x28
C [onewindow8549836316354918324.dll+0x19a44] _CRT_INIT+0x254
C [onewindow8549836316354918324.dll+0x19d20] __DllMainCRTStartup+0x130
C [onewindow8549836316354918324.dll+0x19bd1] _DllMainCRTStartup+0x21
C [ntdll.dll+0x58968] wcsncmp+0x4c
C [ntdll.dll+0x5e094] RtlNumberGenericTableElements+0x84
C [ntdll.dll+0x5e12f] RtlExitUserProcess+0x74
C [kernel32.dll+0x5bbf7] ExitProcess+0x15
C [msvcr71.dll+0x8d04] exit+0x0
C [msvcr71.dll+0x8d11] exit+0xd
V [jvm.dll+0x11da2d]
V [jvm.dll+0x11cd4e]
V [jvm.dll+0x11d070]
V [jvm.dll+0x11d472]
V [jvm.dll+0x1411ac]
C [msvcr71.dll+0x9565] endthreadex+0xa0
C [kernel32.dll+0x4ed6c] BaseThreadInitThunk+0x12
C [ntdll.dll+0x6377b] RtlInitializeExceptionChain+0xef
C [ntdll.dll+0x6374e] RtlInitializeExceptionChain+0xc2
VM_Operation (0x0058fb50): Exit, mode: safepoint, requested by thread 0x005bb000
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,399  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 719 раз в 623 постах
|
Судя по всему, собрали с несовместимым рантаймом. Попробуйте со статическим. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 28.06.2012(UTC) Сообщений: 4  Откуда: Санкт-Петербург
|
Попробовал собрать с /MTd - не помогло. Стектрейс увеличился на две строчки: Код:C [onewindow7791891002821819100.dll+0x343e4] doexit+0x104
C [onewindow7791891002821819100.dll+0x340e0] _cexit+0x10
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 28.06.2012(UTC) Сообщений: 4  Откуда: Санкт-Петербург
|
Разобрался. При копировании примера Microsoft были потеряны вызовы двух методов. Метод: Код:void cleanObjects()
{
xmldoc.Release();
spXMLSignDOM.Release();
xmldsig.Release();
}
Вызов: Код:SignXML(CERTIFICATES, L"", sigFile);
cleanObjects();
CoUninitialize();
Отредактировано пользователем 2 июля 2012 г. 15:17:16(UTC)
| Причина: Не указана
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close