tizonia / tizonia-openmax-il

Command-line cloud music player for Linux with support for Spotify, Google Play Music, YouTube, SoundCloud, TuneIn, iHeartRadio, Plex servers and Chromecast devices.
https://tizonia.org
GNU Lesser General Public License v3.0
1.68k stars 86 forks source link

Segmentation fault with spotify #575

Closed vaisov closed 4 years ago

vaisov commented 5 years ago

Issue Template

Description

Starting tizonia with Spotify crashes without any message, just Segmentation fault (core dumped)

Steps to Reproduce

  1. Install via curl -kL https://github.com/tizonia/tizonia-openmax-il/raw/master/tools/install.sh | bash on Ubuntu Desktop 18.04 running in Virtualbox on Windows 10.
  2. Add username and password (password contains * and #) to config and set spotify.allow_explicit_tracks to true
  3. Run tizonia: tizonia --spotify-playlist "Discover Weekly"

Expected behavior: Shouldn't crash or display more information before crash if possible. Actual behaviour: Crashes without any information Reproduces how often: Every time

Versions

0.18.0.

    * [Boost 1_65_1]
    * [TagLib 1.11.1]
    * [MediaInfoLib - v17.12]

NAME="Ubuntu" VERSION="18.04.2 LTS (Bionic Beaver)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 18.04.2 LTS" VERSION_ID="18.04" HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" VERSION_CODENAME=bionic UBUNTU_CODENAME=bionic

Installation Method Used

curl -kL https://github.com/tizonia/tizonia-openmax-il/raw/master/tools/install.sh | bash

Additional Information

tizonia commented 5 years ago

Hi!, and thanks for taking the time to report an issue. Sorry to hear that you are experiencing troubles.

I don't see any segmentation faults when running the same command on a VM like yours (18.04 on WIn10 host):

tizonia --spotify-playlist "Discover Weekly"
tizonia 0.18.0. Copyright (C) 2019 Juan A. Rubio
This software is part of the Tizonia project <http://tizonia.org>

[Spotify] [Connecting] : 'jarubio2001'.
[Spotify] [Playlist search] 'Discover Weekly' (owner: jarubio2001).
[Spotify] [Playlist 1] 'Daily Mix 2' (17 tracks).
[Spotify] [Playlist 2] 'Solonadie' (10 tracks).
[Spotify] [Playlist 3] 'Las 100 mejores canciones del pop espanol' (100 tracks).
[Spotify] [Playlist 4] 'Fozzy - Judas' (11 tracks).
[Spotify] [Playlist 5] 'Love, Lives, Therapy' (12 tracks).
[Spotify] [Playlist 6] 'Daily Mix Espanol' (15 tracks).
[Spotify] [Playlist 7] 'Rock Workout ' (40 tracks).
[Spotify] [Playlist 8] 'Seguridad Social - Clasicos del futuro' (24 tracks).
[Spotify] (ValueError) : Playlist not found or no audio tracks in playlist : Discover Weekly

tizonia exiting (OMX_ErrorInsufficientResources).

 [OMX.Aratelia.audio_source.spotify.pcm:port:0]
 [OMX_ErrorInsufficientResources]

This particular error is work-as-expected.

So sounds like perhaps something amiss with your environment or during the installation process?

Would you be able to re-run the install script and upload here the logs? In addition, it would also help to see the output of tizonia before the segfault.

vaisov commented 5 years ago

Here's the full output of running the script again and trying to run tizonia with spotify:

sebas@sebas-VirtualBox:~$ curl -kL https://github.com/tizonia/tizonia-openmax-il/raw/master/tools/install.sh | bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   150  100   150    0     0    144      0  0:00:01  0:00:01 --:--:--   144
100  5111  100  5111    0     0   2631      0  0:00:01  0:00:01 --:--:--  7887
DISTRIB_CODENAME=bionic
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
[sudo] password for sebas: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
build-essential is already the newest version (12.4ubuntu1).
libffi-dev is already the newest version (3.2.1-8).
libxslt1-dev is already the newest version (1.1.29-5).
python-dev is already the newest version (2.7.15~rc1-1).
curl is already the newest version (7.58.0-2ubuntu3.6).
git is already the newest version (1:2.17.1-1ubuntu0.4).
libssl-dev is already the newest version (1.1.0g-2ubuntu4.3).
libxml2-dev is already the newest version (2.9.4+dfsg1-6.1ubuntu1.2).
apt-transport-https is already the newest version (1.6.10).
The following packages were automatically installed and are no longer required:
  libappindicator1 libindicator7 libproxychains3
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 27 not upgraded.
W: --force-yes is deprecated, use one of the options starting with --allow instead.
Hit:1 http://archive.canonical.com/ubuntu bionic InRelease
Ign:2 http://dl.google.com/linux/chrome/deb stable InRelease                                                                                                                                 
Get:3 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]                                                                                                                  
Hit:4 http://dl.google.com/linux/chrome/deb stable Release                                                                                                                                   
Hit:5 http://us.archive.ubuntu.com/ubuntu bionic InRelease                                                                                                                                   
Hit:6 http://linux.teamviewer.com/deb stable InRelease                                                                                                                                       
Get:7 http://us.archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]                                                                                                                 
Ign:9 http://linux.dropbox.com/ubuntu bionic InRelease                                                                                                                                       
Ign:10 https://dl.bintray.com/tizonia/ubuntu bionic InRelease                                                                                                                          
Get:11 https://dl.bintray.com/tizonia/ubuntu bionic Release [2,689 B]                                                                                                                    
Get:12 https://repo.nordvpn.com/deb/nordvpn/debian stable InRelease [5,325 B]                                                                                          
Hit:13 http://linux.dropbox.com/ubuntu bionic Release                                                                                                                             
Get:17 http://us.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]                                                                                                        
Get:18 http://security.ubuntu.com/ubuntu bionic-security/main i386 Packages [216 kB]                                                  
Ign:14 http://apt.mopidy.com stable InRelease                                                                                         
Get:19 http://us.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [573 kB]                     
Hit:20 http://apt.mopidy.com stable Release                                              
Get:22 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages [296 kB]         
Get:23 http://security.ubuntu.com/ubuntu bionic-security/main Translation-en [106 kB]                                                                                                        
Get:24 http://security.ubuntu.com/ubuntu bionic-security/main amd64 DEP-11 Metadata [204 B]                                                                                                  
Get:25 http://security.ubuntu.com/ubuntu bionic-security/universe i386 Packages [127 kB]                                                                                                     
Get:26 http://us.archive.ubuntu.com/ubuntu bionic-updates/main i386 Packages [487 kB]                                                                                                        
Get:27 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 Packages [131 kB]                                                                                                    
Get:28 http://security.ubuntu.com/ubuntu bionic-security/universe Translation-en [74.1 kB]                                                                                                   
Get:29 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 DEP-11 Metadata [20.7 kB]                                                                                            
Get:30 http://security.ubuntu.com/ubuntu bionic-security/universe DEP-11 64x64 Icons [45.2 kB]                                                                                               
Get:31 http://security.ubuntu.com/ubuntu bionic-security/multiverse amd64 DEP-11 Metadata [2,464 B]                                                                                          
Get:32 http://us.archive.ubuntu.com/ubuntu bionic-updates/main Translation-en [211 kB]                                                                                                       
Get:33 http://us.archive.ubuntu.com/ubuntu bionic-updates/main amd64 DEP-11 Metadata [278 kB]                                                                                                
Get:34 http://us.archive.ubuntu.com/ubuntu bionic-updates/main DEP-11 48x48 Icons [66.7 kB]                                                                                                  
Get:35 http://us.archive.ubuntu.com/ubuntu bionic-updates/main DEP-11 64x64 Icons [123 kB]                                                                                                   
Get:36 http://us.archive.ubuntu.com/ubuntu bionic-updates/universe i386 Packages [744 kB]                                                                                                    
Get:37 http://us.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages [755 kB]                                                                                                   
Get:38 http://us.archive.ubuntu.com/ubuntu bionic-updates/universe Translation-en [200 kB]                                                                                                   
Get:39 http://us.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 DEP-11 Metadata [209 kB]                                                                                            
Get:40 http://us.archive.ubuntu.com/ubuntu bionic-updates/universe DEP-11 48x48 Icons [180 kB]                                                                                               
Get:41 http://us.archive.ubuntu.com/ubuntu bionic-updates/universe DEP-11 64x64 Icons [349 kB]                                                                                               
Get:42 http://us.archive.ubuntu.com/ubuntu bionic-updates/multiverse amd64 DEP-11 Metadata [2,468 B]                                                                                         
Get:43 http://us.archive.ubuntu.com/ubuntu bionic-backports/universe amd64 DEP-11 Metadata [7,356 B]                                                                                         
Fetched 5,464 kB in 36s (151 kB/s)                                                                                                                                                           
Reading package lists... Done
Reading package lists... Done
Building dependency tree       
Reading state information... Done
python-pip is already the newest version (9.0.1-2.3~ubuntu1).
The following packages were automatically installed and are no longer required:
  libappindicator1 libindicator7 libproxychains3
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 28 not upgraded.
Requirement already up-to-date: gmusicapi in /usr/local/lib/python2.7/dist-packages
Requirement already up-to-date: soundcloud in /usr/local/lib/python2.7/dist-packages
Requirement already up-to-date: youtube-dl in /usr/local/lib/python2.7/dist-packages
Requirement already up-to-date: pafy in /usr/local/lib/python2.7/dist-packages
Requirement already up-to-date: pycountry in /usr/local/lib/python2.7/dist-packages
Requirement already up-to-date: titlecase in /usr/local/lib/python2.7/dist-packages
Requirement already up-to-date: pychromecast in /usr/local/lib/python2.7/dist-packages
Requirement already up-to-date: plexapi in /usr/local/lib/python2.7/dist-packages
Requirement already up-to-date: fuzzywuzzy in /usr/local/lib/python2.7/dist-packages
Requirement already up-to-date: eventlet in /usr/local/lib/python2.7/dist-packages
Requirement already up-to-date: python-Levenshtein in /usr/local/lib/python2.7/dist-packages
Requirement already up-to-date: MechanicalSoup>=0.4.0 in /usr/local/lib/python2.7/dist-packages (from gmusicapi)
Requirement already up-to-date: python-dateutil!=2.0,>=1.3 in /usr/local/lib/python2.7/dist-packages (from gmusicapi)
Requirement already up-to-date: gpsoauth>=0.2.0 in /usr/local/lib/python2.7/dist-packages (from gmusicapi)
Requirement already up-to-date: appdirs>=1.1.0 in /usr/local/lib/python2.7/dist-packages (from gmusicapi)
Requirement already up-to-date: protobuf>=3.0.0 in /usr/local/lib/python2.7/dist-packages (from gmusicapi)
Requirement already up-to-date: mock>=0.7.0 in /usr/local/lib/python2.7/dist-packages (from gmusicapi)
Requirement already up-to-date: oauth2client>=1.1 in /usr/local/lib/python2.7/dist-packages (from gmusicapi)
Requirement already up-to-date: decorator>=3.3.1 in /usr/local/lib/python2.7/dist-packages (from gmusicapi)
Requirement already up-to-date: validictory!=0.9.2,>=0.8.0 in /usr/local/lib/python2.7/dist-packages (from gmusicapi)
Requirement already up-to-date: mutagen>=1.34 in /usr/local/lib/python2.7/dist-packages (from gmusicapi)
Requirement already up-to-date: proboscis>=1.2.5.1 in /usr/local/lib/python2.7/dist-packages (from gmusicapi)
Requirement already up-to-date: future in /usr/local/lib/python2.7/dist-packages (from gmusicapi)
Requirement already up-to-date: requests!=1.2.0,!=2.12.0,!=2.12.1,!=2.12.2,!=2.18.2,!=2.2.1,!=2.8.0,!=2.8.1,>=1.1.0 in /usr/local/lib/python2.7/dist-packages (from gmusicapi)
Requirement already up-to-date: six>=1.9.0 in /usr/local/lib/python2.7/dist-packages (from gmusicapi)
Requirement already up-to-date: fudge>=1.0.3 in /usr/local/lib/python2.7/dist-packages (from soundcloud)
Requirement already up-to-date: simplejson>=2.0 in /usr/local/lib/python2.7/dist-packages (from soundcloud)
Requirement already up-to-date: casttube>=0.2.0 in /usr/local/lib/python2.7/dist-packages (from pychromecast)
Requirement already up-to-date: zeroconf>=0.17.7 in /usr/local/lib/python2.7/dist-packages (from pychromecast)
Requirement already up-to-date: websocket-client in /usr/local/lib/python2.7/dist-packages (from plexapi)
Requirement already up-to-date: tqdm in /usr/local/lib/python2.7/dist-packages (from plexapi)
Requirement already up-to-date: enum34; python_version < "3.4" in /usr/lib/python2.7/dist-packages (from eventlet)
Requirement already up-to-date: monotonic>=1.4 in /usr/local/lib/python2.7/dist-packages (from eventlet)
Requirement already up-to-date: dnspython>=1.15.0 in /usr/local/lib/python2.7/dist-packages (from eventlet)
Requirement already up-to-date: greenlet>=0.3 in /usr/local/lib/python2.7/dist-packages (from eventlet)
Requirement already up-to-date: setuptools in /usr/local/lib/python2.7/dist-packages (from python-Levenshtein)
Requirement already up-to-date: lxml in /usr/local/lib/python2.7/dist-packages (from MechanicalSoup>=0.4.0->gmusicapi)
Requirement already up-to-date: beautifulsoup4 in /usr/local/lib/python2.7/dist-packages (from MechanicalSoup>=0.4.0->gmusicapi)
Requirement already up-to-date: pycryptodomex>=3.0 in /usr/local/lib/python2.7/dist-packages (from gpsoauth>=0.2.0->gmusicapi)
Requirement already up-to-date: funcsigs>=1; python_version < "3.3" in /usr/local/lib/python2.7/dist-packages (from mock>=0.7.0->gmusicapi)
Requirement already up-to-date: pbr>=0.11 in /usr/local/lib/python2.7/dist-packages (from mock>=0.7.0->gmusicapi)
Requirement already up-to-date: httplib2>=0.9.1 in /usr/local/lib/python2.7/dist-packages (from oauth2client>=1.1->gmusicapi)
Requirement already up-to-date: rsa>=3.1.4 in /usr/local/lib/python2.7/dist-packages (from oauth2client>=1.1->gmusicapi)
Requirement already up-to-date: pyasn1>=0.1.7 in /usr/local/lib/python2.7/dist-packages (from oauth2client>=1.1->gmusicapi)
Requirement already up-to-date: pyasn1-modules>=0.0.5 in /usr/local/lib/python2.7/dist-packages (from oauth2client>=1.1->gmusicapi)
Requirement already up-to-date: urllib3<1.25,>=1.21.1 in /usr/local/lib/python2.7/dist-packages (from requests!=1.2.0,!=2.12.0,!=2.12.1,!=2.12.2,!=2.18.2,!=2.2.1,!=2.8.0,!=2.8.1,>=1.1.0->gmusicapi)
Requirement already up-to-date: certifi>=2017.4.17 in /usr/local/lib/python2.7/dist-packages (from requests!=1.2.0,!=2.12.0,!=2.12.1,!=2.12.2,!=2.18.2,!=2.2.1,!=2.8.0,!=2.8.1,>=1.1.0->gmusicapi)
Requirement already up-to-date: chardet<3.1.0,>=3.0.2 in /usr/local/lib/python2.7/dist-packages (from requests!=1.2.0,!=2.12.0,!=2.12.1,!=2.12.2,!=2.18.2,!=2.2.1,!=2.8.0,!=2.8.1,>=1.1.0->gmusicapi)
Requirement already up-to-date: idna<2.9,>=2.5 in /usr/local/lib/python2.7/dist-packages (from requests!=1.2.0,!=2.12.0,!=2.12.1,!=2.12.2,!=2.18.2,!=2.2.1,!=2.8.0,!=2.8.1,>=1.1.0->gmusicapi)
Requirement already up-to-date: typing; python_version < "3.5" in /usr/local/lib/python2.7/dist-packages (from zeroconf>=0.17.7->pychromecast)
Requirement already up-to-date: ifaddr in /usr/local/lib/python2.7/dist-packages (from zeroconf>=0.17.7->pychromecast)
Requirement already up-to-date: soupsieve>=1.2 in /usr/local/lib/python2.7/dist-packages (from beautifulsoup4->MechanicalSoup>=0.4.0->gmusicapi)
Requirement already up-to-date: ipaddress in /usr/local/lib/python2.7/dist-packages (from ifaddr->zeroconf>=0.17.7->pychromecast)
Requirement already up-to-date: backports.functools-lru-cache; python_version < "3" in /usr/local/lib/python2.7/dist-packages (from soupsieve>=1.2->beautifulsoup4->MechanicalSoup>=0.4.0->gmusicapi)
Collecting git+https://github.com/plamere/spotipy.git
  Cloning https://github.com/plamere/spotipy.git to /tmp/pip-YMyHRD-build
