Re: Problem with PowerPC Altivec engine
Jonathan Morton <[email protected]> Mon, 31 Jan 2005 21:41:08 +0000
| Newsgroups | gmane.mail.spam.hashcash |
|---|---|
| Message-ID | <[email protected]> |
> I'm getting occasional bad outputs on my Mac iBook when minting 29 bit > coins with a long resource name. This is for my rpow.net project which > uses a fixed resource name of 71672bc400000017-000003c2-0001.rpow.net. > > Here is a sample GOOD output: > > ./hashcash -m -b 29 -r 71672bc400000017-000003c2-0001.rpow.net > hashcash token: > 1:29:050131:71672bc400000017-000003c2-0001.rpow.net::TP+l7rpzbtJoqygB: > 000000000000000000000HJZop > > Here is a sample BAD output: > > ./hashcash -m -b 29 -r 71672bc400000017-000003c2-0001.rpow.net > hashcash token: > 1:29:050131:71672bc400000017-000zFsHIgwYn9MnogZF: > 0000000000000000000000000000000000000000007/FQn > > You will notice that it's not well formed, there are only 4 colons > rather > than 6. > > It fails about one time in 5 or so. I'm guessing that it fails more often when higher bit counts are used - the bug appears to be in the "wraparound" code used when more than 2^31 iterations are needed to find a collision. The problem is that when wrapping, the "tail" position is not reset, but it is updated in the body of the loop. > This test was done compiling with no optimization, because I thought > the Mac's optimizer might be having problems. The Mac gcc compiler > actually gets an internal compiler error when compiling with -O3 on > fastmint_altivec_standard_2.c, so I compile that one manually without > optimization. I've recently reported this compiler bug to Apple, so we should see that particular problem improve soonish. -------------------------------------------------------------- from: Jonathan "Chromatix" Morton mail: [email protected] website: http://www.chromatix.uklinux.net/ tagline: The key to knowledge is not to rely on people to teach you it.