V1.56.0 - error when mounting remote with --daemon flag

What is the problem you are having with rclone?

  1. Mount a remote with the "--daemon" flag (rclone.conf is not encrypted).

  2. Command should take you back to the command prompt, but instead it hangs.

  3. When you hit Ctrl+C to stop the process, a weird error message is produced before taking you back to the command prompt. Error message is:

^Cpanic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x10e5d58]
goroutine 52 [running]:
github.com/rclone/rclone/cmd/mountlib.(*MountPoint).Wait.func1.1()
github.com/rclone/rclone/cmd/mountlib/mount.go:256 +0x48
sync.(*Once).doSlow(0x40000ab010, 0x4000540608)
sync/once.go:68 +0x11c
sync.(*Once).Do(...)
sync/once.go:59
github.com/rclone/rclone/cmd/mountlib.(*MountPoint).Wait.func1()
github.com/rclone/rclone/cmd/mountlib/mount.go:254 +0x5c
github.com/rclone/rclone/lib/atexit.Run.func1()
github.com/rclone/rclone/lib/atexit/atexit.go:104 +0x70
sync.(*Once).doSlow(0x272a8a0, 0x17f96b8)
sync/once.go:68 +0x11c
sync.(*Once).Do(...)
sync/once.go:59
github.com/rclone/rclone/lib/atexit.Run()
github.com/rclone/rclone/lib/atexit/atexit.go:102 +0xd4
github.com/rclone/rclone/lib/atexit.Register.func1.1()
github.com/rclone/rclone/lib/atexit/atexit.go:52 +0xc4
created by github.com/rclone/rclone/lib/atexit.Register.func1
github.com/rclone/rclone/lib/atexit/atexit.go:44 +0xa0

  1. Even despite the error step 3, once you're back at the command prompt the mount actually seems to have worked - confirmed by running "ps aux | grep rclone" (which shows the mount is running) and "ls /path/to/mount (which lists the mounted remote as expected)

What is your rclone version (output from rclone version)

rclone v1.56.0

  • os/version: ubuntu 20.04 (64 bit)
  • os/kernel: 5.4.0-1041-raspi (aarch64)
  • os/type: linux
  • os/arch: arm64
  • go/version: go1.16.5
  • go/linking: static
  • go/tags: none

Which OS you are using and how many bits (eg Windows 7, 64 bit)

Ubuntu 20.04.2 LTS, 64-bits, running on a Raspberry Pi 4B 8GB

Which cloud storage system are you using? (eg Google Drive)

Dropbox

The command you were trying to run (eg rclone copy /tmp remote:tmp)

rclone mount remote: /path/to/mount --allow-non-empty --cache-db-purge --allow-other --vfs-cache-mode full --vfs-cache-max-age 5m --cache-dir /path/.cache/rclone --daemon

The rclone config contents with secrets removed.

[remote]
type = dropbox
app_key = 
app_secret = 
token = secret

A log from the command with the -vv flag

2021/07/21 23:12:07 DEBUG : Creating backend with remote remote:
2021/07/21 23:12:07 DEBUG : Using config file from "/home/ubuntu/.config/rclone/rclone.conf"
2021/07/21 23:12:08 DEBUG : vfs cache: root is "/path/.cache/rclone/vfs/db/remote"
2021/07/21 23:12:08 DEBUG : vfs cache: metadata root is "/path/.cache/rclone/vfs/db/remote"
2021/07/21 23:12:08 DEBUG : Creating backend with remote "/path/.cache/rclone/vfs/db/remote"
2021/07/21 23:12:08 DEBUG : Dropbox root 'remote': Mounting on "/path/mount/mountpath"
2021/07/21 23:12:08 INFO  : vfs cache: cleaned: objects 0 (was 0) in use 0, to upload 0, uploading 0, total size 0 (was 0)
2021/07/21 23:12:08 DEBUG : : Root:
2021/07/21 23:12:08 DEBUG : : >Root: node=/, err=<nil>

hi,
i do not know what is going on with that error but wanted to point out, that given your config,
--cache-db-purge does nothing and can be removed.

I can replicate this. Can you open a new issue on Github and we'll fix and put it in 1.56.1 - thanks!

I created #5472