assert error in underlying libcryptopp.a

Hi!

I am using TurboActivate.so on a 32-bit Ubuntu platform.I get the following error:

cryptopp/secblock.h:197: void CryptoPP::FixedSizeAllocatorWithCleanup<T, S, A, T_Align16>::deallocate(void*, typename CryptoPP::AllocatorBase<T>::size_type) [with T = unsigned int, unsigned int S = 60u, A = CryptoPP::NullAllocator<unsigned int>, bool T_Align16 = true]: Assertion `m_allocated' failed.

---

I have done a bit of researching on this error and discovered the following link that seems to explain the problem with the libcryptopp open source library. It also suggests a solution. The link is: https://groups.google.com/forum/?fromgroups=#!searchin/cryptopp-users/197/cryptopp-users/-pswEq8A0a8/t7sluZXijIAJ

I am assuming that libcryptopp.a is statically linked into TurboActivate.so

It appears that the error in libcryptopp.a is causing TurboActivate.so to abort on our 32-bit Ubuntu test platform. According to the article above, the solution is to rebuild libcryptopp.a disabling "Whole Program" optimization.

Do you have a solution?Thanks!

Hey Steve,

Whole Program Optimization is a Windows compiler thing (not linux). Can you give us an example that reproduces this crash? A simple C/C++ example that reproduces this would be ideal. Also, tell me the distro version you're on and the compiler you're using (exact version please).

You can send the code to wyatt@wyday.com and we'll try to reproduce it..

In order to create a small sample app that illustrated my problem, I thought I would start with the Java sample provided in the LimeLM distribution. After building it on my Ubuntu 32-bit system, the sample ran successfully.

Here comes the weird part: after running the Java sample successfully, I tried running my own application again. This time it WORKED! Even if I rebooted Ubuntu, my application continued to work properly. So it appears that the LimeLM Java sample changes something in the Ubuntu environment that enables my application to function properly. To be more specific, if the LimeLM Java sample gets to the point where it has invoked TurboActivate.UseTrial(), then MY app begins to function correctly.

Any idea what the LimeLM Java sample (specifically TurboActivate.UseTrial()) is changing in the Ubuntu environment?

I'm not sure what the problem is. What TurboActivate function did you originally call that caused this error?