![ServerSync](https://media.forgecdn.net/avatars/thumbnails/254/696/256/256/637199290945083080.png)
Can't connect to server using serversync, receiving EOFException
syndicate25 opened this issue ยท 19 comments
03.10 02:23:03 [Server] Thread-5/INFO [serversync]: Connection established with Socket[addr=/(removed),port=50558,localport=25566]
03.10 02:23:03 [Server] Thread-16/INFO [serversync]: Received message: GIMME from connection Socket[addr=/(removed),port=50558,localport=25566]
03.10 02:23:03 [Server] Thread-16/INFO [serversync]: Sending config info to client...
03.10 02:23:03 [Server] Thread-16/INFO [serversync]: Error occured: java.io.EOFException
03.10 02:23:03 [Server] Thread-16/INFO [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: java.io.EOFException
03.10 02:23:03 [Server] Thread-16/INFO [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2626)
03.10 02:23:03 [Server] Thread-16/INFO [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1321)
03.10 02:23:03 [Server] Thread-16/INFO [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at java.io.ObjectInputStream.readObject(ObjectInputStream.java:373)
03.10 02:23:03 [Server] Thread-16/INFO [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at com.superzanti.serversync.ServerWorker.run(ServerWorker.java:57)
03.10 02:23:03 [Server] Thread-16/INFO [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at java.lang.Thread.run(Thread.java:745)
Could I please get some information about this case:
- The version of minecraft being used
- The version of serversync being used
- When this error occurs, presumably reproducable
- The serversync log in minecraft/logs (client side)
I noticed that this happens when I built from source (ServerSync: 2.6.3, MC: 1.7.10). It happens immediately when i click on Sync in the client. Syndicate25 posted something similar to my error but it is just slightly different:
[Thread-5/INFO]: Connection established with Socket[addr=/127.0.0.1,port=55173,localport=38067]
[Thread-8/INFO]: Received message: I WANT THAT ONE from connection Socket[addr=/127.0.0.1,port=55173,localport=38067]
[Thread-8/INFO]: Error occured: java.io.EOFException
[Thread-8/INFO]: [java.lang.Throwable$WrappedPrintStream:println:748]: java.io.EOFException
[Thread-8/INFO]: [java.lang.Throwable$WrappedPrintStream:println:748]: at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2626)
[Thread-8/INFO]: [java.lang.Throwable$WrappedPrintStream:println:748]: at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1321)
[Thread-8/INFO]: [java.lang.Throwable$WrappedPrintStream:println:748]: at java.io.ObjectInputStream.readObject(ObjectInputStream.java:373)
[Thread-8/INFO]: [java.lang.Throwable$WrappedPrintStream:println:748]: at com.superzanti.serversync.ServerWorker.run(ServerWorker.java:59)
[Thread-8/INFO]: [java.lang.Throwable$WrappedPrintStream:println:748]: at java.lang.Thread.run(Thread.java:745)
[Thread-5/INFO]: Connection established with Socket[addr=/127.0.0.1,port=55638,localport=38067]
[Thread-9/INFO]: Received message: I WANT THAT ONE from connection Socket[addr=/127.0.0.1,port=55638,localport=38067]
[Thread-9/INFO]: Error occured: java.io.EOFException
[Thread-9/INFO]: [java.lang.Throwable$WrappedPrintStream:println:748]: java.io.EOFException
[Thread-9/INFO]: [java.lang.Throwable$WrappedPrintStream:println:748]: at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2626)
[Thread-9/INFO]: [java.lang.Throwable$WrappedPrintStream:println:748]: at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1321)
[Thread-9/INFO]: [java.lang.Throwable$WrappedPrintStream:println:748]: at java.io.ObjectInputStream.readObject(ObjectInputStream.java:373)
[Thread-9/INFO]: [java.lang.Throwable$WrappedPrintStream:println:748]: at com.superzanti.serversync.ServerWorker.run(ServerWorker.java:59)
[Thread-9/INFO]: [java.lang.Throwable$WrappedPrintStream:println:748]: at java.lang.Thread.run(Thread.java:745)
And this is what my "detailed" log shows:
Establishing a socket connection to the server...
< Connecting to server >
Creating input/output streams...
Exception caught! - java.lang.NullPointerException
Closing connections...
All of serversync's sockets to the server have been closed
Files updated
Errors occurred, please check ip/port details are correct. For a detailed log check the logs folder in your minecraft directory
Hmm, will need further digging. Looks like its failing somewhere around the config checking area.
Just pulled a fresh repo and built master (1.7.10) slapped it into a fresh 1.7.10 forge server with a couple of random mods.
Seems to work as expected, interesting that there is a null pointer exception though.
Thank you for the logs, helps to track down the problem immensely.
It would seem the issue is not in the guts of the program at all, the updating process works fine but the GUI locks after completion sometime.
Shall continue adding error handling to see if I can narrow the field a bit.
GUI lock was just some basic UI fail. Had some updating code executing directly on the UI thread.
It seems that basic testing will not do for this particular issue, If possible could I have a list of the mods installed.
I'm guessing that the server/client is choking on something about one of them in particular as I am unable to reproduce the original issue with the selection of mods I have tested with.
@syndicate25 @shaynemk
I have added a bunch more error logging/handling, If I could pester you to have another attempt at this and see if we get some more useful logs out of it.
Just the serversync-detailed.log, output from forges console would presumably be the same.
@rheimus - Apologies for my disappearance. I sort of forgot that I even posted this issue and moved on. However, I've returned to give this another go, but now upon loading the mod on the server without any modifications whatsoever, I get a crash. This should hopefully serve the purpose of also providing you with my mod list, which shows in the report. I will say it is quite a hefty list, though. I've started watching this thread so I can keep up to date on providing you what you need to get this resolved.
Minecraft 1.7.10
Serversync 2.6.2 (also tried 2.6.1)
For some reason, it wouldn't let me attach the file, so here's a pastebin:
Ahh well that could be the issue there, I probably should upload a build with some of the more recent dev changes.
Thank you for the logs.
Added a 2.6.3 build to the releases. Contains some of the more recent fixes I have worked on, shall have a debug session over the weekend as well.
Note: I doubt these fixes will solve this issue, at a brief glance it looks like serversync is not handling the case where there are errors present in the modinfo files.
Would seem that ServerSync was not handling malformed json very well. #44 should solve this.
Although it is worthy of note that the OP issue is not related to this, however I have not been able to reproduce it.
@syndicate25 Version 2.6.6 on needs ServerSync to be in the base minecraft directory for both the client & server (same dir as the mods / configs folder), can start ServerSync in server mode either from the command line by passing "server" as an argument to ServerSync or by adding:
- java -jar serversync-2.6.6.jar server
to your startup script.
@rheimus - I don't have the ability to add a startup script, since I do not host the server on my own machine. It's done through a service, but it's a long story. I don't pay for it and so I have little say in what can and can't be done. I'm grateful to have control over most things, like what mods and configs get added, but beyond that there's not much I can do. The parent directory is locked with the exception of the world folder.
What do you mean by "passing "server" as an argument to ServerSync"?
Hmm that does make life difficult, which service is it. Shall have a look into what can be done with it.
Would be easy enough to build a version of serversync designed to be run from the mods folder getting forge to auto start it though could be interesting
See #46 for server argument
It's not an official service. I am getting free service from someone I met in exchange for helping him get better at hosting. He's just a server retailer, not officially in the market yet for hosting minecraft servers..
hmm, well the easiest would be to have said host adapt the server start script to something along the lines of the one in the wiki and add serversync to the root minecraft directory.
If that's not possible though I could look into making patch versions for forge that just use FML to kick off the server side.
@syndicate25 I'll look into creating forge loaded alternatives, shall create it as a separate issue though. For now I'm closing this one.