nuclear icon indicating copy to clipboard operation
nuclear copied to clipboard

Unable to open local files

Open prasannarajaram opened this issue 4 years ago • 10 comments

Platform: Arch Linux - Linux workstation 5.12.14-arch1-1 #1 SMP PREEMPT Thu, 01 Jul 2021 07:26:06 +0000 x86_64 GNU/Linux. WM: i3wm - i3 version 4.19.1 (2021-02-01) © 2009 Michael Stapelberg and contributors please let me know if you need any more information

Nuclear version: version 0.6.16 - Got this version through snap installer

Description of the issue: Unable to open the files from local storage. When I click on the "Local Library" from the left pane, I see the following message. cantopenlocalfiles

prasannarajaram avatar Jul 07 '21 03:07 prasannarajaram

Same here on Debian11/KDE and the deb file. The console output is:

  renderer › Cannot read property 'name' of undefined
  renderer › s.map is not a function

mYnDstrEAm avatar Oct 03 '21 10:10 mYnDstrEAm

Opening local files still doesn't work in v0.6.17 but it used to work. This seems to be a critical bug, are more people having this problem? @prasannarajaram is it solved and does this also occur when installing via the deb file instead of via snap?

I also get these errors when starting Nuclear but Nuclear starts nevertheless:

[...]
libGL error: failed to load driver: iris
      main › Sqlite database creation failed
      main › t: SQLite package has not been found installed. Try to install it: npm install sqlite3 --save
    at t [as constructor] (/opt/nuclear/resources/app.asar/dist/main.js:2720:778599)
    at new t (/opt/nuclear/resources/app.asar/dist/main.js:2720:754777)
    at t.loadDependencies (/opt/nuclear/resources/app.asar/dist/main.js:2720:618480)
    at new t (/opt/nuclear/resources/app.asar/dist/main.js:2720:617021)
    at e.create (/opt/nuclear/resources/app.asar/dist/main.js:2720:70933)
    at new e (/opt/nuclear/resources/app.asar/dist/main.js:2720:24027)
    at e.create (/opt/nuclear/resources/app.asar/dist/main.js:2720:32826)
    at /opt/nuclear/resources/app.asar/dist/main.js:2720:801588
    at /opt/nuclear/resources/app.asar/dist/main.js:2739:2716
    at Object.next (/opt/nuclear/resources/app.asar/dist/main.js:2739:2821)
    at /opt/nuclear/resources/app.asar/dist/main.js:2739:1758
    at new Promise (<anonymous>)
    at Module.c (/opt/nuclear/resources/app.asar/dist/main.js:2739:1503)
    at t.createConnection (/opt/nuclear/resources/app.asar/dist/main.js:2720:801322)
    at Tn.connect (/opt/nuclear/resources/app.asar/dist/main.js:2751:496229)
    at App.<anonymous> (/opt/nuclear/resources/app.asar/dist/main.js:2751:537307)
    at App.emit (events.js:327:22)
   ipc api › error in event get-localfolders => Cannot read property 'find' of undefined
   ipc api › TypeError: Cannot read property 'find' of undefined
    at Tn.getLocalFolders (/opt/nuclear/resources/app.asar/dist/main.js:2751:496604)
    at zn.getLocalFolders (/opt/nuclear/resources/app.asar/dist/main.js:2751:504521)
    at IpcMainImpl.<anonymous> (/opt/nuclear/resources/app.asar/dist/main.js:2751:536446)
    at IpcMainImpl.emit (events.js:315:20)
    at Object.<anonymous> (electron/js2c/browser_init.js:161:10374)
    at Object.emit (events.js:315:20)
   ipc api › error in event get-metas => Cannot read property 'find' of undefined
   ipc api › TypeError: Cannot read property 'find' of undefined
    at Tn.getTracks (/opt/nuclear/resources/app.asar/dist/main.js:2751:496983)
    at zn.getLocalMetas (/opt/nuclear/resources/app.asar/dist/main.js:2751:504434)
    at IpcMainImpl.<anonymous> (/opt/nuclear/resources/app.asar/dist/main.js:2751:536446)
    at IpcMainImpl.emit (events.js:315:20)
    at Object.<anonymous> (electron/js2c/browser_init.js:161:10374)
    at Object.emit (events.js:315:20)
(node:96) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.

Maybe it's because of some problematic files / file-names in folders? How could one debug the problem? Could one configure the music files folder outside of the Local Library and set it to an empty folder for example? When clicking on Local Library these two popups show and it jumps back to the page/tab previously viewed (if music was playing it is paused).

