supertuxkart / stk-code

The code base of supertuxkart
Other
4.45k stars 1.05k forks source link

SuperTuxKart blocks keyboard input when running SuperTuxKart on a TTY #4833

Closed searinminecraft closed 1 year ago

searinminecraft commented 1 year ago

Description

When running SuperTuxKart (like starting a server) on a TTY, SuperTuxKart completely blocks keyboard input. Which means I can't switch to another tty (like tty7, where the desktop is), or even type server commands in the network console. Not even CTRL+ALT+DELETE and the magic SysRq key combinations work and I'm forced to reboot my system by pressing the power button or triggering an ACPI shutdown. The only workaround is to switch to another tty immediately while SuperTuxKart is loading, then switching back to that tty.

Steps to reproduce

  1. When on a desktop environment, switch to another tty by pressing CTRL + ALT + F6 and log in with any user.
  2. Run a SuperTuxKart server (it doesn't have to be a WAN server). For example: supertuxkart --lan-server=Test --no-graphics --network-console. (Or you can just run SuperTuxKart with no graphics with supertuxkart --no-graphics)

Configuration

STK release version: Compiled from source

STK Source (PPA, distribution package, official binary, etc.): Arch Linux

Additional information

stdout.log (this was it's content before I was forced to reboot the system):

[info   ] [FileManager]: Data files will be fetched from: '/usr/local/share/supertuxkart/data/'
[info   ] [FileManager]: User directory is '/home/searinminecraft/.config/supertuxkart/config-0.10/'.
[info   ] [FileManager]: Addons files will be stored in '/home/searinminecraft/.local/share/supertuxkart/addons/'.
[info   ] [FileManager]: Screenshots will be stored in '/home/searinminecraft/.local/share/supertuxkart/screenshots/'.
[info   ] [FileManager]: User-defined grand prix will be stored in '/home/searinminecraft/.local/share/supertuxkart/grandprix/'.
[info   ] [FileManager]: Asset 0 will be loaded from '/usr/local/share/supertuxkart/data/challenges/'.
[info   ] [FileManager]: Asset 1 will be loaded from '/usr/local/share/supertuxkart/data/gfx/'.
[info   ] [FileManager]: Asset 2 will be loaded from '/usr/local/share/supertuxkart/data/grandprix/'.
[info   ] [FileManager]: Asset 3 will be loaded from '/usr/local/share/supertuxkart/data/gui/icons/'.
[info   ] [FileManager]: Asset 4 will be loaded from '/usr/local/share/supertuxkart/data/gui/screens/'.
[info   ] [FileManager]: Asset 5 will be loaded from '/usr/local/share/supertuxkart/data/gui/dialogs/'.
[info   ] [FileManager]: Asset 6 will be loaded from '/usr/local/share/supertuxkart/data/replay/'.
[info   ] [FileManager]: Asset 7 will be loaded from '/usr/local/share/supertuxkart/data/shaders/'.
[info   ] [FileManager]: Asset 8 will be loaded from '/usr/local/share/supertuxkart/data/skins/'.
[info   ] [FileManager]: Asset 9 will be loaded from '/usr/local/share/supertuxkart/data/ttf/'.
[info   ] [FileManager]: Asset 10 will be loaded from '/usr/local/share/supertuxkart/data/po/'.
[info   ] [FileManager]: Asset 11 will be loaded from '/usr/local/share/supertuxkart/data/library/'.
[info   ] [FileManager]: Asset 12 will be loaded from '/usr/local/share/supertuxkart/data/models/'.
[info   ] [FileManager]: Asset 13 will be loaded from '/usr/local/share/supertuxkart/data/music/'.
[info   ] [FileManager]: Asset 14 will be loaded from '/usr/local/share/supertuxkart/data/sfx/'.
[info   ] [FileManager]: Asset 15 will be loaded from '/usr/local/share/supertuxkart/data/textures/'.
[info   ] [FileManager]: Asset 16 will be loaded from '/usr/local/share/supertuxkart/data/tracks/'.
[verbose  ] translation: Env var LANGUAGE = 'fil'.
[verbose  ] translation: Language 'Filipino'.
[warn   ] irr_driver: Using the fixed pipeline (old GPU, or shaders disabled in options)
[info   ] GUI: Loading skin data from file: /usr/local/share/supertuxkart/data/skins/peach/stkskin.xml
[info   ] HTTPRequest: Sending userid=345397&token=************************ to https://online.supertuxkart.net/api/v2/user/saved-session/
[warn   ] track: Music information for track 'Luna' replaced by default music.

[warn   ] Track: NavMesh is not found for arena About the Garage, disable AI for it.

[warn   ] TrackManager: Track 'addon_alpine-2' is not supported by this binary, ignored. (Track is version 5, this executable supports from 6 to 7).
[warn   ] track: Music information file 'amazon_jungle.music' not found for track 'Amazonian Journey' - ignored.

[warn   ] track: Music information for track 'Amazonian Journey' replaced by default music.

[warn   ] Track: NavMesh is not found for arena Amphitheatre, disable AI for it.

[warn   ] Track: NavMesh is not found for arena Area 498, disable AI for it.

[warn   ] track: Music information file 'dance_cleopatra.music' not found for track 'Around The Sea' - ignored.

[warn   ] track: Music information for track 'Around The Sea' replaced by default music.

[warn   ] track: Music information for track 'bowling' replaced by default music.

[warn   ] Track: NavMesh is not found for arena Champs Castle, disable AI for it.

[warn   ] Track: NavMesh is not found for arena Circle Of Destiny, disable AI for it.

[warn   ] Track: NavMesh is not found for arena Circle of ubuntu, disable AI for it.

[warn   ] track: Music information file 'xeon6.music' not found for track 'Coloseum' - ignored.

[warn   ] track: Music information for track 'Coloseum' replaced by default music.

[warn   ] Track: NavMesh is not found for arena Coloseum, disable AI for it.

[warn   ] track: Music information file 'Dronid.music' not found for track 'Cosmic II - Vermillion Core' - ignored.

[warn   ] track: Music information for track 'Cosmic II - Vermillion Core' replaced by default music.

[warn   ] track: Music information file 'TheDeadRocks-EasyJob.music' not found for track 'Coyote Canyon' - ignored.

[warn   ] track: Music information for track 'Coyote Canyon' replaced by default music.

[warn   ] TrackManager: Track 'addon_coyote-canyon' is not supported by this binary, ignored. (Track is version 5, this executable supports from 6 to 7).
[warn   ] track: Music information file 'TheDeadRocks-EasyJob.music' not found for track 'Coyote Canyon' - ignored.

[warn   ] track: Music information for track 'Coyote Canyon' replaced by default music.

[warn   ] TrackManager: Track 'addon_extreme-playground-stadium-ii' is not supported by this binary, ignored. (Track is version 0, this executable supports from 6 to 7).
[warn   ] TrackManager: Track 'addon_fort-magma-soocer' is not supported by this binary, ignored. (Track is version 1, this executable supports from 6 to 7).
[warn   ] TrackManager: Track 'addon_fort-magma-soocer_1' is not supported by this binary, ignored. (Track is version 1, this executable supports from 6 to 7).
[warn   ] TrackManager: Track 'addon_hacienda--edit-' is not supported by this binary, ignored. (Track is version 5, this executable supports from 6 to 7).
[warn   ] track: Music information file 'dance_cleopatra.music' not found for track 'Hacienda [edit]' - ignored.

[warn   ] track: Music information for track 'Hacienda [edit]' replaced by default music.

[warn   ] Track: NavMesh is not found for arena Ice cube , disable AI for it.

[warn   ] Track: NavMesh is not found for arena Interplanetary War, disable AI for it.

[warn   ] TrackManager: Track 'addon_kingdom-of-fire' is not supported by this binary, ignored. (Track is version 5, this executable supports from 6 to 7).
[warn   ] track: Music information file 'Origin.music' not found for track 'labirus' - ignored.

[warn   ] track: Music information for track 'labirus' replaced by default music.

[warn   ] Track: NavMesh is not found for arena labirus, disable AI for it.

[warn   ] Track: NavMesh is not found for arena Lava island, disable AI for it.

[warn   ] track: Music information for track 'Ljubljana' replaced by default music.

[warn   ] Track: NavMesh is not found for arena Lost forest, disable AI for it.

[warn   ] Track: NavMesh is not found for arena Lost Pyramids, disable AI for it.

[warn   ] track: Music information file 'TheDeadRocks-GreenSecretFromAmazonia.music' not found for track 'Lost Speedway' - ignored.

[warn   ] track: Music information for track 'Lost Speedway' replaced by default music.

[warn   ] track: Music information file 'after_the_flames.music' not found for track 'Macabre Dunes' - ignored.

[warn   ] track: Music information for track 'Macabre Dunes' replaced by default music.

[warn   ] Track: NavMesh is not found for arena Magma Battle, disable AI for it.

[warn   ] Track: NavMesh is not found for arena Mall, disable AI for it.

[warn   ] Track: NavMesh is not found for arena Marcel's Fun House, disable AI for it.

[warn   ] track: Music information file 'ChillCarrier-Druckverlust.musi' not found for track 'Night by the Sea' - ignored.

[warn   ] track: Music information for track 'Night by the Sea' replaced by default music.

[warn   ] Track: NavMesh is not found for arena Parking Lot, disable AI for it.

[warn   ] track: Music information file 'after_the_flames.music' not found for track 'Random Island' - ignored.

[warn   ] track: Music information for track 'Random Island' replaced by default music.

[warn   ] track: Music information file 'kart_grandprix.music' not found for track 'RT1 ernu Circuit' - ignored.

[warn   ] track: Music information for track 'RT1 ernu Circuit' replaced by default music.

[warn   ] Track: NavMesh is not found for arena shipwreck, disable AI for it.

[warn   ] TrackManager: Track 'addon_shipwreck' is not supported by this binary, ignored. (Track is version 5, this executable supports from 6 to 7).
[warn   ] Track: NavMesh is not found for arena Soccer arena, disable AI for it.

[warn   ] Track: NavMesh is not found for arena STK Mercury, disable AI for it.

[warn   ] TrackManager: Track 'addon_subterranean-cave' is not supported by this binary, ignored. (Track is version 5, this executable supports from 6 to 7).
[warn   ] Track: NavMesh is not found for arena The lost subsea, disable AI for it.

[warn   ] Track: NavMesh is not found for arena The Plains, disable AI for it.

[warn   ] track: Music information file 'after_the_flames.music' not found for track 'The Ring' - ignored.

[warn   ] track: Music information for track 'The Ring' replaced by default music.

[warn   ] TrackManager: Track 'addon_traditional-shifting-sands' is not supported by this binary, ignored. (Track is version 5, this executable supports from 6 to 7).
[warn   ] Track: NavMesh is not found for arena TSS, disable AI for it.

[warn   ] Track: NavMesh is not found for arena Warehouse, disable AI for it.

[info   ] GrandPrixManager: Loading Grand Prix files from /usr/local/share/supertuxkart/data/grandprix/
[info   ] GrandPrixManager: Loading Grand Prix files from /home/searinminecraft/.local/share/supertuxkart/grandprix/
[warn   ] GrandPrixData: Grandprix file '/home/searinminecraft/.local/share/supertuxkart/grandprix/usr_gp_41517746.grandprix': There is no track defined
Sun Dec 25 17:36:28 2022 [info   ] STKHost: Host initialized.
Sun Dec 25 17:36:28 2022 [info   ] STKHost: Server port is 2759
Sun Dec 25 17:36:28 2022 [info   ] ServerLobby: Resetting the server to its initial state.
Sun Dec 25 17:36:28 2022 [info   ] ProtocolManager: A 11ServerLobby protocol has been started.
Sun Dec 25 17:36:28 2022 [info   ] main: Creating a LAN server 'RandomAddons'.
Sun Dec 25 17:36:28 2022 [info   ] STKHost: Listening has been started.
Sun Dec 25 17:36:28 2022 [info   ] Achievements: Synching achievement 1,2,3,4,5,6,7,8,9,10,11,12 to server.
Sun Dec 25 17:36:28 2022 [info   ] HTTPRequest: Sending userid=345397&token=************************&achievementid=1%2C2%2C3%2C4%2C5%2C6%2C7%2C8%2C9%2C10%2C11%2C12 to https://online.supertuxkart.net/api/v2/user/achieving/
Sun Dec 25 17:36:30 2022 [info   ] HTTPRequest: Sending userid=345397&token=************************&visitingid=345397 to https://online.supertuxkart.net/api/v2/user/get-friends-list/
Sun Dec 25 17:36:37 2022 [info   ] HTTPRequest: Sending userid=345397&token=************************ to https://online.supertuxkart.net/api/v2/user/poll/
Benau commented 1 year ago

Try remove the --network-console

searinminecraft commented 1 year ago

Try remove the --network-console

No change. It still blocks keyboard input

Benau commented 1 year ago

try rebuild supertuxkart with cmake .. -DSERVER_ONLY=ON

Benau commented 1 year ago

I don't think it's possible to make it working with (or worth the effort) ordinary supertuxkart binary (probably some libraries it uses misbehave in console)

searinminecraft commented 1 year ago

try rebuild supertuxkart with cmake .. -DSERVER_ONLY=ON

ok i will try that..

searinminecraft commented 1 year ago

ok. i compiled the latest git with that argument and it seems that it no longer blocks keyboard input. (i made sure i did a git pull so it would have the latest code). but i need to make sure it really doesnt block input anymore.

Benau commented 1 year ago

assuming it's working for you