BackTrak / TracTest

0 stars 0 forks source link

Two ripcording ships cause allsrv to hang #16

Open BackTrak opened 8 years ago

BackTrak commented 8 years ago

Reported by Tigereye on 5 Jan 2010 09:20 UTC When two ships arrive at a teleport receiver at the exact same time and occupy the same position in space, allsrv hangs and requires a serverop to restart it.

Both ships must arrive at the teleport in the exact same point in space. Since most teleports spit ships out in alternating patterns (left, right, left, right), 3 ships need to arrive at the teleport receiver at the same time in order for two of them (#1 and #3) to occupy the same space.

In addition, all clients who are in the sector hang. If they are playing Allegiance in fullscreen mode, it's impossible to alt+tab out, use the START key to gain access to their desktop, or Ctrl+Alt+Delete to view the Task Manager. Because the client is hung and in full screen, it is still tying up the video/audio making it impossible to interact with other applications in order to terminate the Allegiance.exe process.

All clients who are in different sectors and are not seeing the ships in question occupy the same space will drop out 30s later once they determine that pings are not being received from the server.

BackTrak commented 8 years ago

Comment by fuzzylunkin1 on 5 Jan 2010 09:20 UTC '''Dogbones''' I guess I'll take a look at this one

BackTrak commented 8 years ago

Comment by fuzzylunkin1 on 5 Jan 2010 09:21 UTC '''Cort''' How far did you get with this one, DB? It sounds to me like the easiest (although not best) method to fix that would be to just abort the rip if there are no free launch points at the target station -- basically like ripping to a carrier without energy.

Sure that's not perfect, but definitely better than crashing the whole server (and multiple games with it).

BackTrak commented 8 years ago

Comment by fuzzylunkin1 on 5 Jan 2010 09:21 UTC '''Imago''' It's my understanding, from pkk's latest tests, that this was only an issue in older cores and is now fixed. Of course, if you can reproduce it, pasting a call stack and snip of the server log would be helpful.

BackTrak commented 8 years ago

Modified by fuzzylunkin1 on 5 Jan 2010 09:22 UTC

BackTrak commented 8 years ago

Comment by Imago on 8 Jan 2010 18:51 UTC Fixed in r457.

Note this changes behavior of non-players only (drones, i.e. carriers).

During testing it was impossible to get enough players to rip in on the same tick to cause the crash.

See: http://freeallegiance.sourceforge.net/pub/Vids/perpetualcollisionfix-3.wmv

BackTrak commented 8 years ago

Comment by Imago on 8 Jan 2010 18:52 UTC Closed

BackTrak commented 8 years ago

Modified by Imago on 8 Jan 2010 19:14 UTC

BackTrak commented 8 years ago

Modified by Imago on 8 Jan 2010 19:32 UTC

BackTrak commented 8 years ago

Comment by pkk on 8 Jan 2010 20:40 UTC Your fix only fixes stations '''without any launch joint(s)'''.

Station which '''have a launch joint(s)''', will still drop ships at the same coordinates and result in a infinity loop...

BackTrak commented 8 years ago

Comment by Imago on 9 Jan 2010 11:02 UTC Replying to pkk:

Your fix only fixes stations '''without any launch joint(s)'''.

Station which '''have a launch joint(s)''', will still drop ships at the same coordinates and result in a infinity loop...

This fix is for Teleport Receiver stations only. Still uses the Teleports 4 default points, unless it's a drone then it randomizes from the point/joint.

BackTrak commented 8 years ago

Modified by Imago on 9 Jan 2010 11:03 UTC

BackTrak commented 8 years ago

Comment by pkk on 9 Jan 2010 12:55 UTC Replying to Imago:

This fix is for Teleport Receiver stations only. Still uses the Teleports 4 default points, unless it's a drone then it randomizes from the point/joint.

Again, you have '''only fixed teleports''' (bases without launch joints). This bug is not fixed yet...

Another example, which will trigger the inf loop.

Andon played around with his Faction X combined Miner/Carrier drone: game starts with 10 miner drones (two go out and mine the home he3 rocks) you build a base two sectors forward you build a base between the forward base and your home miner AI now wants to mine the 8 new he3 rocks 8 drones launch at once from Garrison (which has only one launch joint) AllSrv hangs within a infinity loop

BackTrak commented 8 years ago

Comment by Imago on 9 Jan 2010 13:19 UTC ok thanks for the final clarifications i accept re-opening and will see to it