neovide / neovide

No Nonsense Neovim Client in Rust
https://neovide.dev
MIT License
12.8k stars 518 forks source link

Permission denied on Linux #870

Closed NrdyBhu1 closed 3 years ago

NrdyBhu1 commented 3 years ago

Describe the bug Just like (#831) when I tried to run snap version of neovide, it panicked at Result::Err. When I ran neovide --log it gave output:

-> neovide --log
thread 'tokio-runtime-worker' panicked at 'called `Result::unwrap()` on an `Err` value: GlobError { path: ".", error: Os { code: 13, kind: PermissionDenied, message: "Permission denied" } }', /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/core/src/ops/function.rs:150:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: PoisonError { .. }', /root/.cargo/registry/src/github.com-1ecc6299db9ec823/flexi_logger-0.17.1/src/writers/file_log_writer.rs:73:57

So I noticed Permission denied error and I tried to run as administrator with sudo and

-> sudo neovide --log
mkdir: cannot create directory ‘/run/user/0’: Permission denied
thread 'tokio-runtime-worker' panicked at 'called `Result::unwrap()` on an `Err` value: GlobError { path: ".", error: Os { code: 13, kind: PermissionDenied, message: "Permission denied" } }', /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/core/src/ops/function.rs:150:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: PoisonError { .. }', /root/.cargo/registry/src/github.com-1ecc6299db9ec823/flexi_logger-0.17.1/src/writers/file_log_writer.rs:73:57

Desktop (please complete the following information):

Kethku commented 3 years ago

@j4qfrost do you have any idea whats going on here? This seems related to snap

j4qfrost commented 3 years ago

https://github.com/neovide/neovide/pull/873 @NrdyBhu1 can you try this branch?

NrdyBhu1 commented 3 years ago

Yes sure, will do after the pull request is merged and report again

j4qfrost commented 3 years ago

This doesn't work for release. I have to put in a formal request to use the classic confinement. The better long term solution is figuring out what components are restricted and allow for them.

NrdyBhu1 commented 3 years ago

Yes, that sounds correct, will wait for future updates!

NrdyBhu1 commented 3 years ago

So wait, once commits are pushed to main branch, it will be updated in snap store right?

j4qfrost commented 3 years ago

@NrdyBhu1 No I still need to manually add the snap to the channel. I prefer it this way, at least for stable release. I still need to make it so that we are both releasing edge snaps and stable snaps. Right now only stable channel snaps are being built. I'll find some time tomorrow.

NrdyBhu1 commented 3 years ago

I see, so how do I install the latest commit's snap for testing?

j4qfrost commented 3 years ago

You can just run snapcraft in the the root project directory I think.

NrdyBhu1 commented 3 years ago

oh, ok

NrdyBhu1 commented 3 years ago

@j4qfrost just as i thought compilation is over, this occured

error: could not compile `neovide`

Caused by:
  process didn't exit successfully: `rustc --crate-name neovide --edition=2018 src/main.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C opt-level=3 -C lto -C debuginfo=2 --cfg 'feature="default"' -C metadata=3c4249919c25efb6 -C extra-filename=-3c4249919c25efb6 --out-dir /root/parts/neovide/build/target/release/deps -C linker=x86_64-linux-gnu-gcc -C incremental=/root/parts/neovide/build/target/release/incremental -L dependency=/root/parts/neovide/build/target/release/deps --extern async_trait=/root/parts/neovide/build/target/release/deps/libasync_trait-0f6b18fd7bbd5333.so --extern cfg_if=/root/parts/neovide/build/target/release/deps/libcfg_if-87224d548ba7c0b8.rlib --extern clap=/root/parts/neovide/build/target/release/deps/libclap-30216182680ec15f.rlib --extern crossfire=/root/parts/neovide/build/target/release/deps/libcrossfire-a01dc3b428894f4c.rlib --extern derive_new=/root/parts/neovide/build/target/release/deps/libderive_new-c93d671a2c194e56.so --extern dirs=/root/parts/neovide/build/target/release/deps/libdirs-775835e9d33690e5.rlib --extern euclid=/root/parts/neovide/build/target/release/deps/libeuclid-7307a0cc5f9cb432.rlib --extern flexi_logger=/root/parts/neovide/build/target/release/deps/libflexi_logger-7d9c7c17d11ef058.rlib --extern futures=/root/parts/neovide/build/target/release/deps/libfutures-bc7c569040980f6b.rlib --extern gl=/root/parts/neovide/build/target/release/deps/libgl-b9ba19896cd25585.rlib --extern glutin=/root/parts/neovide/build/target/release/deps/libglutin-dde52c8cbc70cb92.rlib --extern image=/root/parts/neovide/build/target/release/deps/libimage-d94953623152668d.rlib --extern lazy_static=/root/parts/neovide/build/target/release/deps/liblazy_static-8670a0fd5be8bcf3.rlib --extern log=/root/parts/neovide/build/target/release/deps/liblog-9e5e405faad224b2.rlib --extern lru=/root/parts/neovide/build/target/release/deps/liblru-0003524173679620.rlib --extern neovide_derive=/root/parts/neovide/build/target/release/deps/libneovide_derive-2e973a8325909ed5.so --extern nvim_rs=/root/parts/neovide/build/target/release/deps/libnvim_rs-610249bd993f4178.rlib --extern parking_lot=/root/parts/neovide/build/target/release/deps/libparking_lot-9cff958b4e384ecf.rlib --extern pin_project=/root/parts/neovide/build/target/release/deps/libpin_project-98d34be1ad7e12ce.rlib --extern rand=/root/parts/neovide/build/target/release/deps/librand-50961b67d9bd0f96.rlib --extern regex=/root/parts/neovide/build/target/release/deps/libregex-5bb4e6661355b44b.rlib --extern rmpv=/root/parts/neovide/build/target/release/deps/librmpv-400c4bf906ebe51e.rlib --extern rust_embed=/root/parts/neovide/build/target/release/deps/librust_embed-d33e08e11d441729.rlib --extern serde=/root/parts/neovide/build/target/release/deps/libserde-49f7880f49ba277a.rlib --extern serde_json=/root/parts/neovide/build/target/release/deps/libserde_json-b566524e84766e8e.rlib --extern skia_safe=/root/parts/neovide/build/target/release/deps/libskia_safe-64e8b2e5ef4ee32e.rlib --extern swash=/root/parts/neovide/build/target/release/deps/libswash-e5eddf4a03d0cc74.rlib --extern tokio=/root/parts/neovide/build/target/release/deps/libtokio-44c7731958cab4cd.rlib --extern tokio_util=/root/parts/neovide/build/target/release/deps/libtokio_util-a54ba026a2c1ff08.rlib --extern unicode_segmentation=/root/parts/neovide/build/target/release/deps/libunicode_segmentation-4efbbc98d36def82.rlib --extern which=/root/parts/neovide/build/target/release/deps/libwhich-c041f0a5ffc667ce.rlib --extern winit=/root/parts/neovide/build/target/release/deps/libwinit-5fe54dbe5177fdd1.rlib -C link-arg=-L/root/parts/neovide/install/lib/x86_64-linux-gnu -C link-arg=-L/root/parts/neovide/install/usr/lib/x86_64-linux-gnu -C link-arg=-L/root/parts/neovide/install/lib -C link-arg=-L/root/parts/neovide/install/usr/lib -L /root/parts/neovide/build/target/release/build/skia-bindings-3ab4a503c92ca62f/out/skia` (signal: 9, SIGKILL: kill)
Failed to run '/root/.cargo/bin/cargo +stable build --release' for 'neovide': Exited with code 101.
Verify that the part is using the correct parameters and try again.
Run the same command again with --debug to shell into the environment if you wish to introspect this failure.
j4qfrost commented 3 years ago

Oh try doing export export SNAPCRAFT_BUILD_ENVIRONMENT_MEMORY=6G before running snapcraft. You may also need to clear the cache.

j4qfrost commented 3 years ago

snapcraft is still using the default amount of memory. You need to run snapcraft clean then rerun the snapcraft command with the memory set to at least 6G.

On Wed, Aug 11, 2021, 9:16 PM NrdyBhu1 @.***> wrote:

@j4qfrost https://github.com/j4qfrost just as i thought compilation is over this occured

error: could not compile neovide

Caused by: process didn't exit successfully: rustc --crate-name neovide --edition=2018 src/main.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C opt-level=3 -C lto -C debuginfo=2 --cfg 'feature="default"' -C metadata=3c4249919c25efb6 -C extra-filename=-3c4249919c25efb6 --out-dir /root/parts/neovide/build/target/release/deps -C linker=x86_64-linux-gnu-gcc -C incremental=/root/parts/neovide/build/target/release/incremental -L dependency=/root/parts/neovide/build/target/release/deps --extern async_trait=/root/parts/neovide/build/target/release/deps/libasync_trait-0f6b18fd7bbd5333.so --extern cfg_if=/root/parts/neovide/build/target/release/deps/libcfg_if-87224d548ba7c0b8.rlib --extern clap=/root/parts/neovide/build/target/release/deps/libclap-30216182680ec15f.rlib --extern crossfire=/root/parts/neovide/build/target/release/deps/libcrossfire-a01dc3b428894f4c.rlib --extern derive_new=/root/parts/neovide/build/target/release/deps/libderive_new-c93d671a2c194e56.so --extern dirs=/root/parts/neovide/build/target/release/deps/libdirs-775835e9d33690e5.rlib --extern euclid=/root/parts/neovide/build/target/release/deps/libeuclid-7307a0cc5f9cb432.rlib --extern flexi_logger=/root/parts/neovide/build/target/release/deps/libflexi_logger-7d9c7c17d11ef058.rlib --extern futures=/root/parts/neovide/build/target/release/deps/libfutures-bc7c569040980f6b.rlib --extern gl=/root/parts/neovide/build/target/release/deps/libgl-b9ba19896cd25585.rlib --extern glutin=/root/parts/neovide/build/target/release/deps/libglutin-dde52c8cbc70cb92.rlib --extern image=/root/parts/neovide/build/target/release/deps/libimage-d94953623152668d.rlib --extern lazy_static=/root/parts/neovide/build/target/release/deps/liblazy_static-8670a0fd5be8bcf3.rlib --extern log=/root/parts/neovide/build/target/release/deps/liblog-9e5e405faad224b2.rlib --extern lru=/root/parts/neovide/build/target/release/deps/liblru-0003524173679620.rlib --extern neovide_derive=/root/parts/neovide/build/target/release/deps/libneovide_derive-2e973a8325909ed5.so --extern nvim_rs=/root/parts/neovide/build/target/release/deps/libnvim_rs-610249bd993f4178.rlib --extern parking_lot=/root/parts/neovide/build/target/release/deps/libparking_lot-9cff958b4e384ecf.rlib --extern pin_project=/root/parts/neovide/build/target/release/deps/libpin_project-98d34be1ad7e12ce.rlib --extern rand=/root/parts/neovide/build/target/release/deps/librand-50961b67d9bd0f96.rlib --extern regex=/root/parts/neovide/build/target/release/deps/libregex-5bb4e6661355b44b.rlib --extern rmpv=/root/parts/neovide/build/target/release/deps/librmpv-400c4bf906ebe51e.rlib --extern rust_embed=/root/parts/neovide/build/target/release/deps/librust_embed-d33e08e11d441729.rlib --extern serde=/root/parts/neovide/build/target/release/deps/libserde-49f7880f49ba277a.rlib --extern serde_json=/root/parts/neovide/build/target/release/deps/libserde_json-b566524e84766e8e.rlib --extern skia_safe=/root/parts/neovide/build/target/release/deps/libskia_safe-64e8b2e5ef4ee32e.rlib --extern swash=/root/parts/neovide/build/target/release/deps/libswash-e5eddf4a03d0cc74.rlib --extern tokio=/root/parts/neovide/build/target/release/deps/libtokio-44c7731958cab4cd.rlib --extern tokio_util=/root/parts/neovide/build/target/release/deps/libtokio_util-a54ba026a2c1ff08.rlib --extern unicode_segmentation=/root/parts/neovide/build/target/release/deps/libunicode_segmentation-4efbbc98d36def82.rlib --extern which=/root/parts/neovide/build/target/release/deps/libwhich-c041f0a5ffc667ce.rlib --extern winit=/root/parts/neovide/build/target/release/deps/libwinit-5fe54dbe5177fdd1.rlib -C link-arg=-L/root/parts/neovide/install/lib/x86_64-linux-gnu -C link-arg=-L/root/parts/neovide/install/usr/lib/x86_64-linux-gnu -C link-arg=-L/root/parts/neovide/install/lib -C link-arg=-L/root/parts/neovide/install/usr/lib -L /root/parts/neovide/build/target/release/build/skia-bindings-3ab4a503c92ca62f/out/skia (signal: 9, SIGKILL: kill) Failed to run '/root/.cargo/bin/cargo +stable build --release' for 'neovide': Exited with code 101. Verify that the part is using the correct parameters and try again. Run the same command again with --debug to shell into the environment if you wish to introspect this failure.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/neovide/neovide/issues/870#issuecomment-897336007, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA6S7P2TLJ3HNOEKXADLCLTT4NDLBANCNFSM5B4MDEWQ .

NrdyBhu1 commented 3 years ago

I see, wait how i clear the cache?

NrdyBhu1 commented 3 years ago

@j4qfrost I still get the same error
This time I did export SNAPCRAFT_BUILD_ENVIRONMENT_MEMORY=6G

error: could not compile `neovide`

Caused by:
  process didn't exit successfully: `rustc --crate-name neovide --edition=2018 src/main.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C opt-level=3 -C lto -C debuginfo=2 --cfg 'feature="default"' -C metadata=3c4249919c25efb6 -C extra-filename=-3c4249919c25efb6 --out-dir /root/parts/neovide/build/target/release/deps -C linker=x86_64-linux-gnu-gcc -C incremental=/root/parts/neovide/build/target/release/incremental -L dependency=/root/parts/neovide/build/target/release/deps --extern async_trait=/root/parts/neovide/build/target/release/deps/libasync_trait-0f6b18fd7bbd5333.so --extern cfg_if=/root/parts/neovide/build/target/release/deps/libcfg_if-87224d548ba7c0b8.rlib --extern clap=/root/parts/neovide/build/target/release/deps/libclap-30216182680ec15f.rlib --extern crossfire=/root/parts/neovide/build/target/release/deps/libcrossfire-a01dc3b428894f4c.rlib --extern derive_new=/root/parts/neovide/build/target/release/deps/libderive_new-c93d671a2c194e56.so --extern dirs=/root/parts/neovide/build/target/release/deps/libdirs-775835e9d33690e5.rlib --extern euclid=/root/parts/neovide/build/target/release/deps/libeuclid-7307a0cc5f9cb432.rlib --extern flexi_logger=/root/parts/neovide/build/target/release/deps/libflexi_logger-7d9c7c17d11ef058.rlib --extern futures=/root/parts/neovide/build/target/release/deps/libfutures-bc7c569040980f6b.rlib --extern gl=/root/parts/neovide/build/target/release/deps/libgl-b9ba19896cd25585.rlib --extern glutin=/root/parts/neovide/build/target/release/deps/libglutin-dde52c8cbc70cb92.rlib --extern image=/root/parts/neovide/build/target/release/deps/libimage-d94953623152668d.rlib --extern lazy_static=/root/parts/neovide/build/target/release/deps/liblazy_static-8670a0fd5be8bcf3.rlib --extern log=/root/parts/neovide/build/target/release/deps/liblog-9e5e405faad224b2.rlib --extern lru=/root/parts/neovide/build/target/release/deps/liblru-0003524173679620.rlib --extern neovide_derive=/root/parts/neovide/build/target/release/deps/libneovide_derive-2e973a8325909ed5.so --extern nvim_rs=/root/parts/neovide/build/target/release/deps/libnvim_rs-610249bd993f4178.rlib --extern parking_lot=/root/parts/neovide/build/target/release/deps/libparking_lot-9cff958b4e384ecf.rlib --extern pin_project=/root/parts/neovide/build/target/release/deps/libpin_project-98d34be1ad7e12ce.rlib --extern rand=/root/parts/neovide/build/target/release/deps/librand-50961b67d9bd0f96.rlib --extern regex=/root/parts/neovide/build/target/release/deps/libregex-5bb4e6661355b44b.rlib --extern rmpv=/root/parts/neovide/build/target/release/deps/librmpv-400c4bf906ebe51e.rlib --extern rust_embed=/root/parts/neovide/build/target/release/deps/librust_embed-d33e08e11d441729.rlib --extern serde=/root/parts/neovide/build/target/release/deps/libserde-49f7880f49ba277a.rlib --extern serde_json=/root/parts/neovide/build/target/release/deps/libserde_json-b566524e84766e8e.rlib --extern skia_safe=/root/parts/neovide/build/target/release/deps/libskia_safe-64e8b2e5ef4ee32e.rlib --extern swash=/root/parts/neovide/build/target/release/deps/libswash-e5eddf4a03d0cc74.rlib --extern tokio=/root/parts/neovide/build/target/release/deps/libtokio-44c7731958cab4cd.rlib --extern tokio_util=/root/parts/neovide/build/target/release/deps/libtokio_util-a54ba026a2c1ff08.rlib --extern unicode_segmentation=/root/parts/neovide/build/target/release/deps/libunicode_segmentation-4efbbc98d36def82.rlib --extern which=/root/parts/neovide/build/target/release/deps/libwhich-c041f0a5ffc667ce.rlib --extern winit=/root/parts/neovide/build/target/release/deps/libwinit-5fe54dbe5177fdd1.rlib -C link-arg=-L/root/parts/neovide/install/lib -C link-arg=-L/root/parts/neovide/install/usr/lib/x86_64-linux-gnu -C link-arg=-L/root/parts/neovide/install/lib/x86_64-linux-gnu -C link-arg=-L/root/parts/neovide/install/usr/lib -L /root/parts/neovide/build/target/release/build/skia-bindings-3ab4a503c92ca62f/out/skia` (signal: 9, SIGKILL: kill)
Failed to run '/root/.cargo/bin/cargo +stable build --release' for 'neovide': Exited with code 101.
Verify that the part is using the correct parameters and try again.
Run the same command again with --debug to shell into the environment if you wish to introspect this failure.
j4qfrost commented 3 years ago

@NrdyBhu1 did you run snapcraft clean?

NrdyBhu1 commented 3 years ago

@j4qfrost , ok yes that worked after cleaning cache, but... big sigh
Another error

xkbcommon: ERROR: failed to add default include path /usr/share/X11/xkb
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: XKBNotFound', /root/.cargo/git/checkouts/winit-cdba476763ae8f28/3b5462e/src/platform_impl/linux/x11/mod.rs:221:18
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

I have libxkb installed but I don't understand why this error, but when I run this again as admin with sudo, I get

mkdir: missing operand
Try 'mkdir --help' for more information.
/root/Desktop was removed, reassigning DESKTOP to homedir
/root/Downloads was removed, reassigning DOWNLOAD to homedir
/root/Templates was removed, reassigning TEMPLATES to homedir
/root/Public was removed, reassigning PUBLICSHARE to homedir
/root/Documents was removed, reassigning DOCUMENTS to homedir
/root/Music was removed, reassigning MUSIC to homedir
/root/Pictures was removed, reassigning PICTURES to homedir
/root/Videos was removed, reassigning VIDEOS to homedir
cp: cannot stat '/snap/neovide/x1/usr/share/mime': No such file or directory
Directory '/root/snap/neovide/x1/.local/share/mime/packages' does not exist!
ERROR: update-mime-database /root/snap/neovide/x1/.local/share/mime exited abnormally with status 1
xkbcommon: ERROR: failed to add default include path /usr/share/X11/xkb
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: XKBNotFound', /root/.cargo/git/checkouts/winit-cdba476763ae8f28/3b5462e/src/platform_impl/linux/x11/mod.rs:221:18
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Another big sigh
When I ran as admin second time,

mkdir: missing operand
Try 'mkdir --help' for more information.
cp: cannot stat '/snap/neovide/x1/usr/share/mime': No such file or directory
Directory '/root/snap/neovide/x1/.local/share/mime/packages' does not exist!
ERROR: update-mime-database /root/snap/neovide/x1/.local/share/mime exited abnormally with status 1
Ignored client type property: "methods"
Ignored client type property: "attributes"
xkbcommon: ERROR: failed to add default include path /usr/share/X11/xkb
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: XKBNotFound', /root/.cargo/git/checkouts/winit-cdba476763ae8f28/3b5462e/src/platform_impl/linux/x11/mod.rs:221:18
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
j4qfrost commented 3 years ago

@NrdyBhu1 Sorry I've been busy, try this? https://zoomadmin.com/HowToInstall/UbuntuPackage/x11-xkb-utils

NrdyBhu1 commented 3 years ago

@NrdyBhu1 Sorry I've been busy, try this? https://zoomadmin.com/HowToInstall/UbuntuPackage/x11-xkb-utils

Its alright, but yeah I tried that and it is already installed. So idk whats wrong with the snap

leon332157 commented 3 years ago

Hi, @j4qfrost its me again. I looked deeper into the issue with the missing "libxqbcommon" package. Can we try adding it to the "stage-packages" snap config like so? image EDIT: I'm going to attempt building this myself and make a PR if successful. Also, as a suggestion, base snap "core 20" should be used because this issue seems to be reported on versions that's later than 18.04.

j4qfrost commented 3 years ago

I am going to be away from my Linux machine until next week, but I can assist in your PR. If we can make it work under strict confinement, then we should.

NrdyBhu1 commented 3 years ago

Hi, @j4qfrost its me again. I looked deeper into the issue with the missing "libxqbcommon" package. Can we try adding it to the "stage-packages" snap config like so? image EDIT: I'm going to attempt building this myself and make a PR if successful. Also, as a suggestion, base snap "core 20" should be used because this issue seems to be reported on versions that's later than 18.04.

well yes, mine is 20.04, so i think that might work, but I don't have that much knowledge on snaps so will wait for j4qfrost in this