Re: Open Record Error?
fnl <[email protected]> Wed, 23 Mar 2022 07:28:33 -0700 (PDT)
| Newsgroups | gmane.comp.java.robocode |
|---|---|
| Message-ID | <[email protected]> |
------=_Part_3806_1019921660.1648045713911 Content-Type: multipart/alternative; boundary="----=_Part_3807_454552342.1648045713911" ------=_Part_3807_454552342.1648045713911 Content-Type: text/plain; charset="UTF-8" When it is saved as a "binary" versionwith Java's object serializer, I would not expect the old recording to work when the serialVersionUID = 1 has changed to serialVersionUID = 2 To preserve this type of compability I recommend to record to XML instead, which is easier to stay compatible with. But, you can still view it with version 1.9.3.9 at least. onsdag den 23. marts 2022 kl. 07.53.10 UTC+1 skrev [email protected]: > Can't I play the file I used in the previous version which is > maybe(2020.04.20). > > The record file is made by 1.9.3.9 and replay with 1.9.4.5. > > The error message is below:(Widnows10, mac OS 12.1, jdk1.8) > > java.io.InvalidClassException: net.sf.robocode.recording.BattleRecordInfo; > local class incompatible: stream classdesc serialVersionUID = 1, local > class serialVersionUID = 2 > at > java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:699) > at > java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:2028) > at > java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1875) > at > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2209) > at > java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1692) > at java.io.ObjectInputStream.readObject(ObjectInputStream.java:508) > at java.io.ObjectInputStream.readObject(ObjectInputStream.java:466) > at > net.sf.robocode.recording.RecordManager.loadRecord(RecordManager.java:188) > at > net.sf.robocode.ui.dialog.MenuBar.battleOpenRecordActionPerformed(MenuBar.java:284) > at net.sf.robocode.ui.dialog.MenuBar.access$700(MenuBar.java:40) > at > net.sf.robocode.ui.dialog.MenuBar$EventHandler.actionPerformed(MenuBar.java:100) > at > javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) > at > javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) > at > javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) > at > javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) > at javax.swing.AbstractButton.doClick(AbstractButton.java:376) > at > javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:882) > at com.apple.laf.AquaMenuItemUI.doClick(AquaMenuItemUI.java:157) > at > javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:926) > at java.awt.Component.processMouseEvent(Component.java:6539) > at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) > at java.awt.Component.processEvent(Component.java:6304) > at java.awt.Container.processEvent(Container.java:2239) > at java.awt.Component.dispatchEventImpl(Component.java:4889) > at java.awt.Container.dispatchEventImpl(Container.java:2297) > at java.awt.Component.dispatchEvent(Component.java:4711) > at > java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904) > at > java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535) > at > java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476) > at java.awt.Container.dispatchEventImpl(Container.java:2283) > at java.awt.Window.dispatchEventImpl(Window.java:2746) > at java.awt.Component.dispatchEvent(Component.java:4711) > at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760) > at java.awt.EventQueue.access$500(EventQueue.java:97) > at java.awt.EventQueue$3.run(EventQueue.java:709) > at java.awt.EventQueue$3.run(EventQueue.java:703) > at java.security.AccessController.doPrivileged(Native Method) > at > java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) > at > java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84) > at java.awt.EventQueue$4.run(EventQueue.java:733) > at java.awt.EventQueue$4.run(EventQueue.java:731) > at java.security.AccessController.doPrivileged(Native Method) > at > java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) > at java.awt.EventQueue.dispatchEvent(EventQueue.java:730) > at > java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) > at > java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) > at > java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) > at > java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) > at > java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) > at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) > -- You received this message because you are subscribed to the Google Groups "Robocode" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/robocode/dc046c98-6802-4ea0-b2ac-e8fe94bf67b5n%40googlegroups.com. ------=_Part_3807_454552342.1648045713911 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable When it is saved as a "binary" versionwith Java's object serializer, = I would not expect the old recording to work when the serialVersionUID =3D = 1 has changed to serialVersionUID =3D 2<br>To preserve this type of compabi= lity I recommend to record to XML instead, which is easier to stay compatib= le with.<br><br>But, you can still view it with version 1.9.3.9 at least.<d= iv class=3D"gmail_quote"><div dir=3D"auto" class=3D"gmail_attr">onsdag den = 23. marts 2022 kl. 07.53.10 UTC+1 skrev [email protected]:<br/></div><blockq= uote class=3D"gmail_quote" style=3D"margin: 0 0 0 0.8ex; border-left: 1px s= olid rgb(204, 204, 204); padding-left: 1ex;">Can't I play the file I us= ed in the previous version which is maybe(2020.04.20).<br><div><br></div><d= iv>The record file is made by 1.9.3.9 and replay with 1.9.4.5.</div><div><b= r></div><div>The error message is below:(Widnows10, mac OS 12.1, jdk1.8)</d= iv><div><br></div><div>java.io.InvalidClassException: net.sf.robocode.recor= ding.BattleRecordInfo; local class incompatible: stream classdesc serialVer= sionUID =3D 1, local class serialVersionUID =3D 2<br>=C2=A0 =C2=A0 =C2=A0 = =C2=A0 at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:699= )<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.io.ObjectInputStream.readNonProxyD= esc(ObjectInputStream.java:2028)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.io.= ObjectInputStream.readClassDesc(ObjectInputStream.java:1875)<br>=C2=A0 =C2= =A0 =C2=A0 =C2=A0 at java.io.ObjectInputStream.readOrdinaryObject(ObjectInp= utStream.java:2209)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.io.ObjectInputSt= ream.readObject0(ObjectInputStream.java:1692)<br>=C2=A0 =C2=A0 =C2=A0 =C2= =A0 at java.io.ObjectInputStream.readObject(ObjectInputStream.java:508)<br>= =C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.io.ObjectInputStream.readObject(ObjectI= nputStream.java:466)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 at net.sf.robocode.reco= rding.RecordManager.loadRecord(RecordManager.java:188)<br>=C2=A0 =C2=A0 =C2= =A0 =C2=A0 at net.sf.robocode.ui.dialog.MenuBar.battleOpenRecordActionPerfo= rmed(MenuBar.java:284)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 at net.sf.robocode.ui= .dialog.MenuBar.access$700(MenuBar.java:40)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 = at net.sf.robocode.ui.dialog.MenuBar$EventHandler.actionPerformed(MenuBar.j= ava:100)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 at javax.swing.AbstractButton.fireA= ctionPerformed(AbstractButton.java:2022)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 at = javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348= )<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 at javax.swing.DefaultButtonModel.fireActi= onPerformed(DefaultButtonModel.java:402)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 at = javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)<br>= =C2=A0 =C2=A0 =C2=A0 =C2=A0 at javax.swing.AbstractButton.doClick(AbstractB= utton.java:376)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 at javax.swing.plaf.basic.Ba= sicMenuItemUI.doClick(BasicMenuItemUI.java:882)<br>=C2=A0 =C2=A0 =C2=A0 =C2= =A0 at com.apple.laf.AquaMenuItemUI.doClick(AquaMenuItemUI.java:157)<br>=C2= =A0 =C2=A0 =C2=A0 =C2=A0 at javax.swing.plaf.basic.BasicMenuItemUI$Handler.= mouseReleased(BasicMenuItemUI.java:926)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 at j= ava.awt.Component.processMouseEvent(Component.java:6539)<br>=C2=A0 =C2=A0 = =C2=A0 =C2=A0 at javax.swing.JComponent.processMouseEvent(JComponent.java:3= 324)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.awt.Component.processEvent(Comp= onent.java:6304)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.awt.Container.proce= ssEvent(Container.java:2239)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.awt.Com= ponent.dispatchEventImpl(Component.java:4889)<br>=C2=A0 =C2=A0 =C2=A0 =C2= =A0 at java.awt.Container.dispatchEventImpl(Container.java:2297)<br>=C2=A0 = =C2=A0 =C2=A0 =C2=A0 at java.awt.Component.dispatchEvent(Component.java:471= 1)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.awt.LightweightDispatcher.retarge= tMouseEvent(Container.java:4904)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.awt= .LightweightDispatcher.processMouseEvent(Container.java:4535)<br>=C2=A0 =C2= =A0 =C2=A0 =C2=A0 at java.awt.LightweightDispatcher.dispatchEvent(Container= .java:4476)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.awt.Container.dispatchEv= entImpl(Container.java:2283)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.awt.Win= dow.dispatchEventImpl(Window.java:2746)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 at j= ava.awt.Component.dispatchEvent(Component.java:4711)<br>=C2=A0 =C2=A0 =C2= =A0 =C2=A0 at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)<br= >=C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.awt.EventQueue.access$500(EventQueue.j= ava:97)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.awt.EventQueue$3.run(EventQu= eue.java:709)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.awt.EventQueue$3.run(E= ventQueue.java:703)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.security.AccessC= ontroller.doPrivileged(Native Method)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 at jav= a.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(= ProtectionDomain.java:74)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.security.P= rotectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDo= main.java:84)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.awt.EventQueue$4.run(E= ventQueue.java:733)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.awt.EventQueue$4= .run(EventQueue.java:731)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.security.A= ccessController.doPrivileged(Native Method)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 = at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPriv= ilege(ProtectionDomain.java:74)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.awt.= EventQueue.dispatchEvent(EventQueue.java:730)<br>=C2=A0 =C2=A0 =C2=A0 =C2= =A0 at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThr= ead.java:205)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.awt.EventDispatchThrea= d.pumpEventsForFilter(EventDispatchThread.java:116)<br>=C2=A0 =C2=A0 =C2=A0= =C2=A0 at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatc= hThread.java:105)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.awt.EventDispatchT= hread.pumpEvents(EventDispatchThread.java:101)<br>=C2=A0 =C2=A0 =C2=A0 =C2= =A0 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)= <br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 at java.awt.EventDispatchThread.run(EventDi= spatchThread.java:82)<br></div></blockquote></div> <p></p> -- <br /> You received this message because you are subscribed to the Google Groups &= quot;Robocode" group.<br /> To unsubscribe from this group and stop receiving emails from it, send an e= mail to <a href=3D"mailto:[email protected]">robocode+u= [email protected]</a>.<br /> To view this discussion on the web visit <a href=3D"https://groups.google.c= om/d/msgid/robocode/dc046c98-6802-4ea0-b2ac-e8fe94bf67b5n%40googlegroups.co= m?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.com/d/msgid= /robocode/dc046c98-6802-4ea0-b2ac-e8fe94bf67b5n%40googlegroups.com</a>.<br = /> ------=_Part_3807_454552342.1648045713911-- ------=_Part_3806_1019921660.1648045713911--