Some issues with mount to Azure Blob on Windows

What is the problem you are having with rclone?

If I do not set caching I get the following errors when pasting a file to the mounted drive folder:

2021/08/19 09:53:29 ERROR : files/File 6.txt: WriteFileHandle: Truncate: Can't change size without --vfs-cache-mode >= writes
2021/08/19 09:53:29 ERROR : files/File 6.txt: WriteFileHandle: Can't open for write without O_TRUNC on existing file without --vfs-cache-mode >= writes
2021/08/19 09:53:29 ERROR : files/File 6.txt: WriteFileHandle: Can't open for write without O_TRUNC on existing file without --vfs-cache-mode >= writes
2021/08/19 09:53:29 ERROR : files/File 6.txt: WriteFileHandle: Truncate: Can't change size without --vfs-cache-mode >= writes
2021/08/19 09:53:29 ERROR : files/File 6.txt: WriteFileHandle: ReadAt: Can't read and write to file without --vfs-cache-mode >= minimal

However with the very small text files I am testing with, it appears that the files are saving fine and appearing in tact in the blob store.

If I use the --vfs-cache-mode with minimal or full I no longer get these errors but I find I am not able to save the files after editing them, nor can I overwrite them. I see that the permissions on the files have been set set so I am not able to.

Another issue I have is that the mount is created with a subfolder with the name of the container and the files can be found in there. I can live with this but if I mistakenly save a file to the root of the mount rclone crashes with the following error:

panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x0 addr=0x18 pc=0xa7081b]

goroutine 14 [running]:
github.com/Azure/azure-storage-blob-go/azblob.blockBlobClient.CommitBlockList(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc00003c810, 0x17, 0x0, ...)
        github.com/Azure/azure-storage-blob-go@v0.13.0/azblob/zz_generated_block_blob.go:82 +0x4fb
github.com/Azure/azure-storage-blob-go/azblob.BlockBlobURL.CommitBlockList(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc00003c810, 0x17, 0x0, ...)
        github.com/Azure/azure-storage-blob-go@v0.13.0/azblob/url_block_blob.go:120 +0x357
github.com/Azure/azure-storage-blob-go/azblob.(*copier).close(0xc000390000, 0xc000074110, 0x223a400)
        github.com/Azure/azure-storage-blob-go@v0.13.0/azblob/chunkwriting.go:185 +0x228
github.com/Azure/azure-storage-blob-go/azblob.copyFromReader(0x226db68, 0xc000034058, 0x223bac0, 0xc00026e500, 0x2256b70, 0xc0004a6280, 0x226de78, 0xc000005d40, 0x0, 0x400000, ...)
        github.com/Azure/azure-storage-blob-go@v0.13.0/azblob/chunkwriting.go:63 +0x2e6
github.com/Azure/azure-storage-blob-go/azblob.UploadStreamToBlockBlob(0x226db68, 0xc000034058, 0x223bac0, 0xc00026e500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
        github.com/Azure/azure-storage-blob-go@v0.13.0/azblob/highlevel.go:553 +0x198
github.com/rclone/rclone/backend/azureblob.(*Object).Update.func1(0x2030000, 0x20, 0x22003a6)
        github.com/rclone/rclone/backend/azureblob/azureblob.go:1634 +0x538
github.com/rclone/rclone/fs.pacerInvoker(0x1, 0x1, 0xc0000184b0, 0x0, 0xc000559560, 0x41027f)
        github.com/rclone/rclone/fs/pacer.go:88 +0x43
github.com/rclone/rclone/lib/pacer.(*Pacer).call(0xc0002800c0, 0xc0000184b0, 0x1, 0xc000526080, 0x20)
        github.com/rclone/rclone/lib/pacer/pacer.go:197 +0x92
github.com/rclone/rclone/lib/pacer.(*Pacer).CallNoRetry(...)
        github.com/rclone/rclone/lib/pacer/pacer.go:225
github.com/rclone/rclone/backend/azureblob.(*Object).Update(0xc000342380, 0x226db68, 0xc000034058, 0x223bac0, 0xc00026e500, 0x2c8f8a58, 0xc0002560c0, 0xc000413b80, 0x1, 0x1, ...)
        github.com/rclone/rclone/backend/azureblob/azureblob.go:1631 +0x6c5
github.com/rclone/rclone/backend/azureblob.(*Fs).Put(0xc0004b4000, 0x226db68, 0xc000034058, 0x223bac0, 0xc00026e500, 0x2c8f8a58, 0xc0002560c0, 0xc000413b80, 0x1, 0x1, ...)
        github.com/rclone/rclone/backend/azureblob/azureblob.go:1101 +0x125
github.com/rclone/rclone/fs/operations.Copy(0x226db68, 0xc000034058, 0x2283778, 0xc0004b4000, 0x0, 0x0, 0xc000504720, 0x15, 0x2285ca8, 0xc0002560c0, ...)
        github.com/rclone/rclone/fs/operations/operations.go:472 +0x19ad
github.com/rclone/rclone/fs/operations.Rcat(0x226db68, 0xc000034058, 0x2283778, 0xc0004b4000, 0xc000504720, 0x15, 0x2255e28, 0xc0004a4068, 0xc03fedbf9b80f910, 0x6a6830675, ...)
        github.com/rclone/rclone/fs/operations/operations.go:1255 +0x6f4
github.com/rclone/rclone/vfs.(*WriteFileHandle).openPending.func1(0xc0008e2080, 0xc0004a4068)
        github.com/rclone/rclone/vfs/write.go:71 +0x10b
created by github.com/rclone/rclone/vfs.(*WriteFileHandle).openPending
        github.com/rclone/rclone/vfs/write.go:69 +0x18f

What is your rclone version (output from rclone version)

v1.56.0

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

Windows 10 64bit

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

Azure Blob Storage, connecting to a container via a SASURL

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

./rclone mount remote: X:

The rclone config contents with secrets removed.

[remote]
type = azureblob
sas_url = <SAS URL with full Read, Write, List etc. permissions to my blob container>

A log from the command with the -vv flag

Hopefully the pasted errors make this unnecessary?

The program/application you are using requires writes or higher. If you have an issue, you'd have to add -vv to your command and replicate / share the full debug log.

Same thing. Can you add -vv and share the full debug log / steps to recreate the issue.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.