client icon indicating copy to clipboard operation
client copied to clipboard

Blank window starting up & high GPU usage

Open ahwatts opened this issue 2 years ago • 2 comments

It looks like this has been reported a few different times, but nothing open recently; I apologize if this is a duplicate.

When Keybase starts up, I get a blank window, and my CPU fan kicks in to high gear. Since the window was blank, I took a look a the system logs, and see this logged repeatedly:

Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]: [38922:0102/143908.849904:ERROR:shared_context_state.cc(83)] Skia shader compilation error
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]: ------------------------
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]: // Vertex SKSL
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]: #extension GL_NV_shader_noperspective_interpolation: require
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]: uniform float4 sk_RTAdjust;in float2 position;in float2 localCoord;noperspective out float2 vlocalCoord_S0;void main() {// Primitive Processor QuadPerEdgeAAGeometryProcessor
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]: vlocalCoord_S0 = localCoord;sk_Position = position.xy01;}
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]: // Fragment SKSL
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]: #extension GL_NV_shader_noperspective_interpolation: require
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]: uniform sampler2D uTextureSampler_0_S0;
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]: noperspective in float2 vlocalCoord_S0;void main() {// Stage 0, QuadPerEdgeAAGeometryProcessor
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]: half4 outputColor_S0 = half4(1);float2 texCoord;texCoord = vlocalCoord_S0;outputColor_S0 = (blend_modulate(sample(uTextureSampler_0_S0, texCoord), half4(1)));const half4 outputCoverage_S0 = half4(1);{ // Xfer Processor: Porter Duff
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]: sk_FragColor = outputColor_S0 * outputCoverage_S0;}}
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]: // Vertex GLSL
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]: #version 300 es
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]: #extension GL_NV_shader_noperspective_interpolation : require
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]: precision mediump float;
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]: precision mediump sampler2D;
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]: uniform highp vec4 sk_RTAdjust;
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]: in highp vec2 position;
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]: in highp vec2 localCoord;
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]: noperspective out highp vec2 vlocalCoord_S0;
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]: void main() {
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]:     vlocalCoord_S0 = localCoord;
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]:     gl_Position = vec4(position, 0.0, 1.0);
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]:     gl_Position = vec4(gl_Position.xy * sk_RTAdjust.xz + gl_Position.ww * sk_RTAdjust.yw, 0.0, gl_Position.w);
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]: }
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]: // Fragment GLSL
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]: #version 300 es
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]: #extension GL_NV_shader_noperspective_interpolation : require
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]: precision mediump float;
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]: precision mediump sampler2D;
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]: out mediump vec4 sk_FragColor;
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]: uniform sampler2D uTextureSampler_0_S0;
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]: noperspective in highp vec2 vlocalCoord_S0;
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]: void main() {
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]:     mediump vec4 outputColor_S0 = vec4(1.0);
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]:     highp vec2 texCoord = vlocalCoord_S0;
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]:     outputColor_S0 = texture(uTextureSampler_0_S0, texCoord, -0.5);
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]:     {
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]:         sk_FragColor = outputColor_S0;
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]:     }
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]: }
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]: Errors:
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]: link failed but did not provide an info log
Jan 02 14:39:08 ironic-mullet.eminorinc.com Keybase[38922]: [38922:0102/143908.860210:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 3 times!

The PID that's complaining is the GPU process. The ps output for it, from a different run:

awatts     42921 11.1  0.3 34418984 120396 ?     Sl   14:43   0:00 /opt/keybase/Keybase --type=gpu-process --enable-crash-reporter=f2c6b2f0-68ab-4786-8ba1-efb0936b0051,no_channel --user-data-dir=/home/awatts/.config/Keybase --gpu-preferences=WAAAAAAAAAAgAAAEAAAAAAAAAAAAAAAAAABgAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAGAAAAAAAAAAYAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAAAAA== --shared-files --field-trial-handle=0,i,10379683291385471131,4716982485993926029,262144 --disable-features=SpareRendererForSitePerProcess

If I kill that process, the Keybase window appears and things appear to work normally (though I haven't tried to do anything significant beyond click around in the gui). I get the following message in the system log when I kill the GPU process:

Jan 02 14:43:52 ironic-mullet.eminorinc.com Keybase[42798]: [42798:0102/144352.419998:ERROR:gpu_process_host.cc(957)] GPU process exited unexpectedly: exit_code=15
Jan 02 14:43:52 ironic-mullet.eminorinc.com Keybase[43353]: [43353:0102/144352.585157:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 1 times!
Jan 02 14:43:54 ironic-mullet.eminorinc.com Keybase[43353]: [43353:0102/144354.529164:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 2 times!
Jan 02 14:43:59 ironic-mullet.eminorinc.com Keybase[43353]: [43353:0102/144359.768438:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 3 times!

I'm on Fedora Linux 39 on a Lenovo Thinkpad T580. My video hardware is an "Intel Corporation UHD Graphics 620 (rev 07)" according to lspci. My keybase version is keybase version 6.2.4-20240101011938+ae7e4a1c15, though I think this has been happening for some time.

ahwatts avatar Jan 02 '24 20:01 ahwatts

in case this is relevant https://github.com/keybase/client/issues/26102#issuecomment-1874506305

dschneiderch avatar Jan 02 '24 20:01 dschneiderch

@dschneiderch I did uninstall the RPM package and then reinstall the RPM package according to the instructions at https://keybase.io/docs/the_app/install_linux (it installed the same version that I'd removed) before filing this bug, so I don't think the CA issue is affecting me.

ahwatts avatar Jan 02 '24 20:01 ahwatts