On Thu, May 4, 2017 at 5:35 PM, Mehmet TUFEKCI <
mtufek...@gmail.com> wrote:
>
> 5 Mayıs 2017 Cuma 00:14:49 UTC+3 tarihinde Jeffrey Walton yazdı:
>>
>> > I have registered my new algorithm. I add aes.cpp to crypto++ library.
>> > But
>> > there is problem;
>> >
>> > void AES_X::Base::ProcessAndXorBlock(const byte *inBlock, const byte
>> > *xorBlock, byte *outBlock) const
>> > {
>> > xorbuf(outBlock, inBlock, m_x1, BLOCKSIZE);
>> > //m_aes->ProcessAndXorBlock(outBlock, xorBlock, outBlock);
>> > xorbuf(outBlock, m_x3, BLOCKSIZE);
>> > }
>> >
>> > In this function if I use "m_aes->ProcessAndXorBlock(outBlock, xorBlock,
>> > outBlock);" it gives segmentation fault. Any idea why?
>>
>> No, I have no idea.
>>
>> Perhaps you can provide the Valgrind trace? Or maybe the stack
>> associated with the crash?
>>
>> I don't know anyone who can answer questions like you ask with no
>> information.
https://www.cryptopp.com/wiki/Bug_Report.
>>
>
> Here is my valgrind trace added log_test.txt. Could you pls have a look?
It looks like you have not built with symbols or you are building with
optimizations that are too high. Please visit
http://valgrind.org/docs/manual/quick-start.html#quick-start.prepare.
This usually means you need to update Valgrind:
==6901== by 0x8069413: BenchmarkAll(double, double) (bench1.cpp:302)
==6901== by 0x804DAAC: main (test.cpp:367)
==6901== Your program just tried to execute an instruction that Valgrind
==6901== did not recognise. There are two possible reasons for this.
==6901== 1. Your program has a bug and erroneously jumped to a non-code
==6901== location. If you are running Memcheck and you just saw a
==6901== warning about a bad jump, it's probably your program's fault.
==6901== 2. The instruction is legitimate but Valgrind doesn't handle it,
==6901== i.e. it's Valgrind's fault. If you think this is the case or
==6901== you are not sure, please let us know and we'll try to fix it.
==6901== Either way, Valgrind will now raise a SIGILL signal which will
==6901== probably kill your program.
Jeff