mehtank / androminion

Androminion : Unofficial Dominion for Android
185 stars 64 forks source link

Androminion Client Crashes when Connecting to Server #609

Open rockobonaparte opened 5 years ago

rockobonaparte commented 5 years ago

Hi! I'm that guy who decided to try to use the November Pre-Alpha 5 with the client/server system! I don't know if that was a smart thing to do or not, but I don't see an issue opened on it so I thought I'd share. I don't know what you might want to see from the client. The server is running on my VPS; it's not something on the LAN. I tried logging on both times from restarted instances of Androminion on my own phone. I alternated between 2255 and 2256. It seems like the host is okay, but the client is the one dropping dead. Here's the ant build that's invoking the server (and proof of the HEAD). Phone's running Renaissance Pre-Alpha 5. The console:

Crocko@buzz:~/androminion/androminion/vdom$ ant run
Buildfile: /home/rocko/androminion/androminion/vdom/build.xml

compile:
    [javac] /home/rocko/androminion/androminion/vdom/build.xml:14: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds

jar:

run:
     [java] <VDOM CORE>
     [java] <VDOM CORE> ---------------------
     [java] <VDOM CORE> New Game:FirstGame
     [java] <VDOM CORE>
     [java] <VDOM CORE> Cards in Play
     [java] <VDOM CORE> ---------------
     [java] <VDOM CORE> Gold: [Gold, Gold, Gold, Gold, Gold, Gold, Gold, Gold, Gold, Gold, Gold, Gold, Gold, Gold, Gold, Gold, Gold, Gold, Gold, Gold, Gold, Gold, Gold, Gold, Gold, Gold, Gold, Gold, Gold, Gold]
     [java] <VDOM CORE> Militia: [Militia, Militia, Militia, Militia, Militia, Militia, Militia, Militia, Militia, Militia]
     [java] <VDOM CORE> Estate: [Estate, Estate, Estate, Estate, Estate, Estate, Estate, Estate, Estate, Estate, Estate, Estate, Estate, Estate, Estate, Estate, Estate, Estate, Estate, Estate, Estate, Estate, Estate, Estate]
     [java] <VDOM CORE> Cellar: [Cellar, Cellar, Cellar, Cellar, Cellar, Cellar, Cellar, Cellar, Cellar, Cellar]
     [java] <VDOM CORE> Smithy: [Smithy, Smithy, Smithy, Smithy, Smithy, Smithy, Smithy, Smithy, Smithy, Smithy]
     [java] <VDOM CORE> Village: [Village, Village, Village, Village, Village, Village, Village, Village, Village, Village]
     [java] <VDOM CORE> Woodcutter: [Woodcutter, Woodcutter, Woodcutter, Woodcutter, Woodcutter, Woodcutter, Woodcutter, Woodcutter, Woodcutter, Woodcutter]
     [java] <VDOM CORE> Market: [Market, Market, Market, Market, Market, Market, Market, Market, Market, Market]
     [java] <VDOM CORE> Province: [Province, Province, Province, Province, Province, Province, Province, Province, Province, Province, Province, Province]
     [java] <VDOM CORE> Silver: [Silver, Silver, Silver, Silver, Silver, Silver, Silver, Silver, Silver, Silver, Silver, Silver, Silver, Silver, Silver, Silver, Silver, Silver, Silver, Silver, Silver, Silver, Silver, Silver, Silver, Silver, Silver, Silver, Silver, Silver, Silver, Silver, Silver, Silver, Silver, Silver, Silver, Silver, Silver, Silver]
     [java] <VDOM CORE> Moat: [Moat, Moat, Moat, Moat, Moat, Moat, Moat, Moat, Moat, Moat]
     [java] <VDOM CORE> Curse: [Curse, Curse, Curse, Curse, Curse, Curse, Curse, Curse, Curse, Curse, Curse, Curse, Curse, Curse, Curse, Curse, Curse, Curse, Curse, Curse, Curse, Curse, Curse, Curse, Curse, Curse, Curse, Curse, Curse, Curse]
     [java] <VDOM CORE> Duchy: [Duchy, Duchy, Duchy, Duchy, Duchy, Duchy, Duchy, Duchy, Duchy, Duchy, Duchy, Duchy]
     [java] <VDOM CORE> Mine: [Mine, Mine, Mine, Mine, Mine, Mine, Mine, Mine, Mine, Mine]
     [java] <VDOM CORE> Remodel: [Remodel, Remodel, Remodel, Remodel, Remodel, Remodel, Remodel, Remodel, Remodel, Remodel]
     [java] <VDOM CORE> Workshop: [Workshop, Workshop, Workshop, Workshop, Workshop, Workshop, Workshop, Workshop, Workshop, Workshop]
     [java] <VDOM CORE> Copper: [Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper, Copper]
     [java] <VDOM CORE>
     [java] <VDOM CORE> null:Creating server
     [java] Remote player now listening on port 2255
     [java] <VDOM CORE> null:Waiting for 300000 ms...
     [java] <VDOM CORE> You:Name set: You
     [java] <VDOM CORE> You:Done waiting. hasJoined: True
     [java] <VDOM CORE> You::0:GameStarting
     [java] <VDOM CORE> null:Creating server
     [java] Remote player now listening on port 2256
     [java] <VDOM CORE> null:Waiting for 300000 ms...
     [java] <VDOM CORE> You:Name set: You
     [java] <VDOM CORE> You:Done waiting. hasJoined: True
     [java] <VDOM CORE> You::0:GameStarting
     [java] <VDOM CORE> Earl::0:GameStarting
     [java] <VDOM CORE> Drew::0:GameStarting
     [java] <VDOM CORE> You::0:DeckReplenished
     [java] <VDOM CORE> You::0:DeckReplenished
     [java] <VDOM CORE> Earl::0:DeckReplenished
     [java] <VDOM CORE> Drew::0:DeckReplenished
     [java] <VDOM CORE> Turn 1
     [java] <VDOM CORE> You::1:TurnBegin:Copper, Copper, Copper, Copper, Copper
     [java] <VDOM CORE> You:!!! Quitting: Could not complete query. !!!
     [java] Java Result: 255

