Skip to content

Not having all versions installed fails to start/hangs webserver #112

@Rytisgit

Description

@Rytisgit

the games variable

games = OrderedDict(trunk + stable_versions + forks)

is used to get a list of all versions to load the games data, if a version is not found, the webserver fails to startup and hangs with no error message.

When the issue happens the last lines of the docker logs will be:

| /home/crawl-dev/dgamelaunch-config/server/scripts/run.sh: line 18:  1641 Trace/breakpoint trap   sudo -u crawl nohup ttyd -p 8022 -t 'theme={"background": "#000000"}' -W dgamelaunch
dcss-server-1  | rm: cannot remove '/run/webtiles.pid': No such file or directory
dcss-server-1  |  * Stopping webtiles server webtiles                    [ OK ] 

which is due to

/etc/init.d/webtiles restart

getting triggered for the startup.

The code stops in the load_games function which uses the data from the games to check it.
https://github.com/crawl/crawl/blob/8da7c38387e0c711f33331f35709d380e40482d0/crawl-ref/source/webserver/webtiles/load_games.py#L83

Not sure if this was a problem before, but now if there is even a single not correctly installed game, this hard to debug error state will happen. I found this when trying to skip installing some games for the server.

You should be able to replicate this by simply doing a fresh install with the install-trunk.sh script so other games are not installed.

My personal fix was to crudely update the games list, Rytisgit@a76e76e, but there is probably a nicer solution to this. It would be best to somehow update this games variable after running the installation for every game version.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions