keybase / keybase/client

High CPU and RAM usage when tracking with CLI & GUI

Open
#3,050 12 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
9.2k
Forks
1.3k
Avg merge
12h 58m
Merged PRs (30d)
56

Description

Possibly related to #2896, when tracking another user from the CLI, the GUI opens a window just after the CLI prompts me with "Is this the you wanted? [Y/n]". I clicked the button in the GUI to track, and thought I was done.

I came back to my computer this morning to find kernal_task running at 150% CPU and > 1GB RAM, and the CLI repeating these lines (13 times in all):

▶ INFO Checking for update, current version is 1.0.16-20160606110015+a548d0e
▶ INFO Using updater source: Remote (https://s3.amazonaws.com/prerelease.keybase.io)
▶ INFO Request "https://s3.amazonaws.com/prerelease.keybase.io/update-darwin-prod.json"
▶ INFO Checking update with version: 1.0.16-20160606110015+a548d0e
▶ INFO Update matches current version: 1.0.16-20160606110015+a548d0e = 1.0.16-20160606110015+a548d0e

I discovered an additional tracking window open behind another window confirming that the tracking was successful, and after clicking the confirmation button, the CLI gave me this:

▶ ERROR Failed to get track token%!(EXTRA libkb.IdentifyTimeoutError=Identification expired.)

Since then, another group of the updater lines have appeared in the terminal. Canceling the CLI ops dropped CPU usage but the memory is still high. I grabbed a spindump, but forgot to grab a sample of the Keybase process before I quit the GUI.

Keybase GUI Version: 1.0.16-20160606110015+a548d0e
OS X 10.11.5

image

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Begin by reproducing the CLI tracking flow on OS X 10.11.5 while observing the GUI confirmation and repeated updater requests described in the report. Done means tracking completes once, the updater does not loop, and CPU and RAM return to normal after the operation.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, macos
Domain
cli, desktop, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.