Page MenuHomeFeedback Tracker

1.86.145.229 ArmA3 dedicated server will not allow multiple servers under different users when they are services
New, NormalPublic

Description

We run each server under a separate user, and all servers are run as system services.

Previously, this worked. After rolling out this update, we found that only one customer server per machine will start.

Details

Severity
Major
Resolution
Open
Reproducibility
Always
Operating System
Windows 7 x64
Operating System Version
Windows 2008 R2
Category
Dedicated Server
Steps To Reproduce
  1. Create two user accounts.
  2. Create a copy of the ArmA3 dedicated server for each user account.
  3. Create a system service, such as through FireDaemon, that launches each dedicated server under its corresponding user.
  4. Confirm that only one of the servers will run properly. The other will use about 100 MB of memory and seemingly hang. Shutting down one of the servers allows the other to start up.
Additional Information

This is very similar to:

https://forums.bohemia.net/forums/topic/188231-nfo-156-update-disables-steam-api-initialization-on-vds-instances/
https://forums.bohemia.net/forums/topic/188192-server-linux-156-strange-issue/

It may have the same cause.

This is what is written to the .rpt file for servers that do not start properly:

12:49:41 ErrorMessage: Win32 Error: Cannot create MT object.
12:49:41 Application terminated intentionally
ErrorMessage: Win32 Error: Cannot create MT object.

Event Timeline

edge100x created this task.Dec 3 2018, 7:05 PM
edge100x edited Steps To Reproduce. (Show Details)Dec 3 2018, 7:51 PM
edge100x edited Additional Information. (Show Details)
Wulf added a subscriber: Wulf.Dec 4 2018, 2:28 PM

Hello.

Could you please send us your dumps with server rpts?

Thank you.

Same thing happens with Linux dedicated server
user1 starts an Arma3 game and user2 cannot start Arma3 game
The armaserver file creates a "/tmp/a3_cache_ch.lck" file owned by user1
If user1 stops the arma3 server, the file is not deleted and user2 server never starts up but it keeps trying and the log file keeps growing. Mine was several gig in size before I seen what was happening, (if not have noticed it would have crashed the server when the HDD filled up).
user2 cannot delete the file because it is owned by user1 so user2/arma3server never starts but the log file keeps growing,
and we cannot have two servers running on the same machine.
I dont know if this helps but here it is.

Just did a temp workaround and works for me so far,

Went in as root and set file permissions to 666 so anyone can read and write to file -> "/tmp/a3_cache_ch.lck"
Now user1 and user2 games can run at same time.
I have no idea where the windows (tmp) file would be located or how to change file permissions and do not know if will create more problems with two users accessing the same file.
But there it is.

jimmy2309a, I wish it were that simple on Windows, but I have found no such workaround here =\.

Wulf, could send you dumps privately but this is also really easy to reproduce with the steps I gave. That would be the fastest way to go and give you a setup for testing possible solutions.

Sorry,
It would do no good to send me server dumps.
I have not seen a windows os since xp.
I just run a linux server w/2 arma2's and 2 arma3's (dimrod servers),
Just trying to tell how I overcame this problem, (Arma3 servers been running for 6 hours now) since Arma3 update yesterday,
and maybe will give the arma people a place to look for a problem, and hoping something like that to fix windows server.
Sorry I cant be more help,

jimmy2309a, my comment had two statements. One was addressed to you and one to Wulf. Wulf had asked for server dumps.

Your workaround is similar to the one mentioned in the forum link for the previous problem. I wish there a similar host-implementable workaround were possible under Windows.

The developer should be able to review your workaround to help find where in the code the new, problematic lock was added.

Wulf added a comment.Dec 6 2018, 12:49 PM

Hotfix is live, it should have fixed this issue.