kbfsfuse keeps crashing on my Linux machine
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 9.2k
- Forks
- 1.3k
- Avg merge
- 12h 58m
- Merged PRs (30d)
- 56
Description
Hi! I just started using Keybase. Today, my laptop was running real slow. I checked iotop, and noticed that kbfsfuse was performing a lot of IO. So I killed it, using the same procedure that the run_keybase script does:
fusermount -uz /keybase
killall kbfsfuse
Now I'm trying to use Keybase to transfer some information among two of my laptops, but kbfsfuse just won't start.
Hope you guys can find what's wrong from my log id: ba34c3bb1a6f6ed29acc681c
I've found some errors on keybase.kbfs.log, related to a "merge conflict" or something? It ends with:
2017-10-09T18:58:59.519607-03:00 ▶ [DEBU kbfs(CR a6b56b0e) conflict_resolver.go:3172] 2b3 Recreate ops: [] [tags:CRID=CiULk7kBqREqE71X19r-Yg]
2017-10-09T18:58:59.520826-03:00 ▶ [DEBU kbfs(CR a6b56b0e) asm_amd64.s:509] 2b4 Finished conflict resolution: <nil> [tags:CRID=CiULk7kBqREqE71X19r-Yg]
panic: runtime error: index out of range
goroutine 367 [running]:
github.com/keybase/kbfs/libkbfs.path.tailName(...)
/root/build/gopaths/amd64/src/github.com/keybase/kbfs/libkbfs/path.go:122
github.com/keybase/kbfs/libkbfs.(*setAttrOp).checkConflict(0xc420ae2200, 0x1e6ea60, 0xc422aa2e00, 0x1e63ce0, 0xc420044590, 0x1e7b140, 0xc42466ae00, 0x0, 0x0, 0x0, ...)
/root/build/gopaths/amd64/src/github.com/keybase/kbfs/libkbfs/ops.go:1135 +0x98d
github.com/keybase/kbfs/libkbfs.(*crChain).getActionsToMerge(0xc4204316c0, 0x1e6ea60, 0xc422aa2e00, 0x1e63ce0, 0xc420044590, 0x82ae8d540e6bb5a6, 0x160d37b5d485aeb4, 0x0, 0x0, 0xc423cdde00, ...)
/root/build/gopaths/amd64/src/github.com/keybase/kbfs/libkbfs/cr_chains.go:203 +0x16b
github.com/keybase/kbfs/libkbfs.(*ConflictResolver).getActionsToMerge(0xc4202357a0, 0x1e6ea60, 0xc422aa2e00, 0xc422aab2c0, 0xc422aaa3c0, 0xc4220d7d10, 0x20, 0xc4220dc2d0, 0x46)
/root/build/gopaths/amd64/src/github.com/keybase/kbfs/libkbfs/conflict_resolver.go:1938 +0x342
github.com/keybase/kbfs/libkbfs.(*ConflictResolver).computeActions(0xc4202357a0, 0x1e6ea60, 0xc422aa2e00, 0xc422aab2c0, 0xc422aaa3c0, 0xc4206c2200, 0x9, 0x9, 0xc4220d7d10, 0x0, ...)
/root/build/gopaths/amd64/src/github.com/keybase/kbfs/libkbfs/conflict_resolver.go:2093 +0x2b2
github.com/keybase/kbfs/libkbfs.(*ConflictResolver).doResolve(0xc4202357a0, 0x1e6ea60, 0xc422aa2e00, 0x8, 0x0)
/root/build/gopaths/amd64/src/github.com/keybase/kbfs/libkbfs/conflict_resolver.go:3189 +0x11fc
github.com/keybase/kbfs/libkbfs.(*ConflictResolver).processInput.func3(0xc4202357a0, 0xc420b14180, 0xc4220c6c00, 0x8, 0x0, 0xc420aadb60)
/root/build/gopaths/amd64/src/github.com/keybase/kbfs/libkbfs/conflict_resolver.go:217 +0x229
created by github.com/keybase/kbfs/libkbfs.(*ConflictResolver).processInput
/root/build/gopaths/amd64/src/github.com/keybase/kbfs/libkbfs/conflict_resolver.go:205 +0x278
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the panic at libkbfs/path.go:122 and trace the setAttrOp.checkConflict call in libkbfs/ops.go:1135 through cr_chains.go and conflict_resolver.go. Use the supplied log and stack trace to investigate the conflict-resolution path; done means kbfsfuse no longer panics while resolving this case.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, linux
- Domain
- operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100