BUILD SUCCESSFUL
Total time: 1 minute 5 seconds
rocko@buzz:~/androminion/androminion/vdom$ git log
commit 199794873de3c02228a2619500333a78a90129d8
Merge: 8fcb88c 5c07653
Author: dominionator <dominionator@users.noreply.github.com>
Date:   Mon Nov 12 15:34:41 2018 -0700

    Merge pull request #569 from honsberg/patch-3

    Update strings-server.xml
rockobonaparte commented 5 years ago

If there's a known-good config then I'll step back to that instead. I can submit more info if you want it. My wife and I want to be able to play together with our phones, so I have some motivation.

Quarkmus commented 5 years ago

Could you figure something out? I have the same issue.

It crashed with this error:

06-13 14:32:52.391 21983 21983 D AndroidRuntime: Shutting down VM
06-13 14:32:52.393 21983 21983 E AndroidRuntime: FATAL EXCEPTION: main
06-13 14:32:52.393 21983 21983 E AndroidRuntime: Process: com.mehtank.androminion, PID: 21983
06-13 14:32:52.393 21983 21983 E AndroidRuntime: java.lang.NullPointerException: Attempt to read from null array
06-13 14:32:52.393 21983 21983 E AndroidRuntime:    at com.mehtank.androminion.ui.GameTable.setStatus(GameTable.java:1117)
06-13 14:32:52.393 21983 21983 E AndroidRuntime:    at com.mehtank.androminion.activities.GameActivity$1.setStatus(GameActivity.java:660)
06-13 14:32:52.393 21983 21983 E AndroidRuntime:    at com.mehtank.androminion.activities.GameActivity$1.handleMessage(GameActivity.java:557)
06-13 14:32:52.393 21983 21983 E AndroidRuntime:    at android.os.Handler.dispatchMessage(Handler.java:105)
06-13 14:32:52.393 21983 21983 E AndroidRuntime:    at android.os.Looper.loop(Looper.java:164)
06-13 14:32:52.393 21983 21983 E AndroidRuntime:    at android.app.ActivityThread.main(ActivityThread.java:6798)
06-13 14:32:52.393 21983 21983 E AndroidRuntime:    at java.lang.reflect.Method.invoke(Native Method)
06-13 14:32:52.393 21983 21983 E AndroidRuntime:    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
06-13 14:32:52.393 21983 21983 E AndroidRuntime:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
kopp commented 4 years ago

I tried to do the same with the latest build, v9.06-prealpha6 with the corresponding server run via ant run in vdom and also got the following error in logcat:

 2789 E AndroidRuntime: FATAL EXCEPTION: main
 2789 E AndroidRuntime: Process: com.mehtank.androminion, PID: 2789
 2789 E AndroidRuntime: java.lang.NullPointerException: Attempt to read from null array
 2789 E AndroidRuntime:        at com.mehtank.androminion.ui.GameTable.setStatus(GameTable.java:1117)
 2789 E AndroidRuntime:        at com.mehtank.androminion.activities.GameActivity$1.setStatus(GameActivity.java:660)
 2789 E AndroidRuntime:        at com.mehtank.androminion.activities.GameActivity$1.handleMessage(GameActivity.java:557)
 2789 E AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:102)
 2789 E AndroidRuntime:        at android.os.Looper.loop(Looper.java:148)
 2789 E AndroidRuntime:        at android.app.ActivityThread.main(ActivityThread.java:5443)
 2789 E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)
 2789 E AndroidRuntime:        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
 2789 E AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
26101 W ActivityManager:   Force finishing activity com.mehtank.androminion/.activities.GameActivity
26101 W ActivityManager:   Force finishing activity com.mehtank.androminion/.activities.MenuActivity
26101 I ActivityManager: moveHomeStack, setupComplete:true
kopp commented 4 years ago

It looks like one of these arrays of the GameStatus gs is empty/was not assigned ...

gs.turnCounts[i], gs.deckSizes[i], gs.stashOnDeck[i], gs.handSizes[i], gs.stashesInHand[i], gs.numCards[i], gs.vp[i], gs.pirates[i], gs.victoryTokens[i], gs.debtTokens[i], gs.guildsCoinTokens[i], gs.villagers[i],
gs.minusOneCoinTokenOn[i], gs.minusOneCardTokenOn[i], gs.journeyTokens[i],
gs.hasDeluded[i], gs.hasEnvious[i], gs.hasLostInTheWoods[i], gs.hasMiserable[i], gs.hasTwiceMiserable[i],
gs.hasFlag[i], gs.hasHorn[i], gs.hasKey[i], gs.hasLantern[i], gs.hasTreasureChest[i],