keybase / keybase/keybase-issues

device list crash

Open
#2,113 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
899
Forks
40
PR merge metrics
No merged PRs in 30d

Description

Upon successfully logging into a new device (i.e. adding new device), running `keybase device list` crashes with a runtime error. Subsequent call to `keybase device list` succeeds.

OS: Windows 10
keybase version 1.0.11-201602111011+b5a91f4

```
C:\Program Files (x86)\Keybase>keybase device list
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x0 addr=0x0 pc=0xa9e673]

goroutine 1 [running]:
github.com/keybase/client/go/vendor/github.com/natefinch/npipe.(*PipeConn).Close(0x0, 0x0, 0x0)
c:/work/src/github.com/keybase/client/go/vendor/github.com/natefinch/npipe/npipe_windows.go:446 +0x23
github.com/keybase/client/go/client.FixVersionClash.func1(0x13c31acc, 0x13ca2000, 0x13c31c98)
c:/work/src/github.com/keybase/client/go/client/versionfix.go:60 +0x39
github.com/keybase/client/go/client.FixVersionClash(0x13ca2000, 0x2344ec0, 0x13bc4de0, 0x2345268, 0x13cf4e10)
c:/work/src/github.com/keybase/client/go/client/versionfix.go:71 +0x16f
main.configureProcesses(0x13ca2000, 0x13bc4de0, 0x151b100, 0x0, 0x0)
c:/work/src/github.com/keybase/client/go/keybase/main.go:196 +0x434
main.mainInner(0x13ca2000, 0x0, 0x0)
c:/work/src/github.com/keybase/client/go/keybase/main.go:114 +0x89e
main.main()
c:/work/src/github.com/keybase/client/go/keybase/main.go:45 +0x4c

goroutine 5 [syscall]:
os/signal.loop()
C:/Go/src/os/signal/signal_unix.go:22 +0x1a
created by os/signal.init.1
C:/Go/src/os/signal/signal_unix.go:28 +0x36

goroutine 7 [select]:
github.com/keybase/client/go/libkb.(*LoginState).requests(0x13cc06a0)
c:/work/src/github.com/keybase/client/go/libkb/login_state.go:827 +0x696
created by github.com/keybase/client/go/libkb.NewLoginState
c:/work/src/github.com/keybase/client/go/libkb/login_state.go:113 +0x22b

goroutine 8 [chan receive]:
main.HandleSignals()
c:/work/src/github.com/keybase/client/go/keybase/main.go:272 +0x196
created by main.main
c:/work/src/github.com/keybase/client/go/keybase/main.go:44 +0x40

goroutine 9 [select]:
github.com/keybase/client/go/vendor/stathat.com/c/ramcache.(*Ramcache).cleanup(0x13bc9ac0)
c:/work/src/github.com/keybase/client/go/vendor/stathat.com/c/ramcache/ramcache.go:164 +0x116
created by github.com/keybase/client/go/vendor/stathat.com/c/ramcache.New
c:/work/src/github.com/keybase/client/go/vendor/stathat.com/c/ramcache/ramcache.go:44 +0x149

goroutine 10 [select]:
github.com/keybase/client/go/vendor/stathat.com/c/ramcache.(*Ramcache).cleanup(0x13bc9b80)
c:/work/src/github.com/keybase/client/go/vendor/stathat.com/c/ramcache/ramcache.go:164 +0x116
created by github.com/keybase/client/go/vendor/stathat.com/c/ramcache.New
c:/work/src/github.com/keybase/client/go/vendor/stathat.com/c/ramcache/ramcache.go:44 +0x149

goroutine 11 [select]:
github.com/keybase/client/go/vendor/stathat.com/c/ramcache.(*Ramcache).cleanup(0x13bc9c40)
c:/work/src/github.com/keybase/client/go/vendor/stathat.com/c/ramcache/ramcache.go:164 +0x116
created by github.com/keybase/client/go/vendor/stathat.com/c/ramcache.New
c:/work/src/github.com/keybase/client/go/vendor/stathat.com/c/ramcache/ramcache.go:44 +0x149

goroutine 12 [select]:
github.com/keybase/client/go/libkb.(*LinkCache).handle(0x13bc58f0)
c:/work/src/github.com/keybase/client/go/libkb/link_cache.go:136 +0xf1a
created by github.com/keybase/client/go/libkb.NewLinkCache
c:/work/src/github.com/keybase/client/go/libkb/link_cache.go:49 +0x2d4

goroutine 13 [select]:
github.com/keybase/client/go/libkb.(*LinkCache).periodic(0x13bc58f0)
c:/work/src/github.com/keybase/client/go/libkb/link_cache.go:204 +0xf5
created by github.com/keybase/client/go/libkb.NewLinkCache
c:/work/src/github.com/keybase/client/go/libkb/link_cache.go:50 +0x2f1

goroutine 14 [select]:
github.com/keybase/client/go/service.(*logFwd).process(0x13ce32e0)
c:/work/src/github.com/keybase/client/go/service/log_fwd.go:63 +0x364
created by github.com/keybase/client/go/service.newLogFwd
c:/work/src/github.com/keybase/client/go/service/log_fwd.go:40 +0x198
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Reproduce the Windows 10 sequence: add a new device, then run `keybase device list`. Start by reading `go/client/versionfix.go` and the referenced `npipe_windows.go` close path, with `go/keybase/main.go` showing the startup entry point. Done means the first device-list call no longer panics and the command still succeeds on the subsequent call.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
cli
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.