Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Steam install fails with "no such column: steamid" on fresh install #3318

Closed
mihawk90 opened this issue Nov 25, 2020 · 6 comments
Closed

Steam install fails with "no such column: steamid" on fresh install #3318

mihawk90 opened this issue Nov 25, 2020 · 6 comments
Milestone

Comments

@mihawk90
Copy link
Contributor

Describe the bug

Attempting an installation of steam games via the new Steam tab in 0.5.8 results in an sqlite3 error sqlite3.OperationalError: no such column: steamid. After some fiddling, I got it to reproduce reliably.

Steps to reproduce

  • Setup a fresh new install of Lutris with no user data. When already installed and used: mv ~/.cache/lutris ~/.cache/lutris.bak && mv ~/.config/lutris ~/.config/lutris.bak && mv ~/.local/share/lutris ~/.local/share/lutris.bak
  • start lutris using -d
  • Sync Steam library via the Steam tab (Steam games need to be public)
  • attempt an installation of any steam game

Strictly speaking it is enough to just mv ~/.local/share/lutris/pga.db ~/.local/share/lutris/pga.db.bak, but for the sake of clean testing I wanted a "fresh" install.

Lutris debugging output (Optional)

Complete clean:
lutris-steam-games.log

Just pga.db moved:

[tarulia@localhost]~/Documents/dev/lutris% ./bin/lutris -d
Unable to load locale dir, translations won't work.
2020-11-25 14:37:35,842: Your version of python-magic is too old.

(lutris:2669543): Gtk-WARNING **: 14:37:36.060: Theme parsing error: gtk.css:68:35: The style property GtkButton:child-displacement-x is deprecated and shouldn't be used anymore. It will be removed in a future version

(lutris:2669543): Gtk-WARNING **: 14:37:36.061: Theme parsing error: gtk.css:69:35: The style property GtkButton:child-displacement-y is deprecated and shouldn't be used anymore. It will be removed in a future version

(lutris:2669543): Gtk-WARNING **: 14:37:36.061: Theme parsing error: gtk.css:73:46: The style property GtkScrolledWindow:scrollbars-within-bevel is deprecated and shouldn't be used anymore. It will be removed in a future version
INFO     2020-11-25 14:37:36,087 [application.do_command_line:319]:Lutris 0.5.8
INFO     2020-11-25 14:37:36,087 [startup.check_driver:69]:Running X.Org Mesa driver 20.2.2 on Radeon RX Vega (VEGA10, DRM 3.38.0, 5.8.18-300.fc33.x86_64, LLVM 11.0.0) (0x687f)
INFO     2020-11-25 14:37:36,088 [startup.check_driver:81]:GPU: 1002:687F 1DA2:E37F (amdgpu drivers)

(lutris:2669543): Gtk-WARNING **: 14:37:36.242: Theme parsing error: gtk.css:68:35: The style property GtkButton:child-displacement-x is deprecated and shouldn't be used anymore. It will be removed in a future version

(lutris:2669543): Gtk-WARNING **: 14:37:36.242: Theme parsing error: gtk.css:69:35: The style property GtkButton:child-displacement-y is deprecated and shouldn't be used anymore. It will be removed in a future version

(lutris:2669543): Gtk-WARNING **: 14:37:36.242: Theme parsing error: gtk.css:70:34: The style property GtkCheckButton:indicator-size is deprecated and shouldn't be used anymore. It will be removed in a future version