mYnDstrEAm avatar Dec 27 '21 12:12 mYnDstrEAm

same here with Deb11. Installed nightly snap v0.6.17. App starts but shows these startup messages:


main › (node:9162) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `nuclear --trace-deprecation ...` to show where the warning was created)
      main › Sqlite database creation failed
      main › t: SQLite package has not been found installed. Try to install it: npm install sqlite3 --save
    at t.call [as constructor] (/snap/nuclear/28/resources/app.asar/dist/webpack:/home/runner/work/nuclear/nuclear/node_modules/typeorm/error/TypeORMError.js:9:28)
    at new t (/snap/nuclear/28/resources/app.asar/dist/webpack:/home/runner/work/nuclear/nuclear/node_modules/typeorm/error/DriverPackageNotInstalledError.js:12:23)
    at t.loadDependencies (/snap/nuclear/28/resources/app.asar/dist/webpack:/home/runner/work/nuclear/nuclear/node_modules/typeorm/driver/sqlite/SqliteDriver.js:129:19)
    at new t (/snap/nuclear/28/resources/app.asar/dist/webpack:/home/runner/work/nuclear/nuclear/node_modules/typeorm/driver/sqlite/SqliteDriver.js:29:15)
    at e.create (/snap/nuclear/28/resources/app.asar/dist/webpack:/home/runner/work/nuclear/nuclear/node_modules/typeorm/driver/DriverFactory.js:45:24)
    at new e (/snap/nuclear/28/resources/app.asar/dist/webpack:/home/runner/work/nuclear/nuclear/node_modules/typeorm/connection/Connection.js:53:59)
    at e.create (/snap/nuclear/28/resources/app.asar/dist/webpack:/home/runner/work/nuclear/nuclear/node_modules/typeorm/connection/ConnectionManager.js:62:26)
    at call (/snap/nuclear/28/resources/app.asar/dist/webpack:/home/runner/work/nuclear/nuclear/node_modules/typeorm/globals.js:70:66)
    at step (/snap/nuclear/28/resources/app.asar/dist/webpack:/home/runner/work/nuclear/nuclear/node_modules/typeorm/node_modules/tslib/tslib.es6.js:102:23)
    at Object.next (/snap/nuclear/28/resources/app.asar/dist/webpack:/home/runner/work/nuclear/nuclear/node_modules/typeorm/node_modules/tslib/tslib.es6.js:83:53)
    at /snap/nuclear/28/resources/app.asar/dist/webpack:/home/runner/work/nuclear/nuclear/node_modules/typeorm/node_modules/tslib/tslib.es6.js:76:71
    at new Promise (<anonymous>)
    at __awaiter (/snap/nuclear/28/resources/app.asar/dist/webpack:/home/runner/work/nuclear/nuclear/node_modules/typeorm/node_modules/tslib/tslib.es6.js:72:12)
    at t.createConnection (/snap/nuclear/28/resources/app.asar/dist/webpack:/home/runner/work/nuclear/nuclear/node_modules/typeorm/globals.js:55:24)
    at Er.connect (/snap/nuclear/28/resources/app.asar/dist/webpack:/src/services/local-library/db.ts:33:31)
    at App.<anonymous> (/snap/nuclear/28/resources/app.asar/dist/webpack:/src/main.ts:67:26)
    at App.emit (events.js:327:22)
   ipc api › error in event get-localfolders => Cannot read property 'find' of undefined
   ipc api › TypeError: Cannot read property 'find' of undefined
    at Er.getLocalFolders (/snap/nuclear/28/resources/app.asar/dist/webpack:/src/services/local-library/db.ts:55:34)
    at Yr.name [as getLocalFolders] (/snap/nuclear/28/resources/app.asar/dist/webpack:/src/controllers/local-library.ts:42:47)
    at IpcMainImpl.<anonymous> (/snap/nuclear/28/resources/app.asar/dist/webpack:/src/utils/container.ts:54:39)
    at IpcMainImpl.emit (events.js:315:20)
    at Object.<anonymous> (electron/js2c/browser_init.js:161:10374)
    at Object.emit (events.js:315:20)
   ipc api › error in event get-metas => Cannot read property 'find' of undefined
   ipc api › TypeError: Cannot read property 'find' of undefined
    at Er.getTracks (/snap/nuclear/28/resources/app.asar/dist/webpack:/src/services/local-library/db.ts:78:33)
    at Yr.name [as getLocalMetas] (/snap/nuclear/28/resources/app.asar/dist/webpack:/src/controllers/local-library.ts:33:46)
    at IpcMainImpl.<anonymous> (/snap/nuclear/28/resources/app.asar/dist/webpack:/src/utils/container.ts:54:39)
    at IpcMainImpl.emit (events.js:315:20)
    at Object.<anonymous> (electron/js2c/browser_init.js:161:10374)
    at Object.emit (events.js:315:20)
  renderer › Cannot read property 'sourceName' of undefined
