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/1971: ObjectOutputStream generates incorrect serialVersionUID's for array classes



>Number:         1971
>Category:       libgcj
>Synopsis:       ObjectOutputStream generates incorrect serialVersionUID's for array classes
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Feb 13 19:56:01 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     Bryce McKinlay
>Release:        gcc version 2.97 20010207 (experimental)
>Organization:
>Environment:

>Description:
Run the attached test case. GCJ can deserialize JDK's objects
ok, but JDK can't deserialize objects generated from GCJ:

$ java SerTest S
5 4 3 2 1 

$ ./st D
5 4 3 2 1

$ ./st S
5 4 3 2 1

$ java SerTest D
$ java SerTest D
IOException java.io.InvalidClassException: [I; Local class not compatible: stream classdesc serialVersionUID=-222323706161665130 local class serialVersionUID=5600894804908749477
Exception in thread "main" java.lang.ClassCastException: java.lang.Object
        at SerTest.main(SerTest.java:39)
>How-To-Repeat:

>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="SerTest.java"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="SerTest.java"

aW1wb3J0IGphdmEudXRpbC4qOyAKaW1wb3J0IGphdmEuaW8uKjsgCgpwdWJsaWMgY2xhc3MgU2Vy
VGVzdCBpbXBsZW1lbnRzIFNlcmlhbGl6YWJsZSAKeyAKICBpbnRbXSBkYXJyYXkgPSBuZXcgaW50
WzVdOyAKCiAgcHVibGljIFNlclRlc3QoKSAKICB7IAogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBk
YXJyYXkubGVuZ3RoOyBpKyspCiAgICB7CiAgICAgIGRhcnJheVtpXSA9IGRhcnJheS5sZW5ndGgg
LSBpOwogICAgfQogIH0KCiAgcHVibGljIFN0cmluZyB0b1N0cmluZygpCiAgewogICAgU3RyaW5n
IHMgPSAiIjsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgZGFycmF5Lmxlbmd0aDsgaSsrKQogICAg
ICB7CiAgICAgICAgcyArPSBkYXJyYXlbaV0gKyAiICI7CQogICAgICB9CiAgICByZXR1cm4gczsK
ICB9CgogIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3YpIAogIHsgCiAgICBT
eXN0ZW0uc2V0UHJvcGVydHkoImdjai5kdW1wb2JqZWN0cyIsICJ0cnVlIik7CiAgICBTZXJUZXN0
IHN0ID0gbmV3IFNlclRlc3QoKTsgCgogICAgICBpZiAoIGFyZ3YubGVuZ3RoID09IDEgKSB7IAog
ICAgICAgICAgaWYgKCBhcmd2WzBdLmVxdWFscygiUyIpICkgeyAKICAgICAgICAgICAgICBzdCA9
IG5ldyBTZXJUZXN0KCk7IAogICAgICAgICAgICAgIHNlcmlhbGl6ZU9iamVjdChzdCwidGVzdC5z
ZXIiKTsgCiAgICAgICAgICB9IAogICAgICAgICAgZWxzZSBpZiAoIGFyZ3ZbMF0uZXF1YWxzKCJE
IikgKSB7IAogICAgICAgICAgICAgIHN0ID0gKFNlclRlc3QpCgkJZGVzZXJpYWxpemVPYmplY3Qo
InRlc3Quc2VyIik7IAogICAgICAgICAgfSAKICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihz
dCk7IAogICAgICB9IAogIH0gCgogIHB1YmxpYyBzdGF0aWMgYm9vbGVhbiBzZXJpYWxpemVPYmpl
Y3QoT2JqZWN0IG9iaiwgU3RyaW5nIGZpbGVuYW1lKSB7IAogICAgICAgICAgIC8vIElmIHRoZSBm
aWxlIGFscmVhZHkgZXhpc3RzLCBkZWxldGUgaXQuIAogICAgICBGaWxlIGYgPSBuZXcgRmlsZShm
aWxlbmFtZSk7IAogICAgICBpZiAoIGYuZXhpc3RzKCkgKSAKICAgICAgICAgIGYuZGVsZXRlKCk7
IAogICAgICB0cnkgeyAKICAgICAgICAgICBGaWxlT3V0cHV0U3RyZWFtIGZvcyA9IG5ldyBGaWxl
T3V0cHV0U3RyZWFtKGZpbGVuYW1lKTsgCiAgICAgICAgICAgT2JqZWN0T3V0cHV0U3RyZWFtIG9v
cyA9IG5ldyBPYmplY3RPdXRwdXRTdHJlYW0oZm9zKTsgCiAgICAgICAgICAgb29zLndyaXRlT2Jq
ZWN0KG9iaik7IAogICAgICAgICAgIG9vcy5mbHVzaCgpOyAKICAgICAgICAgICBmb3MuY2xvc2Uo
KTsgCiAgICAgICB9IAogICAgICAgY2F0Y2ggKElPRXhjZXB0aW9uIGUpIHsgCiAgICAgICAgICAg
U3lzdGVtLmVyci5wcmludGxuKCJJT0V4Y2VwdGlvbiAiICsgZSApOyAKICAgICAgICAgICByZXR1
cm4oZmFsc2UpOyAKICAgICAgIH0gCiAgICAgICByZXR1cm4odHJ1ZSk7IAogIH0gCgoKICBwdWJs
aWMgc3RhdGljIE9iamVjdCBkZXNlcmlhbGl6ZU9iamVjdChTdHJpbmcgZmlsZW5hbWUpIHsgCiAg
ICAgIHRyeSB7IAogICAgICAgICAgRmlsZUlucHV0U3RyZWFtIGZpcyA9IG5ldyBGaWxlSW5wdXRT
dHJlYW0oZmlsZW5hbWUpOyAKICAgICAgICAgIE9iamVjdElucHV0U3RyZWFtIG9pcyA9IG5ldyBP
YmplY3RJbnB1dFN0cmVhbShmaXMpOyAKICAgICAgICAgIE9iamVjdCBvYmogPSBvaXMucmVhZE9i
amVjdCgpOyAKICAgICAgICAgIG9pcy5jbG9zZSgpOyAKICAgICAgICAgIHJldHVybihvYmopOyAK
ICAgICAgIH0gCiAgICAgICBjYXRjaCAoRmlsZU5vdEZvdW5kRXhjZXB0aW9uIGUpIHsgCiAgICAg
ICAgICAgU3lzdGVtLmVyci5wcmludGxuKCJGaWxlTm90Rm91bmRFeGNlcHRpb24gIiArIGUgKTsg
CiAgICAgICB9IAogICAgICAgY2F0Y2ggKElPRXhjZXB0aW9uIGV4KSB7IAogICAgICAgICAgIFN5
c3RlbS5lcnIucHJpbnRsbigiSU9FeGNlcHRpb24gIiArIGV4ICk7IAogICAgICAgfSAKICAgICAg
IGNhdGNoIChDbGFzc05vdEZvdW5kRXhjZXB0aW9uIGVjKSB7IAogICAgICAgICAgIFN5c3RlbS5l
cnIucHJpbnRsbigiQ2xhc3NOb3RGb3VuZEV4Y2VwdGlvbiAiICsgZWMgKTsgCiAgICAgICB9IAog
ICAgICAgcmV0dXJuKG5ldyBPYmplY3QoKSk7IAogIH0gCn0gCg==


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