(lutris:2669543): Gtk-WARNING **: 14:37:36.242: Theme parsing error: gtk.css:73:46: The style property GtkScrolledWindow:scrollbars-within-bevel is deprecated and shouldn't be used anymore. It will be removed in a future version
DEBUG    2020-11-25 14:37:36,511 [http.get:73]:GET https://lutris.net/api/runtimes
DEBUG    2020-11-25 14:37:36,686 [http.get:73]:GET https://lutris.net/api/runtimes/icons
DEBUG    2020-11-25 14:37:39,205 [base.wipe_game_cache:44]:Deleting games from service-games for steam
DEBUG    2020-11-25 14:37:40,981 [http.get:73]:GET https://lutris.net/api/games/service/steam
DEBUG    2020-11-25 14:37:43,112 [steam.load:115]:158 Steam games loaded
Traceback (most recent call last):
  File "/home/tarulia/Documents/dev/lutris/lutris/gui/lutriswindow.py", line 783, in on_game_activated
    self.service.install(db_game)
  File "/home/tarulia/Documents/dev/lutris/lutris/services/steam.py", line 145, in install
    db_games = get_games(filters={"steamid": appid, "installed": "1"})
  File "/home/tarulia/Documents/dev/lutris/lutris/database/games.py", line 21, in get_games
    return sql.filtered_query(PGA_DB, "games", searches=searches, filters=filters, excludes=excludes, sorts=sorts)
  File "/home/tarulia/Documents/dev/lutris/lutris/database/sql.py", line 162, in filtered_query
    return db_query(db_path, query, tuple(params))
  File "/home/tarulia/Documents/dev/lutris/lutris/database/sql.py", line 110, in db_query
    cursor_execute(cursor, query, params)
  File "/home/tarulia/Documents/dev/lutris/lutris/database/sql.py", line 34, in cursor_execute
    results = cursor.execute(query, params)
sqlite3.OperationalError: no such column: steamid

System information (Optional)

Reproduced on a fresh install of OpenSUSE Tumbleweed (where the user on Discord originally had the issue), and Fedora 33 (installation carried over from 0.5.7.1 but cleaned out as per the above).

Additional information

From what I can tell the per-service columns have been replaced in favor of the service and service_id column. I could at first not reproduce with my old data from 0.5.7.1 because the per-service columns are not removed, only copied over. From what we could see on the discord 0.5.8 is still pointing to those old columns here, so a carried over profile can still find them, but it errors out on a new installation.

@UltraWelfare
Copy link

I have fresh installed Lutris 0.5.8-1 and I can confirm that I have the same problem.
I've tried multiple reinstalls and also removing .local/share/lutris, .config/lutris, .cache/lutris.
I suppose there is still no solution...

@UltraWelfare
Copy link

As the log mentions this line I've tried manually opening the pga.db library and running a SELECT * FROM games; which resulted in 0 rows. I don't even know if that's expected just wanted to throw it out.

Also as @mihawk90 said there is no "steam-id" column in the structure.

@UltraWelfare
Copy link

From my understanding by looking at the steam migration function it's correct that lutris migrated from steamid to the service structure.

I also found this function here that also uses "steamid" but I didn't manage to follow the path to see if it's incorrectly used there.

I don't see any harm in changing the filter from this line to service_id. I did that locally and it worked as expected but as I'm not familiar with the code-base I have not any awareness if this causes any other side-effects.

I also believe this should be a higher priority bug (or something similar?) because it occurs on fresh installations and might cause confusion ("why is it not working now") to some users either first trying the app or users that are from a clean installation.

@strycore strycore added this to the 0.5.8 milestone Nov 27, 2020
@Lexa013
Copy link

Lexa013 commented Nov 28, 2020

Same error, any solution @UltraWelfare ?

@UltraWelfare
Copy link

Same error, any solution @UltraWelfare ?

Seems like there is already a commit pushed to fix the issue so I assume you can only wait until it comes through your package manager.

@mihawk90
Copy link
Contributor Author

I've tried multiple reinstalls and also removing .local/share/lutris, .config/lutris, .cache/lutris.

How would that solve the issue when that is precisely the steps to reproduce the issue even with an existing install ... ???

Seems like there is already a commit pushed to fix the issue so I assume you can only wait until it comes through your package manager.

Until a release you can use either a git clone of this Repo and use ./bin/lutris, or you can just use the community installers either on the website or directly in the Sources > Lutris section of the client.

This is only an issue on fresh installs and when using the Steam section under Sources.

@lutris lutris locked as resolved and limited conversation to collaborators Feb 27, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants