On Friday, April 21, 2017 at 10:46:47 PM UTC-4, Anton Gorev wrote: > > Other strange thing: > > ``` > $ dbx ./cryptest.exe > For information about new features see `help changes' > To remove this message, put `dbxenv suppress_startup_message 7.9' in your > .dbxrc > Reading cryptest.exe > Reading ld.so.1 > Reading libnsl.so.1 > Reading libsocket.so.1 > Reading libCstd.so.1 > Reading libCrun.so.1 > Reading libm.so.2 > Reading libc.so.1 > (dbx) stop in cryptlib.cpp:398 > dbx: "cryptlib" is not defined as a function or procedure in the scope > `cryptest.exe`test.cpp`main` > dbx: see `help scope' for details > (dbx) stop at cryptlib.cpp:398 > (2) stop at "cryptlib.cpp":398 > (dbx) run v > ... > DH validation suite running... > > stopped in CryptoPP::BufferedTransformation::GetMaxWaitObjectCount at line > 398 in file "cryptlib.cpp" > 398 const BufferedTransformation *t = > AttachedTransformation();^M > (dbx) step > stopped in CryptoPP::Filter::Flush at line 80 in file "filters.cpp" > 80 switch (m_continueAt)^M > (dbx) where > =>[1] CryptoPP::Filter::Flush(this = 0x100f14a68, hardFlush = true, > propagation = 0, blocking = true), line 80 in "filters.cpp" > [2] CryptoPP::BufferedTransformation::GetMaxWaitObjectCount(this = > 0x100f14a68), line 398 in "cryptlib.cpp" > [3] CryptoPP::BufferedTransformation::ChannelPutModifiable(this = > 0x100f14a68, channel = CLASS, inString = 0x101168490 "^B\x81\x81", length = > 256U, blocking = true), line 1866 in "cryptlib.h" > [4] CryptoPP::ByteQueueNode::TransferTo(this = 0x101160750, target = > CLASS, transferMax = 18446744073709551615U, channel = CLASS), line 108 in > "queue.cpp" > [5] CryptoPP::ByteQueue::TransferTo2(this = 0xffffffff7fffbbe8, target = > CLASS, transferBytes = 18446744073709551615U, channel = CLASS, blocking = > true), line 349 in "queue.cpp" > [6] CryptoPP::BufferedTransformation::TransferTo(this = > 0xffffffff7fffbbe8, target = CLASS, transferMax = 18446744073709551615U, > channel = CLASS), line 1640 in "cryptlib.h" > [7] CryptoPP::DERGeneralEncoder::MessageEnd(this = 0xffffffff7fffbbe8), > line 533 in "asn.cpp" > [8] CryptoPP::DL_GroupParameters_IntegerBased::DEREncode(this = > 0xffffffff7fffc068, bt = CLASS), line 278 in "gfpcrypt.cpp" > [9] CryptoPP::ASN1Object::BEREncode(this = 0xffffffff7fffc068, bt = > CLASS), line 2921 in "cryptlib.h" > [10] CryptoPP::Test::SimpleKeyAgreementValidate(d = CLASS), line 204 in > "validat2.cpp" > [11] CryptoPP::Test::ValidateDH(), line 371 in "validat2.cpp" > [12] CryptoPP::Test::ValidateAll(thorough = false), line 160 in > "validat1.cpp" > [13] Validate(alg = 0, thorough = false, seedInput = (nil)), line 916 in > "test.cpp" > [14] main(argc = 2, argv = 0xffffffff7ffff468), line 406 in "test.cpp" > (dbx) stop at cryptlib.cpp:399 > (3) stop at "cryptlib.cpp":399 > (dbx) cont > stopped in CryptoPP::BufferedTransformation::GetMaxWaitObjectCount at line > 399 in file "cryptlib.cpp" > 399 if (t)^M > (dbx) print t > dbx: internal error: > /home/abuild/agorev/cryptopp/cryptopp-master/misc.h:51: bad token '\' > > dbx: warning: Errors encountered while skimming "cryptlib.cpp" for macro > definitions. > See `help macro skimming-errors' for more explanation. > > t = 0x1 > (dbx) > ``` > > Why I came into `CryptoPP::Filter::Flush` from `const > BufferedTransformation *t = AttachedTransformation();`? And why `t` > eventually has value `0x01`? It is nor `NULL` nor some unaligned address. > It more seems like some corruption. But I am not sure if it is a > consequence of using misaligned addresses. >
Yeah, that one is unusual. Its probably another function, but DBX is reporting the wrong one. Have you tried turning knobs with your compiler settings? I'm not convinced Cmake provides good settings out of the box. -xmemalign looks like it may have some effect given the workarounds; see https://docs.oracle.com/cd/E19205-01/819-5265/bjavc/index.html. Be sure Cmake is not adjusting it to something that's not compatible. There's also a note in one of the old GCC manuals about using 8-byte alignment for SPARC; see https://gcc.gnu.org/onlinedocs/gcc-3.3/gcc/Type-Attributes.html. However, its not present in the current manual. Jeff -- -- You received this message because you are subscribed to the "Crypto++ Users" Google Group. To unsubscribe, send an email to cryptopp-users-unsubscr...@googlegroups.com. More information about Crypto++ and this group is available at http://www.cryptopp.com. --- You received this message because you are subscribed to the Google Groups "Crypto++ Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to cryptopp-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.