ghDaYuYu / foo_discogger

Discogger
57 stars 0 forks source link

(FATAL) Error: Database command error: open (14: Failed to open DB connection: 14. unable to open database file) #100

Closed kowalcj0 closed 1 year ago

kowalcj0 commented 1 year ago

Hi,

I'm running Foobar2000 on Linux (Fedora) with Wine. The original foo_discogs plugin v2.23 x32 works perfectly fine with the older Foobar v1.6.12.

I'm now trying to get foo_discogger v1.0.17.1 to work with the latest Foobar v2.0 x64. I've configured the plugin with the token and secret I got from my old setup and the OAth tests says OAth is working.

Unfortunately whenever I try to fetch any album data I'm getting following error:

(FATAL) Error: Database command error: open (14: Failed to open DB connection: 14. unable to open database file)

Any idea what might be going on?

Thanks

ghuDaYuYu commented 1 year ago

Hi kowalcj0, There should be a file 'foo_discogger.dll.db' in your profile configuration folder. If the file is not there, it might be due to a faulty installation process. You may try to extract it from the distribution component file using 7zip or similar. Could you please give it a try and report back? If it still doesn't work, some other process might be blocking access to the mentioned file.

Edit: Just as a side note, OAth should preferably be updated as your old token is associated with a different user agent. Not sure if that might eventually raise '500 Client Refused' accessing Discogs database.

kowalcj0 commented 1 year ago

Hi @ghuDaYuYu

Thanks for looking into this. I've found that db file in foobar2.0/user-components/foo_discogger directory. File permissions are set to read/write. I've opened it with SQLite viewer and I can see some data. Here's a list of the files in said dir:

-rw-rw-r-- 1 jk jk 2.8M Mar 10 02:34 foo_discogger.dll
-rw-rw-r-- 1 jk jk 152K Jul 17  2022 foo_discogger.dll.db
-rw-rw-r-- 1 jk jk  51K Jan 30  2020 foo_discogs_help.html
-rw-rw-r-- 1 jk jk  24K Jan 30  2020 titleformat_help.css

Should this db file be placed in a different location?

Re. OAth It looks like copying over the token and secret from foo_discogs config works. I accidentally discovered that pressing the Next button for the second time actually fetches the data from Discogs API. Here's a short screencast showing this behaviour: https://user-images.githubusercontent.com/910451/235324197-f736b4cb-4314-44cc-9c27-b77646faea7b.mp4

btw. I had a look at the system log and noticed these entries when foo_discogger is trying to maker a call to the API:

Foobar20.desktop[93710]: 0104:fixme:powermgnt:PowerCreateRequest (000000000011AA20): stub
Foobar20.desktop[93710]: 0298:fixme:secur32:get_cipher_algid unknown algorithm 23
Foobar20.desktop[93710]: 0298:fixme:secur32:get_mac_algid unknown algorithm 200, cipher 23
ghuDaYuYu commented 1 year ago

You are welcome... you are right that .db file should be located nearby foo_discogger.dll.cfg in the configuration folder.

Usually after installation, there are two copies of foo_discogger.dll.db, one located in the user-components folder (just to ease recovery from some faulty installation scenarios) and another located in the configuration folder. You may try copying the file to the configuration folder, that should fix the issue.

It seems that the issue might have been caused by the component installer not being able to locate the foobar2.0/profile/configuration folder.

Regarding the fixme messages in the log, I am unsure if they are related to foo_discogger. They seem internal fb2k developer remainders and probably exclusive to mac and wine installations. You'll probably get a better answer reporting it in the fb2k community forum.

Hope this helps solve the problem and thanks for reporting.

kowalcj0 commented 1 year ago

hi @ghuDaYuYu

After copying foo_discogger.dll.db to the foobar2.0/profile/configuration directory both problems went away! foo_discogger works like a charm now!

Thank you so much for your help! And maaaany thanks for maintaining one of the best (if not the best) components for Foobar2000!!!