This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
libgcj/1615: java.math.BigInteger.modPow produces bogus results w/ certain input data
- To: gcc-gnats at gcc dot gnu dot org
- Subject: libgcj/1615: java.math.BigInteger.modPow produces bogus results w/ certain input data
- From: mjr at statesmean dot com
- Date: 11 Jan 2001 11:10:35 -0000
- Reply-To: mjr at statesmean dot com
>Number: 1615
>Category: libgcj
>Synopsis: java.math.BigInteger.modPow produces bogus results w/ certain input data
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Jan 11 03:16:01 PST 2001
>Closed-Date:
>Last-Modified:
>Originator: Mark J. Roberts
>Release: current cvs
>Organization:
>Environment:
>Description:
Test program produces differing results between gcj and JDK
when doing:
BigInteger A = Z.modPow(X,Y);
With certain values the results are quite different. This
did not emerge when I tried smaller values (even quite big
smaller values) but only with these big Diffie-Hellman-sized
ones. With some similarly-sized ones, I could not reproduce
the error, so perhaps it's related to improper rounding?
>How-To-Repeat:
Run attached test. The results are different between gcj and the JDK.
[root@rm03-24-131-185-22 /freenet]# gcj --main=EvilBug -o evilbug EvilBug.java
[root@rm03-24-131-185-22 /freenet]# ./evilbug
76475944278426898748735231384095480813900840993607065582220349895865809085142942
61493127493459662105163340290092559057818974002325805972134344425347604257231501
46381041759288915308787564035524024468249392955598305929492513236493499334514618
56156175697510863031755311205211843476729890389330266393681960156153
[root@rm03-24-131-185-22 /freenet]# javac EvilBug.java
[root@rm03-24-131-185-22 /freenet]# java EvilBug
89040229313686098274750802637193802904787850353791629688385431482589769348345172
94453965836689358745685734731231497412444569542388500553341455909980169961229423
58615700657742229111808904170093854558265607737415202978848504603247816209744675
60905975577765401911117379967692495136423710471201230243826129276993
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/x-unknown-content-type-VisualCafeFile.Document; name="EvilBug.java"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="EvilBug.java"
aW1wb3J0IGphdmEubWF0aC5CaWdJbnRlZ2VyOw0KDQpwdWJsaWMgY2xhc3MgRXZpbEJ1ZyB7DQog
ICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgew0KICAgICAgICBCaWdJ
bnRlZ2VyIFggPSBuZXcNCkJpZ0ludGVnZXIoIjIyMjU1NjI1OTQ3Nzg4MjM2MTExODEyOTcyMDAz
ODc1MDE0NDQ2NDg5NjA5NjM0NTY5NzMyOTkxNzQ2MjE4MDgwNjEwOTQ3MDk0MDI4MTgyMTU4MDcx
MjkzMDExNDI5ODA4MDgxNjk5NjI0MDA3NTcwNDc4MDg5NTQwNzc3ODQxNjM1NDYzMzkyNzkyOTg1
MDU0MzMzNjg0NDcyOTM4ODY3NjcyMjU1NDcxMjM1NjczMzEwNzg4ODU3OTQwNDY3MTEwMzQyMzk2
NjM0ODc1NDEyODcyMDM3MjQwODM5MTU3MzU3Njc3NTM4MDI4MTY4Nzc4MDY4NzQ5MjUyNzU2Njkz
ODUxNzYyNTY1Nzg0OTc3NTg1MDI0MTg4NDExOTYxMDY1NDQ3Mjc2MTI5MTUwNzk3MDkzNCIpOw0K
ICAgICAgICBCaWdJbnRlZ2VyIFkgPSBuZXcNCkJpZ0ludGVnZXIoIjExMDMxOTE1MzkzNzY4MzI4
NzQ1Mzc0Njc1NzU4MTc3MjA5MjE2MzYyOTc2OTE4MjA0NDAwNzgzNzY5MDMxOTYxNDA4NzU1MDAy
MDM4MzgwNzk0Mzg4NjA3MDQ2MDcxMjAwODk5NDYzODg0OTAzODIzMTMzMTEyMDYxNjAzNTcwMzcx
OTk1NTE0NzIzODM5NDM0OTk0MTk2ODgwMjM1NzIyNDE3Nzg3ODIzMDU2NDM3OTAxNDM5NTkwMDc4
NjA5MzQ2NTU0MzExNDU0ODAzNDM2MTgwNTQ2OTQ1NzYwNTc4MzczMTM4MjU3NDc4Nzk4MDc3MTk1
NzY0MDYxMzQ0NzYyODM1MTE3NTk1OTE2ODc5ODAxMTM0MzA2NDEyMzkwODY4ODM0Mzk0NDE1MDAy
ODcwOTMzNiIpOw0KICAgICAgICBCaWdJbnRlZ2VyIFogPSBuZXcNCkJpZ0ludGVnZXIoIjIxMTQ1
NTgwOTk5MjcwMzU2MTQ0NTQwMTc4ODg0MjczNDM0NjMyMzg3MzA1NDk1NzAwNjA1MDEzNTU4MjE5
MDE1NzM1OTAwMTcwMzg4MjcwNzA3MjE2OTg4MDY1MTE1OTU2MzU4NzUyMjY2ODg1MDk1OTUzOTA1
MjQ4ODI5NzE5NzYxMDU0MDg0MDQ3Njg3MjY5MzEwODM4MTQ3NjI0OTAyNzk4NjAxMDA3NDU0MzU5
OTQzMjU0MjY3NzI4MjY4NDkxNzg5NzI1MDg2NDA1NjI5NDMxMTYyNDMxMTY4MTU1ODg1NDE1ODQz
MDU3NDQwOTQ5MTA4MTQ5MDIxOTI1NjkwNzI0MzkwNTQ5NjU0NzgxMzg3ODY0MDg4MzA2NDk1OTM0
NjM0Mzg2NTg4Nzk3MTM4NDE4NSIpOw0KICAgICAgICBCaWdJbnRlZ2VyIEEgPSBaLm1vZFBvdyhY
LFkpOw0KICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oQS50b1N0cmluZygpKTsNCiAgICB9DQp9
DQo=