Nora icon indicating copy to clipboard operation
Nora copied to clipboard

AppImage crashes due to libvips assertion failure (on arch btw)

Open lordaimer opened this issue 7 months ago • 2 comments

Nora v3.1.0-stable AppImage crashes immediately after adding a music folder. The error is:

[herobrine@nether]$ ./nora.AppImage --user-data-dir=/tmp/nora-test
info: No default protocol registered. Starting the default protocol registration process. {"data":{},"process":"MAIN","timestamp":"2025-05-06 10:35:35.749 AM"}
warn: Default protocol registration failed. {"data":{},"process":"MAIN","timestamp":"2025-05-06 10:35:36.133 AM"}
info: Checking for update {"data":{},"process":"MAIN","timestamp":"2025-05-06 10:35:36.135 AM"}
info: Generated new staging user ID: 30a28d9b-bbce-5191-80c7-fe20c318e064 {"data":{},"process":"MAIN","timestamp":"2025-05-06 10:35:36.219 AM"}
error: Error: Error: net::ERR_NETWORK_CHANGED
    at SimpleURLLoaderWrapper.<anonymous> (node:electron/js2c/browser_init:2:123459)
    at SimpleURLLoaderWrapper.emit (node:events:518:28) {"data":{},"process":"MAIN","timestamp":"2025-05-06 10:35:36.277 AM"}
(node:45588) UnhandledPromiseRejectionWarning: Error: net::ERR_NETWORK_CHANGED
    at SimpleURLLoaderWrapper.<anonymous> (node:electron/js2c/browser_init:2:123459)
    at SimpleURLLoaderWrapper.emit (node:events:518:28)
(Use `Nora --trace-warnings ...` to show where the warning was created)
(node:45588) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
warn: Inavalid or outdated local storage found. Resetting the local storage to default properties. {"data":{"data":{"isASupportedStoreVersion":false,"store":null}},"process":"MAIN","timestamp":"2025-05-06 10:35:36.443 AM"}
error: An error occurred while resetting the local storage. {"data":{"data":{"error":{}}},"process":"MAIN","timestamp":"2025-05-06 10:35:36.444 AM"}                                                  info: Started checking for new songs during the application start. {"data":{},"process":"MAIN","timestamp":"2025-05-06 10:35:36.449 AM"}                                                              warn: Failed to add watchers to parent folders of music folders. No parent folders found. {"data":{"musicFolderPaths":[],"parentFolderPaths":[]},"process":"MAIN","timestamp":"2025-05-06 10:35:36.449 AM"}
info: App connected to the internet successfully {"data":{},"process":"MAIN","timestamp":"2025-05-06 10:35:36.505 AM"}
info: Started the startup song checking process. {"data":{},"process":"MAIN","timestamp":"2025-05-06 10:35:36.588 AM"}
warn: App made a request to get-song-info function with an empty array of song ids. {"data":{},"process":"MAIN","timestamp":"2025-05-06 10:35:36.840 AM"}
warn: App made a request to get-song-info function with an empty array of song ids. {"data":{},"process":"MAIN","timestamp":"2025-05-06 10:35:36.849 AM"}
verbose: Data Events Cache {"data":{"dataEventsCache":[{"dataType":"userData/windowPosition","eventData":[]}]},"process":"MAIN","timestamp":"2025-05-06 10:35:37.449 AM"}
info: Added new song folders to the app. {"data":{"folderPaths":["/mnt/windows/Media/Music/A Samurai In Tokyo"]},"process":"MAIN","timestamp":"2025-05-06 10:35:56.267 AM"}                           info: Closed all folders watches successfully. {"data":{},"process":"MAIN","timestamp":"2025-05-06 10:35:56.269 AM"}                                                                                  info: Parsed selected folders successfully. {"data":{"selectedFolderCount":1,"songCount":1,"subFolderCount":2,"totalFileCount":1},"process":"MAIN","timestamp":"2025-05-06 10:35:56.272 AM"}
**                                                                                                 ERROR:/__w/sharp/sharp/node_modules/@img/sharp-libvips-dev/include/vips/VImage8.h:134:vips::VObject& vips::VObject::operator=(const vips::VObject&): assertion failed: (!a.vobject || VIPS_IS_OBJECT(a.vobject))
Bail out! ERROR:/__w/sharp/sharp/node_modules/@img/sharp-libvips-dev/include/vips/VImage8.h:134:vips::VObject& vips::VObject::operator=(const vips::VObject&): assertion failed: (!a.vobject || VIPS_IS_OBJECT(a.vobject))
Aborted (core dumped)

Seems related to how sharp or libvips is handling images in the folder. Please investigate.

Operating System: I use arch btw Installation Type: AppImage

Really want to use Nora! Awesome App!! Much love!

lordaimer avatar May 06 '25 05:05 lordaimer

I'd like to point out that I'm also having this issue.

Curiosity got the best of me, and this issue seems to occur specifically with .ogg files. .mp3 and .wav files do not have this issue (they have their own separate issue with FFMPEG).

BnDLett avatar Jun 03 '25 22:06 BnDLett

Correction, actually: all of my .ogg songs have thumbnails. It's the thumbnails themselves that are the issue, it seems.

BnDLett avatar Jun 03 '25 22:06 BnDLett