(node:9283) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `exe --trace-deprecation ...` to show where the warning was created)

Besides this, the app is great stuff

holzi-x avatar Feb 02 '22 07:02 holzi-x

SQLite is bundled correctly now.

nukeop avatar May 08 '22 00:05 nukeop

It still doesn't work. Maybe I need to clear some cache before it works? I don't think it's caused by firejail and I get:

  renderer › Cannot read property 'name' of undefined
  renderer › s.map is not a function

After launching it shows:

[...]
Warning: cleaning all supplementary groups
Child process initialized in [...] ms
      main › (node:26) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `nuclear --trace-deprecation ...` to show where the warning was created)
libGL error: MESA-LOADER: failed to retrieve device information
libGL error: Version 4 or later of flush extension not found
libGL error: failed to load driver: [...]
      main › Sqlite database creation failed
libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
      main › t: SQLite package has not been found installed. Try to install it: npm install sqlite3 --save
    at t.call [as constructor] (/opt/nuclear/resources/app.asar/dist/webpack:/node_modules/typeorm/error/TypeORMError.js:9:28)
    at new t (/opt/nuclear/resources/app.asar/dist/webpack:/node_modules/typeorm/error/DriverPackageNotInstalledError.js:12:23)
    at t.loadDependencies (/opt/nuclear/resources/app.asar/dist/webpack:/node_modules/typeorm/driver/sqlite/SqliteDriver.js:159:19)
[...]

Please reopen.

mYnDstrEAm avatar May 08 '22 12:05 mYnDstrEAm

This error SQLite package has not been found installed was caused by incorrect bundling in some packages. This is almost certainly solved, so the actual cause must be different now.

nukeop avatar May 08 '22 15:05 nukeop

Maybe it's because of firejail. Do you get this error if you use it with firejail? Other than that increasing the version number would help with verifying that one really runs the latest version. Here is the rest of the output:

   at new t (/opt/nuclear/resources/app.asar/dist/webpack:/node_modules/typeorm/driver/sqlite/SqliteDriver.js:30:15)
    at e.create (/opt/nuclear/resources/app.asar/dist/webpack:/node_modules/typeorm/driver/DriverFactory.js:45:24)
    at new e (/opt/nuclear/resources/app.asar/dist/webpack:/node_modules/typeorm/connection/Connection.js:54:59)
    at e.create (/opt/nuclear/resources/app.asar/dist/webpack:/node_modules/typeorm/connection/ConnectionManager.js:62:26)
    at call (/opt/nuclear/resources/app.asar/dist/webpack:/node_modules/typeorm/globals.js:70:66)
    at step (/opt/nuclear/resources/app.asar/dist/webpack:/node_modules/typeorm/node_modules/tslib/tslib.es6.js:102:23)
    at Object.next (/opt/nuclear/resources/app.asar/dist/webpack:/node_modules/typeorm/node_modules/tslib/tslib.es6.js:83:53)
    at /opt/nuclear/resources/app.asar/dist/webpack:/node_modules/typeorm/node_modules/tslib/tslib.es6.js:76:71
    at new Promise (<anonymous>)
    at __awaiter (/opt/nuclear/resources/app.asar/dist/webpack:/node_modules/typeorm/node_modules/tslib/tslib.es6.js:72:12)
    at createConnection (/opt/nuclear/resources/app.asar/dist/webpack:/node_modules/typeorm/globals.js:55:24)
    at T.connect (/opt/nuclear/resources/app.asar/dist/webpack:/@nuclear/main/src/services/local-library/db.ts:33:31)
    at App.<anonymous> (/opt/nuclear/resources/app.asar/dist/webpack:/@nuclear/main/src/main.ts:67:26)
    at App.emit (events.js:327:22)
   ipc api › error in event get-localfolders => Cannot read property 'find' of undefined
   ipc api › TypeError: Cannot read property 'find' of undefined
    at T.getLocalFolders (/opt/nuclear/resources/app.asar/dist/webpack:/@nuclear/main/src/services/local-library/db.ts:55:34)
    at f.name [as getLocalFolders] (/opt/nuclear/resources/app.asar/dist/webpack:/@nuclear/main/src/controllers/local-library.ts:42:47)
    at IpcMainImpl.<anonymous> (/opt/nuclear/resources/app.asar/dist/webpack:/@nuclear/main/src/utils/container.ts:54:39)
    at IpcMainImpl.emit (events.js:315:20)
    at Object.<anonymous> (electron/js2c/browser_init.js:161:10374)
    at Object.emit (events.js:315:20)
   ipc api › error in event get-metas => Cannot read property 'find' of undefined
   ipc api › TypeError: Cannot read property 'find' of undefined
    at T.getTracks (/opt/nuclear/resources/app.asar/dist/webpack:/@nuclear/main/src/services/local-library/db.ts:78:33)
    at f.name [as getLocalMetas] (/opt/nuclear/resources/app.asar/dist/webpack:/@nuclear/main/src/controllers/local-library.ts:33:46)
    at IpcMainImpl.<anonymous> (/opt/nuclear/resources/app.asar/dist/webpack:/@nuclear/main/src/utils/container.ts:54:39)
    at IpcMainImpl.emit (events.js:315:20)
    at Object.<anonymous> (electron/js2c/browser_init.js:161:10374)
    at Object.emit (events.js:315:20)
