{"action":"created","issue":{"url":"https://api.github.com/repos/sbt/sbt/issues/1528","repository_url":"https://api.github.com/repos/sbt/sbt","labels_url":"https://api.github.com/repos/sbt/sbt/issues/1528/labels{/name}","comments_url":"https://api.github.com/repos/sbt/sbt/issues/1528/comments","events_url":"https://api.github.com/repos/sbt/sbt/issues/1528/events","html_url":"https://github.com/sbt/sbt/issues/1528","id":40181908,"number":1528,"title":"InvalidClassException with sbt.testing.TestSelector","user":{"login":"UnsungHero97","id":440299,"avatar_url":"https://avatars.githubusercontent.com/u/440299?v=3","gravatar_id":"","url":"https://api.github.com/users/UnsungHero97","html_url":"https://github.com/UnsungHero97","followers_url":"https://api.github.com/users/UnsungHero97/followers","following_url":"https://api.github.com/users/UnsungHero97/following{/other_user}","gists_url":"https://api.github.com/users/UnsungHero97/gists{/gist_id}","starred_url":"https://api.github.com/users/UnsungHero97/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/UnsungHero97/subscriptions","organizations_url":"https://api.github.com/users/UnsungHero97/orgs","repos_url":"https://api.github.com/users/UnsungHero97/repos","events_url":"https://api.github.com/users/UnsungHero97/events{/privacy}","received_events_url":"https://api.github.com/users/UnsungHero97/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/sbt/sbt/labels/Bug","name":"Bug","color":"e10c02"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":7,"created_at":"2014-08-13T18:05:49Z","updated_at":"2016-03-02T11:10:20Z","closed_at":null,"body":"It looks like some files in sbt.testing that implement `Serializable` are not providing `serialVersionUID`, and I'm seeing an exception when running `play test`.\r\n\r\n    Exception in thread \"Thread-74\" java.io.InvalidClassException: sbt.testing.TestSelector; local class incompatible: stream classdesc serialVersionUID = -1277815829122539856, local class serialVersionUID = 4300957833082274101\r\n      at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:570)\r\n      at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1601)\r\n      at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)\r\n      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1750)\r\n      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)\r\n      at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1970)\r\n      at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1895)\r\n      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1777)\r\n      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)\r\n      at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1685)\r\n      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)\r\n      at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1685)\r\n      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)\r\n      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:349)\r\n      at sbt.React.react(ForkTests.scala:116)\r\n      at sbt.ForkTests$$anonfun$mainTestTask$1$Acceptor$2$.run(ForkTests.scala:75)\r\n      at java.lang.Thread.run(Thread.java:695)\r\n    Internal error when running tests: sbt.ForkMain$Run$RunAborted: java.net.SocketException: Broken pipe\r\n\r\nI'm under the impression that any class that implements Serializable should add a serialVersionUID. Is this something that can be added?"},"comment":{"url":"https://api.github.com/repos/sbt/sbt/issues/comments/191190731","html_url":"https://github.com/sbt/sbt/issues/1528#issuecomment-191190731","issue_url":"https://api.github.com/repos/sbt/sbt/issues/1528","id":191190731,"user":{"login":"retronym","id":65551,"avatar_url":"https://avatars.githubusercontent.com/u/65551?v=3","gravatar_id":"","url":"https://api.github.com/users/retronym","html_url":"https://github.com/retronym","followers_url":"https://api.github.com/users/retronym/followers","following_url":"https://api.github.com/users/retronym/following{/other_user}","gists_url":"https://api.github.com/users/retronym/gists{/gist_id}","starred_url":"https://api.github.com/users/retronym/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/retronym/subscriptions","organizations_url":"https://api.github.com/users/retronym/orgs","repos_url":"https://api.github.com/users/retronym/repos","events_url":"https://api.github.com/users/retronym/events{/privacy}","received_events_url":"https://api.github.com/users/retronym/received_events","type":"User","site_admin":false},"created_at":"2016-03-02T11:10:20Z","updated_at":"2016-03-02T11:10:20Z","body":"Oh, I see the root exception is not the \"broken pipe\" but rather the `NPE`. So these bugs are probably unrelated, other than for the fact that SBT ought to print a useful message for `sbt.ForkMain$Run$RunAborted` rather than just the exception name/message."}}