View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000154Soldat Dedicated ServerGeneralpublic2012-02-08 23:262012-02-13 01:44
Assigned ToShoozza 
Platformx64OSWindowsOS Version7
Product Version2.7.2 
Target VersionFixed in Version2.7.3 
Summary0000154: Forcefully closing connection to admin server results in malfunction of admin server
DescriptionI've stumbled upon this issue quite a few times now while working on MSAC and a gather bot for #lrs, turns out it does not happen randomly:

If an admin connection to the Soldat dedicated server is forcefully closed, new admin clients do not receive any more data after authenticating.
The "Sever version: 2.7.2" line is the last line that is received.
If there are players on the server, it sometimes randomly crashes a few minutes after the connection broke.
Steps To ReproduceDue to how Windows internally handles sockets of programs which quit without cleaning up a socket handle, this can easily be reproduced on Windows using nc.
It can be reproduced on *nix by remotely connecting (not through loop-back) with an admin client and kill -9'ing its process (random).

1) Get nc for Windows: [^]
2) Start the Soldat dedicated server
3) nc localhost 23073
4) Enter the admin password, hit return, execute any command.
-> You will get a correct response (echo of your command).
5) Terminate nc by pressing ctrl-c (note that no 'Admin disconnected' message is displayed in the dedicated server's console)
6) Wait a few seconds, then repeat 3) and 4)
-> The command will be displayed in the dedicated server's console (and will be processed by scripts), the admin client will however not receive any response.
Additional InformationI assume that this is caused by incorrectly handling send(), recv() or select() returning -1, or not checking the error fd after calling select().
TagsNo tags attached.
Attached Files

- Relationships
duplicate of 0000124resolvedShoozza buggy Soldatserver connection after admin client crash 

-  Notes
Shoozza (administrator)
2012-02-09 03:35

I did the steps 1..6 but I don't get this error on Windows XP.

What happens:
I the server never displays the 'Admin disconnected' message when I disconnect (ctrl+c'd nc).
New connections receive join messages and sent messages so theres no bug for me.

As I don't have access to a Windows 7 machine now I can't test it.

Any other ideas on how to get this error?
Mr (developer)
2012-02-09 15:45

That is odd, I am able to reproduce it on a so far untouched and independently set up XP VM (fully patched, SP3) too. [^] [^]

The issue is not related to the scripts running on the server, I have also tested it with Scripting=0 in server.ini.
I also joined the server like you suggested (after taking the screenshots), the admin client did not get the join messages either.

Here's the server's configuration file I used for reproducing this issue, it is basing on the default one shipped with the 1.6.2 server, only the server name, lobby registration options and port have been changed: [^]
Mr (developer)
2012-02-11 16:07

I tested this with a freshly set up Soldat server (from md5 70d30d7b7138c450786e7337299bc930, I only set an admin password in soldat.ini) on Windows 7 now and was able to reproduct the bug using the steps above (as shown on the screenshot on the previous note).
Shoozza (administrator)
2012-02-13 01:44

Wrong handling of exceptions was probably the reason for this error (finally -> except).

- Issue History
Date Modified Username Field Change
2012-02-08 23:26 Mr New Issue
2012-02-09 03:35 Shoozza Note Added: 0001311
2012-02-09 03:35 Shoozza Status new => feedback
2012-02-09 15:45 Mr Note Added: 0001312
2012-02-09 15:45 Mr Status feedback => new
2012-02-11 16:07 Mr Note Added: 0001314
2012-02-13 01:43 Shoozza Relationship added duplicate of 0000124
2012-02-13 01:44 Shoozza Note Added: 0001318
2012-02-13 01:44 Shoozza Status new => resolved
2012-02-13 01:44 Shoozza Fixed in Version => 2.7.3
2012-02-13 01:44 Shoozza Resolution open => fixed
2012-02-13 01:44 Shoozza Assigned To => Shoozza

Copyright © 2000 - 2023 MantisBT Team
Powered by Mantis Bugtracker