From 5c12b59bd81874f851587c08a83dd7932ebf9114 Mon Sep 17 00:00:00 2001 From: Andrew Haley Date: Thu, 26 Apr 2007 14:31:29 +0000 Subject: [PATCH] ObjectStreamClass.java (ensureFieldsSet): New method. 2007-04-25 Andrew Haley * java/io/ObjectStreamClass.java (ensureFieldsSet): New method. (setFields): call ensureFieldsSet. (fieldsSet): New field. * java/io/ObjectOutputStream.java (writeFields): Call osc.ensureFieldsSet(). * java/io/ObjectInputStream.java (parseContent): Assign the handle for a PROXYCLASSDESC immediately after reading the marker. From-SVN: r124187 --- .../classpath/java/io/ObjectInputStream.java | 13 +++++++++- .../classpath/java/io/ObjectOutputStream.java | 8 +++++- .../classpath/java/io/ObjectStreamClass.java | 23 ++++++++++++++++++ .../lib/java/io/ObjectInputStream$1.class | Bin 1152 -> 1152 bytes .../lib/java/io/ObjectInputStream$2.class | Bin 6148 -> 6148 bytes .../java/io/ObjectInputStream$GetField.class | Bin 1025 -> 1025 bytes ...jectInputStream$ValidatorAndPriority.class | Bin 786 -> 786 bytes .../lib/java/io/ObjectInputStream.class | Bin 29540 -> 29581 bytes .../lib/java/io/ObjectOutputStream.class | Bin 18158 -> 18198 bytes .../lib/java/io/ObjectStreamClass$1.class | Bin 946 -> 946 bytes .../lib/java/io/ObjectStreamClass$2.class | Bin 834 -> 834 bytes ...bjectStreamClass$InterfaceComparator.class | Bin 862 -> 862 bytes .../ObjectStreamClass$MemberComparator.class | Bin 1121 -> 1121 bytes .../lib/java/io/ObjectStreamClass.class | Bin 17794 -> 17956 bytes libjava/java/io/ObjectStreamClass.h | 4 +++ 15 files changed, 46 insertions(+), 2 deletions(-) diff --git a/libjava/classpath/java/io/ObjectInputStream.java b/libjava/classpath/java/io/ObjectInputStream.java index e469609bde0..735d46cd920 100644 --- a/libjava/classpath/java/io/ObjectInputStream.java +++ b/libjava/classpath/java/io/ObjectInputStream.java @@ -223,6 +223,15 @@ public class ObjectInputStream extends InputStream case TC_PROXYCLASSDESC: { if(dump) dumpElementln("PROXYCLASS"); + +/* GCJ LOCAL */ + // The grammar at this point is + // TC_PROXYCLASSDESC newHandle proxyClassDescInfo + // i.e. we have to assign the handle immediately after + // reading the marker. + int handle = assignNewHandle("Dummy proxy"); +/* END GCJ LOCAL */ + int n_intf = this.realInputStream.readInt(); String[] intfs = new String[n_intf]; for (int i = 0; i < n_intf; i++) @@ -250,7 +259,9 @@ public class ObjectInputStream extends InputStream new InternalError("Object ctor missing").initCause(x); } } - assignNewHandle(osc); +/* GCJ LOCAL */ + rememberHandle(osc,handle); +/* END GCJ LOCAL */ if (!is_consumed) { diff --git a/libjava/classpath/java/io/ObjectOutputStream.java b/libjava/classpath/java/io/ObjectOutputStream.java index eac11f78db9..316b9070133 100644 --- a/libjava/classpath/java/io/ObjectOutputStream.java +++ b/libjava/classpath/java/io/ObjectOutputStream.java @@ -1211,11 +1211,17 @@ public class ObjectOutputStream extends OutputStream } +/* GCJ LOCAL */ // writes out FIELDS of OBJECT for the specified ObjectStreamClass. - // FIELDS are already in canonical order. + // FIELDS are already supposed already to be in canonical order, but + // under some circumstances (to do with Proxies) this isn't the + // case, so we call ensureFieldsSet(). private void writeFields(Object obj, ObjectStreamClass osc) throws IOException { + osc.ensureFieldsSet(osc.forClass()); +/* END GCJ LOCAL */ + ObjectStreamField[] fields = osc.fields; boolean oldmode = setBlockDataMode(false); diff --git a/libjava/classpath/java/io/ObjectStreamClass.java b/libjava/classpath/java/io/ObjectStreamClass.java index 52a1ad42873..cc3d0a9e31f 100644 --- a/libjava/classpath/java/io/ObjectStreamClass.java +++ b/libjava/classpath/java/io/ObjectStreamClass.java @@ -654,11 +654,29 @@ outer: flags |= ObjectStreamConstants.SC_ENUM; } +/* GCJ LOCAL */ + // FIXME: This is a workaround for a fairly obscure bug that happens + // when reading a Proxy and then writing it back out again. The + // result is that the ObjectStreamClass doesn't have its fields set, + // generating a NullPointerException. Rather than this kludge we + // should probably fix the real bug, but it would require a fairly + // radical reorganization to do so. + final void ensureFieldsSet(Class cl) + { + if (! fieldsSet) + setFields(cl); + } +/* END GCJ LOCAL */ + // Sets fields to be a sorted array of the serializable fields of // clazz. private void setFields(Class cl) { +/* GCJ LOCAL */ + fieldsSet = true; +/* END GCJ LOCAL */ + SetAccessibleAction setAccessible = new SetAccessibleAction(); if (!isSerializable() || isExternalizable() || isEnum()) @@ -1094,6 +1112,11 @@ outer: boolean isProxyClass = false; +/* GCJ LOCAL */ + // True after setFields() has been called + private boolean fieldsSet = false; +/* END GCJ LOCAL */ + // This is probably not necessary because this class is special cased already // but it will avoid showing up as a discrepancy when comparing SUIDs. private static final long serialVersionUID = -6120832682080437368L; diff --git a/libjava/classpath/lib/java/io/ObjectInputStream$1.class b/libjava/classpath/lib/java/io/ObjectInputStream$1.class index 43e3a0c23fc57d2c7f5b02c5303e7d672863de2f..d800fe4c61d425187a9d1caac2f51477c5d2e81a 100644 GIT binary patch delta 47 zcmZqRY~b9mkC`!X@_yzN*>naLrVIvdrgR1#rc4GgrYr^trfdc&rd$STrh>^1EDit* C6bY~Z delta 47 zcmZqRY~b9mkC`!S@_yzN*%$^ErdS4UrWghurZ@&Mrg#PkrUV8lrX&Vwrqsy}EDity C-w90s diff --git a/libjava/classpath/lib/java/io/ObjectInputStream$2.class b/libjava/classpath/lib/java/io/ObjectInputStream$2.class index 053a354bde5fe5671b005a22fb3045507ac45b34..d723177725c828bd873f929073761f53be7bf5c4 100644 GIT binary patch delta 691 zcmWNL+e?#i9LAqt@j$jsvoQ}HtT2pOjoFPI>_8MTL$qY5(M339l@?v35lgLD2kBjA zFQb#{YT|$qpqxc<4tN zE41<3$6ZlZrLKE)-K%Sropr^F4=XvMIc-XRzIMAsXdZA=&e)Zq#E^V1l4Fz zqY;(jZZ;txR`V2sY)H1}c}(C8R@s&O|EXSjg0<{N0SENr zVDh88cSZM*{_8oM9MNf1aROVJ#5SgJfRi}HY1D8Ajm+RQvuG19aTcAN!wt@(PmFT` zkGLr55{9%L=4-s<8;o)cV|8T7CdALCgU6Qx8onyIhL`3z(%e_88fkyE<4NB?)D;sIdC%<+4R}ZT(P`-C7YCNR#Jc* z7Q#=zHih|qkvt;#RmmfgUz0qN9P#)};D+Qk zRlOy7i{zH%?UGxP-;vysJSw>*d57edb4cV=Ko{$#LxG1Ol8yJ*N=jG@8T+XKOR8WZm`1{U@g44mvQ8Ti;=O)h4NVtvQJ%Km=xB_;;|zmy9e delta 35 rcmbQlHi>OR8WZnr1{U_a44mxu82H%lPcCMPVtvfO%Kl{XB_;;|yIu<1 diff --git a/libjava/classpath/lib/java/io/ObjectInputStream.class b/libjava/classpath/lib/java/io/ObjectInputStream.class index 9cc3755a53ff66fa4b704985a5a67754341b9a93..2c61cc687cf63b91fa3fd45084302800fa268f84 100644 GIT binary patch literal 29581 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 NMEoyH;qC>O{|_;kS1SMj literal 29540 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 z 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 diff --git a/libjava/classpath/lib/java/io/ObjectStreamClass$1.class b/libjava/classpath/lib/java/io/ObjectStreamClass$1.class index 6279a244cd8a9343858205e3261f31ebb24c53d8..8b3cbb0f527ff186adc409617f1441e4a9a75e44 100644 GIT binary patch delta 27 jcmdnQzKMOqZzje=lm9UJa~@@2Wje;d&2(aN2y+|&lP3v# delta 27 jcmdnQzKMOqZzjeKlm9UJb8co}W!l2P&9rTD2y+|&kLw9D diff --git a/libjava/classpath/lib/java/io/ObjectStreamClass$2.class b/libjava/classpath/lib/java/io/ObjectStreamClass$2.class index 4c91ea650b2b83be212fbafe629758695889b4a3..18a1c61b270db176067cc88f7a0805ddc4fbb4fb 100644 GIT binary patch delta 23 fcmX@ac8G1mQ6@%-$;X%+S!EbFSY#*jFq;7YSfvHu delta 23 fcmX@ac8G1mQ6@&V$;X%+S-BWEShy$iFq;7YR+|N> diff --git a/libjava/classpath/lib/java/io/ObjectStreamClass$InterfaceComparator.class b/libjava/classpath/lib/java/io/ObjectStreamClass$InterfaceComparator.class index 7c0ac37ee2f1bf4ea06af7f2da418662b572fa5e..babf58570decf555bc0073e700f8a2098a072af6 100644 GIT binary patch delta 25 fcmcb|c8_ht0w%_^$qSi08M7w8W(okZZJ3n+eKH7_ delta 25 fcmcb|c8_ht0wzZP$qSi08G|RkW(okZZJ3n+dOHYG diff --git a/libjava/classpath/lib/java/io/ObjectStreamClass$MemberComparator.class b/libjava/classpath/lib/java/io/ObjectStreamClass$MemberComparator.class index 233aa690ae438f7b826af41a761e732490783722..527fd88ab9f57e8c50d5a7e9e79242bd411e91f1 100644 GIT binary patch delta 53 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 MyeCvj?zh_i1y;y`tpET3 diff --git a/libjava/java/io/ObjectStreamClass.h b/libjava/java/io/ObjectStreamClass.h index 7638f7bed3a..34514534b8d 100644 --- a/libjava/java/io/ObjectStreamClass.h +++ b/libjava/java/io/ObjectStreamClass.h @@ -57,6 +57,9 @@ private: void cacheMethods(); ObjectStreamClass(::java::lang::Class *); void setFlags(::java::lang::Class *); +public: // actually package-private + virtual void ensureFieldsSet(::java::lang::Class *); +private: void setFields(::java::lang::Class *); jlong getClassUID(::java::lang::Class *); public: // actually package-private @@ -105,6 +108,7 @@ private: public: // actually package-private jboolean isProxyClass; private: + jboolean fieldsSet; static const jlong serialVersionUID = -6120832682080437368LL; public: static ::java::lang::Class class$;