I installed Goodvibes (Pureos package) and it crashes every time I select one of the loaded stations (default ones or my own, which I know are working links, as I use them on computer as well).
I’ve tried uninstalling, purging, reinstalling, launching from command line, but it still crashes:
purism@pureos:~$ sudo apt install goodvibes
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
libkeybinder-3.0-0
The following NEW packages will be installed:
goodvibes libkeybinder-3.0-0
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/244 kB of archives.
After this operation, 764 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Selecting previously unselected package libkeybinder-3.0-0:arm64.
(Reading database ... 119617 files and directories currently installed.)
Preparing to unpack .../libkeybinder-3.0-0_0.3.2-1.1_arm64.deb ...
Unpacking libkeybinder-3.0-0:arm64 (0.3.2-1.1) ...
Selecting previously unselected package goodvibes.
Preparing to unpack .../goodvibes_0.6.2-1_arm64.deb ...
Unpacking goodvibes (0.6.2-1) ...
Setting up libkeybinder-3.0-0:arm64 (0.3.2-1.1) ...
Setting up goodvibes (0.6.2-1) ...
Processing triggers for desktop-file-utils (0.26-1) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Processing triggers for gnome-menus (3.36.0-1) ...
Processing triggers for libglib2.0-0:arm64 (2.66.8-1+deb11u
6pureos1) ...
Processing triggers for libc-bin (2.31-13+deb11u13) ...
Processing triggers for man-db (2.9.4-2) ...
Processing triggers for mailcap (3.69) ...
purism@pureos:~$ goodvibes
(goodvibes:2910): Gtk-WARNING **: 10:31:54.437: Theme parsing error: gtk.css:33:24: Expected a string.
CRIT 10:32:10 [Gtk] gtk_list_store_get_value: assertion 'iter_is_valid (iter, list_store)' failed
WARN 10:32:10 [GLib-GObject] ../../../gobject/gtype.c:4269: type id '0' is invalid
WARN 10:32:10 [GLib-GObject] can't peek value table for type '<invalid>' which is not currently referenced
Segmentation fault
purism@pureos:~$
Does the above error message provide any clues?
Also, normally when I install Goodvibes on computer, it creates a stations.xml file at /.local/share/goodvibes/ ~/.local/share/goodvibes/, but on the Librem 5 that goodvibes folder and xml file don’t get created upon installation. Therefore I’ve added it manually, but the app still crashes every time.
Do they get created on installation or on first run?
If the latter, perhaps it is crashing before it gets to create that folder/file.
Can you locate the correct file, gtk.css, that it seems to be complaining about, either on big computer or on Librem 5? There will likely be lots of them. It may depend on what theme you have selected.
I’m pretty sure it’s at installation, as there the app includes some prepopulated stations. I never checked, though, since the application never crashed on my computers.
I have in fact added some gtk.css tweaks, copied over from a computer. Do you think theming issues could cause the crash when clicking a station link? I could try temporarily relocating my css files.
I would try temporarily reverting to a completely standard theme on the Librem 5. I have no knowledge of this particular application but one of the error messages does say that it didn’t like the parse of the .css file.
My theme on the L5 is Adwaita default, though. In Goodvibes I’ve selected System Default as the theme.
Oddly, I’ve just discovered that if I select “Autoplay on Startup” in the app’s preferences… it plays a station without crashing.
But if I then select a different station, it crashes again.
(Same error messages in terminal.)
EDIT: After I launch the app, and a station starts autoplaying, I am able to use the forward and back media buttons up top to move down or up the list of stations. I can then tap the play media button to start playing the new station, and without crashing the app.
So it’s only tapping a station directly that causes the crash.
But if I first tap the stop media button at top of screen, and then tap a station, it plays with no crash.
I think most applications install things like that on first run per user, copying system wide defaults from someplace under /etc or /usr/share which were installed as part of installation.
But Goodvibes comes with a short list of recommended stations already loaded at installation, so those links have to be placed somewhere, right? i.e. in the xml file.
Unless you are going to assume a single user system and assume the name of the user, it may be difficult to install any file anywhere in the user’s home directory during the installation. It wasn’t clear to me whether /.local/share/goodvibes/ was actually intended to be ~purism/.local/share/goodvibes/ or ~/.local/share/goodvibes/
Of course such an assumption on the Librem 5 would mostly pan out (in the absence of a login screen, and no supported means of changing the default login user). But because this software has come from the desktop, it would be a poor assumption.
I installed goodvibes on my L5 and that did not place stations.xml or any sort of defaults or configuration anywhere on the system. Same for after first run or the crash after selecting a station.
I restarted and changed preference setting for suspend while playing, then selected close or quit (what’s the difference?) from the hamburger menu. That resulted in a .local/share/goodvibes/stations.xml directory/file being created. Still can’t find a configuration file anywhere. Still crashes upon tapping a station.
I note that goodvibes is not yet mobile friendly. Maybe that has something to do with the crashing.
I also note that tapping the play button resulted in playing audio, I assume the default, bolded, FIP. This worked even before I used close instead of having it crash.
Note of course that .local is a hidden directory. Hence whether you see it depends on your interface type (shell v. GUI) and the settings that you choose for said interface.
To be clear, in this context, I am taking ~ to mean /home/purismand it contains a bunch of directories as well as a couple of regular files, and I assure that I have not explicitly created any of it - so I am assuming that some of it is there out-of-the-box and the rest of it gets created as and when I install various applications.
The difference is that I have set up an admin account on my phone and I SSH in to that account and hence I am not logged in as purism and so ~ is not for me the same as ~purism (and in addition if one happens to be using sudo -i then ~ is different again).
If you just boot the phone with a standard installation, unlock it and start the “Terminal” application then there is no difference.
Basically ~ is ambiguous and context-dependent. Sometimes that is absolutely correct and what you want i.e. a script that is run by the logged in user and should refer to said user’s home directory. Sometimes that is unhelpful e.g. in forum discussions where users may have different environments / settings / assumptions.