Hello,

I have developed a C++ application (developed under VS 2008) which uses
Axis2 library, which uses OpenSSL. Application is multithreaded, and each
thread initiates new axis instance using SSL. Issues occur mostly after
second thread is created, but it sometimes takes a bit longer: various
functions, such as malloc throw "memory access violation" errors. The errors
first occured within axis2 dlls, but then I found out that \MD should be
used instead of statically linking, and it seems errors stopped on axis
level, but my application still experiences memory violations, mainly in a
thread dealing with HID where many mallocs and pointers are used.

I compiled OpenSSL (latest version) using nasm and instructions given in
INSTALL W32, and Axis using flags:
ENABLE_SSL = 1
ENABLE_LIBCURL = 0
ENABLE_LIBXML2=0
WITH_TCP = 0
WITH_ARCHIVE = 0
OPENSSL_BIN_DIR = H:\openssl\dir
CRUNTIME = /MD
EMBED_MANIFEST = 1
DEBUG = 1

My application is compiled using dynamic linking (MD) as well.

I suppose axis has nothing to do with errors I experience, but it is in
regard to openssl, but my application doesn't use ssl itself, nor it has it
linked/included anywhere. Should I include openssl headers and
invoke crypto_malloc_init or am I missing something else?

Note that everything works fine when ssl is not used.

Thank you,
Marin

Reply via email to