nuclear
nuclear copied to clipboard
Unable to open local files
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.

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
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).
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
SQLite is bundled correctly now.
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.
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.
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)
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).
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
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.