(node:98) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `exe --trace-deprecation ...` to show where the warning was created)

mYnDstrEAm avatar May 08 '22 17:05 mYnDstrEAm

Same here on Debian11/KDE and the deb file. The console output is:

  renderer › Cannot read property 'name' of undefined
  renderer › s.map is not a function

I still get this error when trying to open the local library. Any progress on this one? Maybe it only needs to check if a variable is set to null (for example when a local file was moved).

Fixing this bug would be needed for all or many other use-cases and suggestions that I have. For example, I'd like to import/open a m3u playlist with local files and to both extend & play it with Nuclear and to make Nuclear add in similar tracks from the Web (if possible mostly via soundcloud suggestions and only same/similar genres; the way how similar tracks are found should be adjustable).

mYnDstrEAm avatar Aug 27 '22 14:08 mYnDstrEAm

It still doesn't work with the latest version. I get this in the console and in red popups in the bottom right:

  renderer › Cannot read property 'name' of undefined
  renderer › s.map is not a function

Maybe it's because of some flawed filename in the music folder. I don't think it's because I run it sandboxed with firejail (and my Music folders are whitelisted in my local profile).

I already tried removing ~/.config/nuclear and reinstalling the .deb package afterwards.

Do you have any suggestions what else to try? Does deleting the prior settings and cache require deleting something else? Any other logs to check? How can one specify the folder it check when clicking on Local Library? I could not find a setting for that and would try if it works with a folder with fewer tracks.


I can't use this app until this basic functionality works, please at least give some hints what else to try if you can't yet solve this. How to get the app working?

This is the full output when starting up before these two messages:

      main › (node:26) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `nuclear --trace-deprecation ...` to show where the warning was created)
libGL error: MESA-LOADER: failed to retrieve device information