Requirement already up-to-date: requests>=2.3.0 in /usr/local/lib/python2.7/dist-packages (from spotipy==2.4.4)
Requirement already up-to-date: six>=1.10.0 in /usr/local/lib/python2.7/dist-packages (from spotipy==2.4.4)
Requirement already up-to-date: urllib3<1.25,>=1.21.1 in /usr/local/lib/python2.7/dist-packages (from requests>=2.3.0->spotipy==2.4.4)
Requirement already up-to-date: certifi>=2017.4.17 in /usr/local/lib/python2.7/dist-packages (from requests>=2.3.0->spotipy==2.4.4)
Requirement already up-to-date: chardet<3.1.0,>=3.0.2 in /usr/local/lib/python2.7/dist-packages (from requests>=2.3.0->spotipy==2.4.4)
Requirement already up-to-date: idna<2.9,>=2.5 in /usr/local/lib/python2.7/dist-packages (from requests>=2.3.0->spotipy==2.4.4)
Installing collected packages: spotipy
  Found existing installation: spotipy 2.4.4
    Uninstalling spotipy-2.4.4:
      Successfully uninstalled spotipy-2.4.4
  Running setup.py install for spotipy ... done
Successfully installed spotipy-2.4.4
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libspotify12 is already the newest version (12.1.51-1).
The following packages were automatically installed and are no longer required:
  libappindicator1 libindicator7 libproxychains3
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 28 not upgraded.
Reading package lists... Done
Building dependency tree       
Reading state information... Done
tizonia-all is already the newest version (0.18.0-1).
The following packages were automatically installed and are no longer required:
  libappindicator1 libindicator7 libproxychains3
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 28 not upgraded.

