Hello,
I am sorry to report that cryptest.exe v still core dumps on solaris 11
when using the sun 12.4 compiler. The command I used to build cryptopp was:
CXX=/opt/solarisstudio12.4/bin/CC make -j20
The error is:
Testing MessageDigest algorithm SHA-384.
..signal BUS (invalid address alignment) in CryptoPP::SHA512::Transform at
line 34 in file "sha.cpp"
34 #define blk0(i) (W[i] = data[i])
the stack trace is:
(dbx) where
=>[1] CryptoPP::SHA512::Transform(state = <value unavailable>, data =
<value unavailable>) (optimized), at 0x1006255a0 (line ~34) in "sha.cpp"
[2] CryptoPP::IteratedHashWithStaticTransform<unsigned
long,CryptoPP::EnumToType<CryptoPP::ByteOrder,1>,128U,64U,CryptoPP::SHA384,48U,false>::HashEndianCorrectedBlock(this
= 0x1010c18d0, data = 0xffffffff7fffc1b4) (optimized), at 0x1004c8120 (line
~170) in "iterhash.h"
[3] CryptoPP::IteratedHashBase<unsigned
long,CryptoPP::HashTransformation>::HashMultipleBlocks(this = 0x1010c18d0,
input = 0xffffffff7fffc1b4, length = <value unavailable>) (optimized), at
0x1005d834c (line ~91) in "iterhash.cpp"
[4] CryptoPP::IteratedHashBase<unsigned
long,CryptoPP::HashTransformation>::Update(this = 0x1010c18d0, input =
0xffffffff7fffc1b4 "aaaaaaaaaaaaaaa [snip]
[5] CryptoPP::HashVerificationFilter::NextPutMultiple(this =
0xffffffff7fffd550, inString = 0xffffffff7fffc15d "aaaaaaaaaaa [snip]
[6] CryptoPP::FilterWithBufferedInput::PutMaybeModifiable(this =
0xffffffff7fffd550, inString = 0xffffffff7fffc15d
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa [snip]
[7] CryptoPP::FilterWithBufferedInput::Put2(this = 0xffffffff7fffd550,
inString = 0xffffffff7fffc15d
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[8] CryptoPP::BufferedTransformation::ChannelPut2(this =
0xffffffff7fffd550, channel = CLASS, begin = 0xffffffff7fffc15d
"aaaaaaaaaaaaaaaaaaaaaaaaaaa
[9] RandomizedTransfer(source = CLASS, target = CLASS, finish = <value
unavailable>, channel = CLASS) (optimized), at 0x1004e9e94 (line ~92) in
"datatest.cpp"
[10] PutDecodedDatumInto(data = CLASS, name = <value unavailable>, target
= CLASS) (optimized), at 0x1004ea41c (line ~138) in "datatest.cpp"
[11] TestDigestOrMAC(v = CLASS, testDigest = <value unavailable>)
(optimized), at 0x1004ef674 (line ~603) in "datatest.cpp"
[12] TestDataFile(filename = CLASS, overrideParameters = CLASS,
totalTests = 11U, failedTests = 0) (optimized), at 0x1004f0c44 (line ~802)
in "datatest.cpp"
[13] RunTestDataFile(filename = 0x100afec60 "TestVectors/sha.txt",
overrideParameters = CLASS, thorough = true) (optimized), at 0x1004f1168
(line ~243) in "string"
[14] ValidateSHA() (optimized), at 0x1004c9228 (line ~212) in
"validat3.cpp"
[15] ValidateAll(thorough = false) (optimized), at 0x1004339e8 (line ~95)
in "validat1.cpp"
[16] Validate(alg = <value unavailable>, thorough = false, seedInput =
<value unavailable>) (optimized), at 0x100380cdc (line ~899) in "test.cpp"
[17] main(argc = <value unavailable>, argv = 0xffffffff7ffff7d6)
(optimized), at 0x10037b690 (line ~364) in "test.cpp"
The test program also crashes when the b (benchmark) option is used.
Interestingly, the crash is in the same place as my own test program
crashes, in CryptoPP::CountWords, due to a null pointer. Here is the dbx
output:
<TBODY style="background: yellow">signal SEGV (no mapping at the fault
address) in CryptoPP::CountWords at line 9 in file "words.h"
9 inline size_t CountWords(const word *X, size_t N)
(dbx) print X
X = (nil)
=>[1] CryptoPP::CountWords(X = (nil), N = 144U) (optimized), at 0x1005a4238
(line ~9) in "words.h"
[2] CryptoPP::Integer::WordCount(this = 0x1010bfa98) (optimized), at
0x100596cd8 (line ~3298) in "integer.cpp"
[3] CryptoPP::Integer::Integer(this = 0xffffffff7fffb090, t = CLASS)
(optimized), at 0x10059573c (line ~2903) in "integer.cpp"
[4] CryptoPP::RSAFunction::PreimageBound(this = 0x1010bfa80) (optimized),
at 0x1006c3148 (line ~46) in "rsa.h"
[5] CryptoPP::AssignFromHelper<CryptoPP::RSAFunction>(pObject =
0xffffffff7fffb000, source = CLASS) (optimized), at 0x1006c35f0 (line ~320)
in "cryptlib.h"
[6] CryptoPP::RSAFunction::AssignFrom(this = 0xffffffff7fffb000, source =
CLASS) (optimized), at 0x1006b6854 (line ~93) in "rsa.cpp"
[7]
CryptoPP::PK_FinalTemplate<CryptoPP::TF_EncryptorImpl<CryptoPP::TF_CryptoSchemeOptions<CryptoPP::TF_ES<CryptoPP::OAEP<CryptoPP::SHA1,CryptoPP::P1363_MGF1>,CryptoPP::RSA,int>,CryptoPP::RSA,CryptoPP::OAEP<CryptoPP::SHA1,CryptoPP::P1363_MGF1>
> > >::PK_FinalTemplate(this = 0xffffffff7fffafe8, algorithm = CLASS)
(optimized), at 0x1003a41c8 (line ~2049) in "string"
[8]
BenchMarkCrypto<CryptoPP::RSAES<CryptoPP::OAEP<CryptoPP::SHA1,CryptoPP::P1363_MGF1>
> >(filename = <value unavailable>, name = 0x1009b27e8 "RSA 1024",
timeTotal = 1.0, x = <value unavailable>) (optimized), at 0x10041b550 (line
~248) in "bench2.cpp"
[9] BenchmarkAll2(t = 1.0, hertz = <value unavailable>) (optimized), at
0x1003ea460 (line ~288) in "bench2.cpp"
[10] BenchmarkAll(t = <value unavailable>, hertz = <value unavailable>)
(optimized), at 0x1003e0250 (line ~381) in "bench1.cpp"
[11] main(argc = <value unavailable>, argv = 0xffffffff7ffff558)
(optimized), at 0x10037ade4 (line ~366) in "test.cpp"
Regards,
Andrew Marlow
--
--
You received this message because you are subscribed to the "Crypto++ Users"
Google Group.
To unsubscribe, send an email to [email protected].
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 [email protected].
For more options, visit https://groups.google.com/d/optout.