(nuclear:26): dbind-WARNING **: 09:02:25.475: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-x2MqE5VAyf: No such file or directory
libGL error: Version 4 or later of flush extension not found
libGL error: failed to load driver: i915
libGL error: failed to open /dev/dri/card0: No such file or directory
libGL error: failed to load driver: iris
      main › Could not connect to the sqlite database for local library
      main › a: SQLite package has not been found installed. Try to install it: npm install sqlite3 --save
    at p.loadDependencies (/opt/nuclear/resources/app.asar/dist/webpack:/node_modules/typeorm/driver/sqlite/SqliteDriver.js:130:19)
    at new p (/opt/nuclear/resources/app.asar/dist/webpack:/node_modules/typeorm/driver/sqlite/SqliteDriver.js:29:14)
    at t.DriverFactory.create (/opt/nuclear/resources/app.asar/dist/webpack:/node_modules/typeorm/driver/DriverFactory.js:44:24)
    at new t.DataSource (/opt/nuclear/resources/app.asar/dist/webpack:/node_modules/typeorm/data-source/DataSource.js:49:59)
    at T.connect (/opt/nuclear/resources/app.asar/dist/webpack:/@nuclear/main/src/services/local-library/db.ts:33:25)
    at App.<anonymous> (/opt/nuclear/resources/app.asar/dist/webpack:/@nuclear/main/src/main.ts:71:26)
    at App.emit (events.js:327:22)
      main › a: SQLite package has not been found installed. Try to install it: npm install sqlite3 --save
    at p.loadDependencies (/opt/nuclear/resources/app.asar/dist/webpack:/node_modules/typeorm/driver/sqlite/SqliteDriver.js:130:19)
    at new p (/opt/nuclear/resources/app.asar/dist/webpack:/node_modules/typeorm/driver/sqlite/SqliteDriver.js:29:14)
    at t.DriverFactory.create (/opt/nuclear/resources/app.asar/dist/webpack:/node_modules/typeorm/driver/DriverFactory.js:44:24)
    at new t.DataSource (/opt/nuclear/resources/app.asar/dist/webpack:/node_modules/typeorm/data-source/DataSource.js:49:59)
    at f.connect (/opt/nuclear/resources/app.asar/dist/webpack:/@nuclear/main/src/services/listening-history/db.ts:27:27)
    at App.<anonymous> (/opt/nuclear/resources/app.asar/dist/webpack:/@nuclear/main/src/main.ts:72:30)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
      main › Could not connect to the sqlite database for listening history
      main › a: SQLite package has not been found installed. Try to install it: npm install sqlite3 --save
    at p.loadDependencies (/opt/nuclear/resources/app.asar/dist/webpack:/node_modules/typeorm/driver/sqlite/SqliteDriver.js:130:19)
    at new p (/opt/nuclear/resources/app.asar/dist/webpack:/node_modules/typeorm/driver/sqlite/SqliteDriver.js:29:14)
    at t.DriverFactory.create (/opt/nuclear/resources/app.asar/dist/webpack:/node_modules/typeorm/driver/DriverFactory.js:44:24)
    at new t.DataSource (/opt/nuclear/resources/app.asar/dist/webpack:/node_modules/typeorm/data-source/DataSource.js:49:59)
    at f.connect (/opt/nuclear/resources/app.asar/dist/webpack:/@nuclear/main/src/services/listening-history/db.ts:27:27)
    at App.<anonymous> (/opt/nuclear/resources/app.asar/dist/webpack:/@nuclear/main/src/main.ts:72:30)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
   ipc api › error in event get-localfolders => Cannot read property 'find' of undefined
   ipc api › TypeError: Cannot read property 'find' of undefined
    at T.getLocalFolders (/opt/nuclear/resources/app.asar/dist/webpack:/@nuclear/main/src/services/local-library/db.ts:57:34)
    at h.name [as getLocalFolders] (/opt/nuclear/resources/app.asar/dist/webpack:/@nuclear/main/src/controllers/local-library.ts:42:47)
    at IpcMainImpl.<anonymous> (/opt/nuclear/resources/app.asar/dist/webpack:/@nuclear/main/src/utils/container.ts:57:39)
    at IpcMainImpl.emit (events.js:315:20)
    at Object.<anonymous> (electron/js2c/browser_init.js:161:10374)
    at Object.emit (events.js:315:20)
   ipc api › error in event get-metas => Cannot read property 'find' of undefined
   ipc api › TypeError: Cannot read property 'find' of undefined
    at T.getTracks (/opt/nuclear/resources/app.asar/dist/webpack:/@nuclear/main/src/services/local-library/db.ts:80:33)
    at h.name [as getLocalMetas] (/opt/nuclear/resources/app.asar/dist/webpack:/@nuclear/main/src/controllers/local-library.ts:33:46)
    at IpcMainImpl.<anonymous> (/opt/nuclear/resources/app.asar/dist/webpack:/@nuclear/main/src/utils/container.ts:57:39)
    at IpcMainImpl.emit (events.js:315:20)
    at Object.<anonymous> (electron/js2c/browser_init.js:161:10374)
    at Object.emit (events.js:315:20)
(node:98) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `exe --trace-deprecation ...` to show where the warning was created)

(nuclear:26): GLib-GIO-CRITICAL **: 09:02:35.236: g_dbus_proxy_new: assertion 'G_IS_DBUS_CONNECTION (connection)' failed

mYnDstrEAm avatar Feb 07 '23 09:02 mYnDstrEAm

Still can't open the local library due to the same two renderer errors in v 0.6.30 (and the ? page also doesn't show the current version number).
Maybe just improve the logging or make it possible to configure the directory of the local library in the Settings so the problem can be found and I could try some things and get better error messages. Currently I can't play local tracks.

mYnDstrEAm avatar Jan 12 '24 20:01 mYnDstrEAm