The proposed patch sounds very reasonable to me. I'd apply it. Bye, Mt.
----- Mail original ----- > On 2016-06-23 23:09, Markus Koschany wrote: > > What minetest modification caused the server failure? How can we > > reproduce the data inconsistency? > > > There is no server failure. The failure is happening when systemd sends > a > SIGTERM. It seems that minetest-server respond by exiting immediately > without executing its shutdown routines, namely the register_on_shutdown > functions from the mods. > I experienced the issue with one particular mod that only save its data > through this shutdown function (this is an error, IMO, and I reported it > to the mod developper). > The mod is: https://github.com/minetest-mods/character_creator > https://forum.minetest.net/viewtopic.php?f=9&t=13138 > > To reproduce: > - install the mod > - change your appearance in the game > - leave the game > - restart the minetest-server service with systemctl > - enter the game, you have the default appearance > > At shutdown, the file character_creator.mt should be created in the > world directory. It is created if you kill the minetest-server from > the game with /shutdown or outside with a SIGINT (I think it's the > same as a ctrl-C, right?) > > > > Restarting the server is equivalent with stopping and starting the > > server again. Systemd will send a SIGTERM signal by default to the > > server to terminate the running process. I don't see a reason why we > > should use a different KillSignal in this case. SIGINT means > > interrupting the process. > > > You're right, there is probably a bad choice of signal processing > in the minetest-server code. I'll report an issue there too. > > > > I suggest to investigate the cause of the server failure and then > > report > > your findings to the mod developers. If they think it is rather a > > minetest bug, please get in contact with the minetest developers > > directly because this is the fastest way to get your issue solved. > > > It's already done with the mod. I'll do it with the server, regarding > its > behavior with the SIGTERM signal. > > > > If you want to play with different service file settings, use a > > modified > > service file in /etc/systemd/system to override Debian's default > > settings. > > > That's what I do for now. > > Thank you for these suggestions. > >