GiovanH / unofficial-homestuck-collection

An offline collection of Homestuck and its related works.
GNU General Public License v3.0
37 stars 4 forks source link

Reader Program Will Not Launch #608

Open doomcup opened 2 months ago

doomcup commented 2 months ago

When I try to run the program, the process crashes. I have tried both the appimage and the tar.gz package. I'm on Devuan daedalus on AMD64

Logs from running from command line below:

$ ./unofficial-homestuck-collection 
12:26:59.476 (ElectronMain) › Disabling hardware acceleration
12:26:59.479 (ElectronMain) › null
12:26:59.484 (ElectronMain) › TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type undefined
    at validateString (internal/validators.js:112:11)
    at Object.join (path.js:1039:7)
    at getFlashPath (/home/doomcup/Downloads/unofficial-homestuck-collection-2.5.2/resources/app.asar/background.js:46949:24)
    at Module.<anonymous> (/home/doomcup/Downloads/unofficial-homestuck-collection-2.5.2/resources/app.asar/background.js:46961:21)
    at __webpack_require__ (/home/doomcup/Downloads/unofficial-homestuck-collection-2.5.2/resources/app.asar/background.js:26:30)
    at Object.<anonymous> (/home/doomcup/Downloads/unofficial-homestuck-collection-2.5.2/resources/app.asar/background.js:17365:18)
    at __webpack_require__ (/home/doomcup/Downloads/unofficial-homestuck-collection-2.5.2/resources/app.asar/background.js:26:30)
    at /home/doomcup/Downloads/unofficial-homestuck-collection-2.5.2/resources/app.asar/background.js:138:18
    at Object.<anonymous> (/home/doomcup/Downloads/unofficial-homestuck-collection-2.5.2/resources/app.asar/background.js:141:10)
    at Module._compile (internal/modules/cjs/loader.js:967:30)
12:26:59.484 (ElectronMain) › Loading check failed, loading setup mode
12:26:59.486 (ElectronMain) › Deferring app version checks until initial configuration is complete.
12:26:59.487 (ElectronMain) › Loading archive
(node:4474) UnhandledPromiseRejectionWarning: Error: No reference to asset directory
    at loadArchiveData (/home/doomcup/Downloads/unofficial-homestuck-collection-2.5.2/resources/app.asar/background.js:46879:24)
    at Module.<anonymous> (/home/doomcup/Downloads/unofficial-homestuck-collection-2.5.2/resources/app.asar/background.js:47082:3)
    at __webpack_require__ (/home/doomcup/Downloads/unofficial-homestuck-collection-2.5.2/resources/app.asar/background.js:26:30)
    at Object.<anonymous> (/home/doomcup/Downloads/unofficial-homestuck-collection-2.5.2/resources/app.asar/background.js:17365:18)
    at __webpack_require__ (/home/doomcup/Downloads/unofficial-homestuck-collection-2.5.2/resources/app.asar/background.js:26:30)
    at /home/doomcup/Downloads/unofficial-homestuck-collection-2.5.2/resources/app.asar/background.js:138:18
    at Object.<anonymous> (/home/doomcup/Downloads/unofficial-homestuck-collection-2.5.2/resources/app.asar/background.js:141:10)
    at Module._compile (internal/modules/cjs/loader.js:967:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1004:10)
    at Module.load (internal/modules/cjs/loader.js:815:32)
(node:4474) 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(). (rejection id: 2)
(node:4474) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
[4474:0827/122659.651041:FATAL:gpu_data_manager_impl_private.cc(439)] GPU process isn't usable. Goodbye.
Trace/breakpoint trap
$ ./The-Unofficial-Homestuck-Collection-2.5.1.AppImage 
12:31:29.430 (ElectronMain) › Disabling hardware acceleration
12:31:29.435 (ElectronMain) › null
12:31:29.441 (ElectronMain) › TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type undefined
    at validateString (internal/validators.js:112:11)
    at Object.join (path.js:1039:7)
    at getFlashPath (/tmp/.mount_The-UnW5doXD/resources/app.asar/background.js:46949:24)
    at Module.<anonymous> (/tmp/.mount_The-UnW5doXD/resources/app.asar/background.js:46961:21)
    at __webpack_require__ (/tmp/.mount_The-UnW5doXD/resources/app.asar/background.js:26:30)
    at Object.<anonymous> (/tmp/.mount_The-UnW5doXD/resources/app.asar/background.js:17365:18)
    at __webpack_require__ (/tmp/.mount_The-UnW5doXD/resources/app.asar/background.js:26:30)
    at /tmp/.mount_The-UnW5doXD/resources/app.asar/background.js:138:18
    at Object.<anonymous> (/tmp/.mount_The-UnW5doXD/resources/app.asar/background.js:141:10)
    at Module._compile (internal/modules/cjs/loader.js:967:30)
12:31:29.442 (ElectronMain) › Loading check failed, loading setup mode
12:31:29.444 (ElectronMain) › Deferring app version checks until initial configuration is complete.
12:31:29.444 (ElectronMain) › Loading archive
(node:5450) UnhandledPromiseRejectionWarning: Error: No reference to asset directory
    at loadArchiveData (/tmp/.mount_The-UnW5doXD/resources/app.asar/background.js:46879:24)
    at Module.<anonymous> (/tmp/.mount_The-UnW5doXD/resources/app.asar/background.js:47082:3)
    at __webpack_require__ (/tmp/.mount_The-UnW5doXD/resources/app.asar/background.js:26:30)
    at Object.<anonymous> (/tmp/.mount_The-UnW5doXD/resources/app.asar/background.js:17365:18)
    at __webpack_require__ (/tmp/.mount_The-UnW5doXD/resources/app.asar/background.js:26:30)
    at /tmp/.mount_The-UnW5doXD/resources/app.asar/background.js:138:18
    at Object.<anonymous> (/tmp/.mount_The-UnW5doXD/resources/app.asar/background.js:141:10)
    at Module._compile (internal/modules/cjs/loader.js:967:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1004:10)
    at Module.load (internal/modules/cjs/loader.js:815:32)
(node:5450) 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(). (rejection id: 2)
(node:5450) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
[5450:0827/123129.859776:FATAL:gpu_data_manager_impl_private.cc(439)] GPU process isn't usable. Goodbye.
Trace/breakpoint trap
t-brink commented 1 month ago

I get the same error, the relevant part seems to be TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type undefined. Somehow, not having the asset directory defined in the config file leads to the type error.

The workaround is to add the path to the asset pack in ~/.config/unofficial-homestuck-collection/config.json as "assetDir": "/path/to/the/Asset Pack V2/".

I tried this with several releases both on Manjaro and on Linux Mint and they all seem to have this issue. Which is strange, since I remember not having this issue when first trying out the collection.

EDIT: Digging a bit deeper into the code: The TypeError is not the problem, it is caught and handled (the logging is just a bit too verbose). It seems that the crash is related somehow to the first run setup, but my JavaScript/Electron knowledge is not good enough to debug this further.

anonezumi commented 1 week ago

I had this same problem and the workaround worked for me! Before it crashed it would just show a grey screen for a while. I'm on EndeavourOS AMD64 and version 2.5.6 of the app.