pulsar-edit / pulsar

A Community-led Hyper-Hackable Text Editor
https://pulsar-edit.dev
Other
3.29k stars 137 forks source link

libva errors and a few Electron warnings #746

Open aalbacetef opened 1 year ago

aalbacetef commented 1 year ago

Thanks in advance for your bug report!

What happened?

Hi guys, I downloaded the latest AppImage, ran it and I get some errors in the terminal. The editor still works, but figured it'd be a good idea to open an issue anyways.

Errors that show up:

$ ./Linux.Pulsar-1.109.0.AppImage 

libva error: /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so init failed
bash: cannot set terminal process group (-1): Inappropriate ioctl for device
bash: no job control in this shell
(node:84448) Electron: Loading non-context-aware native module in renderer: '/tmp/.org.chromium.Chromium.3CgCAv'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(Use `exe --trace-warnings ...` to show where the warning was created)
(node:84448) Electron: Loading non-context-aware native module in renderer: '/tmp/.org.chromium.Chromium.7Vqtth'. This is deprecated, see https://github.com/electron/electron/issues/18397.
///  ^ this line repeats over and over

Output of --version:

Pulsar  : 1.109.0
Electron: 12.2.3
Chrome  : 89.0.4389.128
Node    : 14.16.0

Output of vainfo:

libva info: VA-API version 1.14.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_14
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.14 (libva 2.12.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 22.3.1 ()
vainfo: Supported profile and entrypoints
      VAProfileNone                   : VAEntrypointVideoProc
      VAProfileNone                   : VAEntrypointStats
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSliceLP
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSliceLP
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointEncPicture
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
      VAProfileVP8Version0_3          : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointEncSliceLP
      VAProfileHEVCMain10             : VAEntrypointVLD
      VAProfileHEVCMain10             : VAEntrypointEncSliceLP
      VAProfileVP9Profile0            : VAEntrypointVLD
      VAProfileVP9Profile0            : VAEntrypointEncSliceLP
      VAProfileVP9Profile1            : VAEntrypointVLD
      VAProfileVP9Profile1            : VAEntrypointEncSliceLP
      VAProfileVP9Profile2            : VAEntrypointVLD
      VAProfileVP9Profile2            : VAEntrypointEncSliceLP
      VAProfileVP9Profile3            : VAEntrypointVLD
      VAProfileVP9Profile3            : VAEntrypointEncSliceLP
      VAProfileHEVCMain12             : VAEntrypointVLD
      VAProfileHEVCMain422_10         : VAEntrypointVLD
      VAProfileHEVCMain422_12         : VAEntrypointVLD
      VAProfileHEVCMain444            : VAEntrypointVLD
      VAProfileHEVCMain444            : VAEntrypointEncSliceLP
      VAProfileHEVCMain444_10         : VAEntrypointVLD
      VAProfileHEVCMain444_10         : VAEntrypointEncSliceLP
      VAProfileHEVCMain444_12         : VAEntrypointVLD
      VAProfileHEVCSccMain            : VAEntrypointVLD
      VAProfileHEVCSccMain            : VAEntrypointEncSliceLP
      VAProfileHEVCSccMain10          : VAEntrypointVLD
      VAProfileHEVCSccMain10          : VAEntrypointEncSliceLP
      VAProfileHEVCSccMain444         : VAEntrypointVLD
      VAProfileHEVCSccMain444         : VAEntrypointEncSliceLP
      VAProfileAV1Profile0            : VAEntrypointVLD
      VAProfileHEVCSccMain444_10      : VAEntrypointVLD
      VAProfileHEVCSccMain444_10      : VAEntrypointEncSliceLP

Output of lsb_release -a:

No LSB modules are available.
Distributor ID: Pop
Description:    Pop!_OS 22.04 LTS
Release:    22.04
Codename:   jammy

Output of uname -a:

Linux pop-os 6.4.6-76060406-generic #202307241739~1695312586~22.04~4d8f3e9 SMP PREEMPT_DYNAMIC Thu S x86_64 x86_64 x86_64 GNU/Linux

Pulsar version

1.109.0

Which OS does this happen on?

🐧 Debian based (Linux Mint, Ubuntu, etc.)

OS details

Pop!_OS 22.04 LTS

Which CPU architecture are you running this on?

64-bit(x86_64)

What steps are needed to reproduce this?

  1. download latest AppImage from the releases page
  2. chmod +x
  3. run it

Additional Information:

No response

confused-Techie commented 1 year ago

Thanks a ton for reporting this!

While I'm not the most familiar with the errors presented, as they all have to do with internal drivers and such, I think it's easy to assume that this will be resolved after we can finally bump our Electron version.

Which is something that we have been hard at work on, for well really the past year. So it'll take time, but that sounds likely to be the fix.

aalbacetef commented 1 year ago

I've got some more info!

For context, I have a laptop with an Nvidia graphics card and on Pop OS I have different modes I can use:

Usually I stay on integrated graphics mode due to the longer battery life. This is the mode I was on when I ran into the error yesterday.

I thought maybe the mode had something to do with it so I switched to Nvidia graphics mode and ran the app. It immediately exits with this error:

[5362:0930/095114.730212:FATAL:gpu_data_manager_impl_private.cc(415)] GPU process isn't usable. Goodbye.
Trace/breakpoint trap (core dumped)

If I add either one of the following flags when in Nvidia graphics mode it works just fine:

Daeraxa commented 1 year ago

Did it not work with --no-sandbox? Its a known thing so we have it as a note on the downloads page.

aalbacetef commented 1 year ago

Did it not work with --no-sandbox? Its a known thing so we have it as a note on the downloads page.

It did, but --disable-gpu-sandbox was also enough (no need to disable all sandboxes).

NOTE: this is when I'm in nvidia graphics mode, if I'm using the integrated graphics mode the flags do nothing and it just spits out the libva error before launching.

aalbacetef commented 9 months ago

I was going to post a new issue but just gave Pulsar a try, downloaded it through deb-get (1.113.0) and whenever I tried to run it from the launcher nothing would happen.

dmesg spits out this:

[23718.355179] traps: Chrome_IOThread[96287] trap int3 ip:56011fde5cd8 sp:77fe3c9f9360 error:0 in pulsar[56011fbba000+6271000]

Here's the odd part, I can launch it just fine from the terminal. No errors, it launches perfectly.

If I run which, it tells me pulsar is /usr/bin/pulsar.

Cool, now what is the launcher trying to run? Well:

 $ cat /usr/share/applications/pulsar.desktop
[Desktop Entry]
Name=Pulsar
Exec=/opt/Pulsar/pulsar %U
Terminal=false
Type=Application
Icon=pulsar
StartupWMClass=Pulsar
Comment=A Community-led Hyper-Hackable Text Editor
Categories=Development;

and sure enough, running this (entirely different binary) fails with the errors already discussed earlier in this thread, so adding the flags I used previously should fix it.

Why is pulsar shipping two different binaries? It seems like the robust one is the one in /usr/bin. Would it not make sense to have the pulsar.desktop file point to the /usr/bin/pulsar binary?

confused-Techie commented 9 months ago

Thanks for the information @aalbacetef but Pulsar should not be shipping two totally different binaries. We just build the one for each platform.

I believe @Daeraxa was the one to originally setup deb-get maybe they might have some insight here