tizonia 0.18.0. Copyright (C) 2019 Juan A. Rubio
This software is part of the Tizonia project <http://tizonia.org>

GNU Lesser GPL version 3 <http://gnu.org/licenses/lgpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

 Help topics:

  global        Global options available in combination with other features.
  openmax       Various OpenMAX IL query options.
  server        SHOUTcast/ICEcast streaming server options.
  client        SHOUTcast/ICEcast streaming client options.
  spotify       Spotify options.
  googlemusic   Google Play Music options.
  soundcloud    SoundCloud options.
  dirble        Dirble options.
  youtube       YouTube options.
  plex          Plex options.
  chromecast    Chromecast options.
  keyboard      Keyboard control.
  config        Configuration files.
  examples      Some command-line examples.

Use "tizonia --help topic".

Tizonia is now installed.

Please add Spotify, Google Music, Soundcloud, Dirble, and Plex credentials to : /home/sebas/.config/tizonia/tizonia.conf
(failed reverse-i-search)`tizo': ^Czonia --help youtube
sebas@sebas-VirtualBox:~$ tizonia --spotify-playlist "Discover Weekly"
Segmentation fault (core dumped)
tizonia commented 5 years ago

Add username and password (password contains * and #) to config and set spotify.allow_explicit_tracks to true

I forgot to mention that characters like '#' are not currently handled correctly by the config parser. There is a bug open for this: #571. Not sure if this is related though (in my tests with passwords containing those characters the application never crashed). You could try and change the password temporarily and remove those characters (if that doesn't trouble you too much).

Otherwise, I would suggest to obtain the debug logs and upload them here (just drag the file) and I will have a look. For that, simply create the file $HOME/.log4crc and add the following to it:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE log4c SYSTEM "">

<log4c version="1.2.1">

    <config>
        <bufsize>0</bufsize>
        <debug level="2"/>
        <nocleanup>0</nocleanup>
        <reread>1</reread>
    </config>

        <category name="root" priority="trace" appender="tizlogfile" />

    <layout name="tiz" type="tiz_layout"/>
    <rollingpolicy name="tizrolling" type="sizewin" maxsize="10000000" maxnum="10" />
    <appender name="tizlogfile" type="rollingfile" logdir="/tmp" prefix="tizonia.log" layout="tiz" rollingpolicy="tizrolling" />
</log4c>

After that, re-run the application and drag the file /tmp/tizonia.log to this GitHub issue (make sure you remove your credentials from that file before uploading!)

Thanks!

vaisov commented 5 years ago

Tried with password without special characters, but it still crashes :( Log file attached. tizonia.log.zip (only .zip was allowed)

tizonia commented 5 years ago

@vaisov

Many thanks for uploading the logs.

This is a strange case. I can see in your logs that the last trace before the crash is this:

10-04-2019 09:08:56.805 - [PID:13643][TID:13643] [TRACE] [tiz.platform.rc] [tizrc.c:tiz_rcfile_get_value:742] --- Retrieving value for Key [spotify.allow_explicit_tracks] in section [tizonia]

When I run the same command on my system, I get this:

11-04-2019 11:02:13.278 - [PID:10733][TID:10733] [TRACE] [tiz.platform.rc] [tizrc.c:tiz_rcfile_get_value:742] --- Retrieving value for Key [spotify.allow_explicit_tracks] in section [tizonia]
11-04-2019 11:02:13.278 - [PID:10733][TID:10733] [TRACE] [tiz.play.playlist] [tizplaylist.cpp:playlist:158] --- first uri [Discover Weekly]
11-04-2019 11:02:13.278 - [PID:10733][TID:10733] [TRACE] [tiz.play.playlist] [tizplaylist.cpp:playlist:160] --- last list [Discover Weekly]

So I can't see any clear clues in there. I can only see that in your environment Tizonia encounters an issue and it crashes right after reading the configuration file.

So I'm still wondering if your environment has any issues:

0 upgraded, 0 newly installed, 0 to remove and 28 not upgraded.

Is there a reason why these packages are not upgraded? You can use sudo apt-get --dry-run upgrade to list the packages that would get upgraded (without actually doing it).

Another thing that might help is to see if your tizonia.conf file has any strange characters or content towards the end to the file. Would you be able to upload it here for me to try on my system? (please remember to remove your credentials).

vaisov commented 5 years ago

Tried to update all packages, still crashes. Attaching config file. tizonia.conf.zip

tizonia commented 5 years ago

Hi @vaisov !

Thanks a lot for uploading your config.

Indeed, the application crashes while parsing this config element :-)

spotify.allow_explicit_tracks = true (set to true to allow explicit tracks)

As expected, it does not crash when the extra content at the end is removed:

spotify.allow_explicit_tracks = true

The fix has been pushed to 'develop'. It will be released when v0.19.0 comes out.

Thanks again!

vaisov commented 5 years ago

Hi!

Thanks, it works now after removing the contents after true!

ScriptingDad commented 4 years ago

I had 2 problems with the same behavior. One was my password contained %qm which seems to shoved "no such file or directory" into the middle of the password. The other issue was that when I uncommented the explicit tracks for spotify it caused a crash. So Cheers, it's working nicely now. Now looking for a shuffle option.

mrroot5 commented 4 years ago

I had same Segmentation fault problem in Ubuntu 18.04 with snap, now solved thanks to this issue (I found it searching how to listen discover weekly).

Please, update snap package to solve this bug and thank you very much for your effort.

tizonia commented 4 years ago

Hi @mrroot5!

Thanks for trying the software. That's appreciated.

Unfortunately, the snap package is taking too much of my time to maintain, given the number of other release tasks that I need to deal with during a release cycle.

I've been thinking about it for some time now and I would love it if someone from the community could step up and contribute with the maintenance of the Snap package. It is not a difficult task, it is just a matter of (free) time.

I will soon add a note asking for maintainers in the snap package repo: https://github.com/tizonia/tizonia-snap

Any help will be most welcome.

tizonia commented 4 years ago

A call for maintainers has been added now to README.md on tizonia-snap:

Call For Maintainers
Unfortunately, the snap package is taking too much of my time to maintain, given the number of other release tasks that I need to deal with during a normal release cycle of Tizonia.

I've been thinking about it for some time now and I would love it if someone from the community wanted step up and contribute with the maintenance of the Tizonia Snap package in this repo. That would allow me to focus a bit more on features and less on packaging.

It is not a difficult task, it is just a matter of some (free) time.

There are lots of users (2500+) that use the Snap of Tizonia regularly and rely on this package to be up-to-date.

Any help would be most welcome.

Thanks!

Juan
mrroot5 commented 4 years ago

I never develop a snap package, this could be a nice moment to try. I love tizonia and I removed spotify app from my Linux thanks to you.

tizonia commented 4 years ago

@mrroot5

Really sorry for the delayed reply. If you would like to give it a try, that would be awesome!. I'm here to help, so please get in touch either via email (see juanrubio's commits in this repo), via the Gitter chat, or via the issue tracker on the snap repo.(https://github.com/tizonia/tizonia-snap).

I've written some notes on the snap repo, I think that would be a good place to start: https://github.com/tizonia/tizonia-snap/blob/master/PACKAGING.md

mrroot5 commented 4 years ago

Wow, thanks for that packaging markdown. I need to do a little research before start :sweat_smile:

Can we use python C builder to compile that C source to python and then online use one language in snap? Quick search: https://docs.python.org/3/extending/building.html

Hope I could give it a try this weekend.

tizonia commented 4 years ago

Actually, what we do in Tizonia is in fact the opposite, i.e. we embed the Python interpreter into the C/C++ application in order to extend it with Python extensions (as opposed to extending a Python application with C or C++ extensions).

Tizonia uses Boost.Python for the embedding of Python into the C/C++ application: https://www.boost.org/doc/libs/1_66_0/libs/python/doc/html/index.html

The simplified view of Tizonia's arquitecture works more or less like this: tizonia player (C++) -> OpenMAX IL framework (plugins written in C) -> streaming proxy wrappers (C/C++ with Boost.Python) -> streaming proxies (Python) -> cloud services

tizonia commented 4 years ago

Wow, thanks for that packaging markdown. I need to do a little research before start

Of course, there is always a learning curve.

I've been doing some work on the snapcraft.yaml, in order to bring it closer to version 0.21.0. I got as far as getting the snap to build using the new meson build system. I did not get a chance to run the snap but I believe it still needs more work to be able to get Tizonia to work correctly in the confined environment.

Please have a look at these changes in the develop branch when you have some time: https://github.com/tizonia/tizonia-snap/commits/develop