keybase / keybase/client

kbfs not allowing laptop to suspend

Open
#12,458 7 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

System

  • KUbuntu 18.04
  • 4.15.0-23-generic kernel
  • keybase version 2.1.0-20180615162035+8625b772b1

What happens

With keybase running, if I access kbfs (either through the terminal or file explorer) and go about my day, when I attempt to suspend my laptop, the system locks, then kind of hangs, then wakes back up. Exploring the syslog, I found that something to do with fuse was causing it. See the log below.

I then killed all of keybase doing the following:

$ killall Keybase
$ fusermount -uz /keybase
fusermount: entry for /keybase not found in /etc/mtab
$ killall keybase
$ killall kbfsfuse 

I'm able to suspend my PC now just fine. It's essentially every time I access kbfs that this occurs.

Jun 19 16:50:53 devel systemd[1]: Starting Suspend...
Jun 19 16:50:53 devel wpa_supplicant[1012]: nl80211: deinit ifname=wlp58s0 disabled_11b_rates=0
Jun 19 16:50:53 devel systemd-sleep[31482]: Suspending system...
Jun 19 16:50:53 devel kernel: [28295.483311] PM: suspend entry (deep)
Jun 19 16:50:53 devel kernel: [28295.483313] PM: Syncing filesystems ... done.
Jun 19 16:51:13 devel kernel: [28295.494617] Freezing user space processes ... 
Jun 19 16:51:13 devel kernel: [28315.498453] Freezing of tasks failed after 20.003 seconds (1 tasks refusing to freeze, wq_busy=0):
Jun 19 16:51:13 devel kernel: [28315.498543] ksysguardd      D    0  2223   1869 0x00000004
Jun 19 16:51:13 devel kernel: [28315.498549] Call Trace:
Jun 19 16:51:13 devel kernel: [28315.498566]  __schedule+0x297/0x8b0
Jun 19 16:51:13 devel kernel: [28315.498574]  schedule+0x2c/0x80
Jun 19 16:51:13 devel kernel: [28315.498581]  request_wait_answer+0xa3/0x210
Jun 19 16:51:13 devel kernel: [28315.498587]  ? wait_woken+0x80/0x80
Jun 19 16:51:13 devel kernel: [28315.498592]  __fuse_request_send+0x86/0x90
Jun 19 16:51:13 devel kernel: [28315.498597]  fuse_request_send+0x27/0x30
Jun 19 16:51:13 devel kernel: [28315.498601]  fuse_simple_request+0xcf/0x1a0
Jun 19 16:51:13 devel kernel: [28315.498608]  fuse_statfs+0xe1/0x150
Jun 19 16:51:13 devel kernel: [28315.498617]  statfs_by_dentry+0x6d/0x90
Jun 19 16:51:13 devel kernel: [28315.498622]  vfs_statfs+0x1b/0xc0
Jun 19 16:51:13 devel kernel: [28315.498627]  user_statfs+0x5a/0xa0
Jun 19 16:51:13 devel kernel: [28315.498633]  SYSC_statfs+0x27/0x60
Jun 19 16:51:13 devel kernel: [28315.498640]  SyS_statfs+0xe/0x10
Jun 19 16:51:13 devel kernel: [28315.498647]  do_syscall_64+0x73/0x130
Jun 19 16:51:13 devel kernel: [28315.498652]  entry_SYSCALL_64_after_hwframe+0x3d/0xa2
Jun 19 16:51:13 devel kernel: [28315.498658] RIP: 0033:0x7fcc31773977
Jun 19 16:51:13 devel kernel: [28315.498661] RSP: 002b:00007ffcc0d6b628 EFLAGS: 00000246 ORIG_RAX: 0000000000000089
Jun 19 16:51:13 devel kernel: [28315.498666] RAX: ffffffffffffffda RBX: 000055da4fca526a RCX: 00007fcc31773977
Jun 19 16:51:13 devel kernel: [28315.498668] RDX: 000055da4fcf9a80 RSI: 00007ffcc0d6b630 RDI: 000055da4fca526a
Jun 19 16:51:13 devel kernel: [28315.498670] RBP: 00007ffcc0d6b630 R08: 000055da4fcf9810 R09: 0000000000000000
Jun 19 16:51:13 devel kernel: [28315.498673] R10: 000055da4fca2010 R11: 0000000000000246 R12: 000055da4fcf9a10
Jun 19 16:51:13 devel kernel: [28315.498675] R13: 000055da4f423b3a R14: 0000000100002600 R15: 000055da4fcf9810
Jun 19 16:51:13 devel kernel: [28315.498758] OOM killer enabled.

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

The report identifies kbfsfuse, the /keybase mount, and a FUSE statfs request blocking suspend; start by reproducing suspend after accessing /keybase and inspect the related syslog output. Done means the laptop suspends normally with Keybase running and no FUSE request prevents the system from freezing.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, linux, ubuntu
Domain
operating-systems
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.