HamaIndustries / FEMultiPlayer-V2

Reupload & revamp of FEMP with fresh bugfixes... usually. Check "releases" for download.
http://eliatlarge.github.io/FEMultiPlayer-V2/
GNU General Public License v3.0
27 stars 31 forks source link

Server crash when smiting/shoving #170

Open wellme opened 6 years ago

wellme commented 6 years ago

Issue type: problem

Description:

I've experienced this while testing the fix for the give/take commands. I haven't been able to reproduce it. I figure people should be aware that there's potentially a bug in the smite validation.


Expected Behavior:

Smite


Actual Behavior:

Server crash


Steps to Reproduce:

I don't know. IIRC, I was smiting a mage with an armored unit rescuing another unit (I didn't think of taking a screenshot/noting down the units when it happened). The smiter was next to the right boundary of the map if that helps, smiting an ally towards the left. There were no units in the way.


Examples:

I suppose I have the server log, but that's all I have.


java.lang.IllegalStateException: SMITE: Shover is not allowed to shove shovee
    at net.fe.network.command.SmiteCommand.applyServer(SmiteCommand.java:31)
    at net.fe.overworldStage.OverworldStage.processCommands(OverworldStage.java:366)
    at net.fe.overworldStage.OverworldStage.executeMessage(OverworldStage.java:266)
    at net.fe.overworldStage.OverworldStage.beginStep(OverworldStage.java:259)
    at net.fe.network.FEServer.loop(FEServer.java:116)
    at net.fe.network.serverui.FEServerFrame.lambda$0(FEServerFrame.java:57)
    at java.lang.Thread.run(Thread.java:745)
rayrobdod commented 6 years ago

I got this in 10d0ca2d989d1a1c05ae15c9e639282c12502827 .

In this match, Blue was the only side that had weapons, so red was milling with assorted shove and rescue actions. I did not pay attention to who rescued whom, although I think it was mostly Horsemen rescuing infantry. I don't think anyone was rescued on this turn. In this turn, only Mia and Joshua remained: Mia (northern red swordmaster) shoved an enemy Pegasus, then Joshua (southern red swordmaster) shoved Mia. Joshua shoving Mia was when the crash occurred. However, I have not been able to reproduce this.

java.lang.IllegalStateException: SHOVE: Shover is not allowed to shove shovee
    at net.fe.network.command.ShoveCommand.applyServer(ShoveCommand.java:31)
    at net.fe.overworldStage.OverworldStage.processCommands(OverworldStage.java:366)
    at net.fe.overworldStage.OverworldStage.executeMessage(OverworldStage.java:266)
    at net.fe.overworldStage.OverworldStage.beginStep(OverworldStage.java:259)
    at net.fe.network.FEServer.loop(FEServer.java:116)
    at net.fe.network.serverui.FEServerFrame.lambda$serverStart$0(FEServerFrame.java:57)
    at java.base/java.lang.Thread.run(Unknown Source)