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 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.

Reply via email to