This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

libgcj/1615: java.math.BigInteger.modPow produces bogus results w/ certain input data



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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]