Skip to content

Immediate runtime error when using MD5 to compare hash on FAT32/exFAT formatted drives #3221

@WillBassett-Marquis

Description

@WillBassett-Marquis

Which version of the AzCopy was used?

10.30.1

Which platform are you using? (ex: Windows, Mac, Linux)

Windows 11

What command did you run?

azcopy sync "D:\HashingTest" $MyAzureDest --put-md5 --compare-hash=MD5 --delete-destination=false

What problem was encountered?

azcopy sync "D:\HashingTest" $MyAzureDest --put-md5 --compare-hash=MD5 --delete-destination=false
WARN: AzCopy sync is supported but not fully recommended for Azure Files. AzCopy sync doesn't support differential copies at scale, and some file fidelity might be lost.
azcopy : panic: runtime error: invalid memory address or nil pointer dereference
At line:3 char:1
+ azcopy sync "D:\HashingTest" $MyAzureDest --put-md5 --compare-hash=MD ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (panic: runtime ...ter dereference:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError
 
[signal 0xc0000005 code=0x0 addr=0x8 pc=0x13b2d32]
goroutine 1 [running]:
github.com/Azure/azure-storage-azcopy/v10/cmd.(*localTraverser).IsDirectory(0x0?, 0x0?)
	D:/a/_work/1/s/cmd/zc_traverser_local.go:62 +0x12
github.com/Azure/azure-storage-azcopy/v10/cmd.(*cookedSyncCmdArgs).initEnumerator(0xc0003c8e08, {0x1bce7d0, 0xc000236000})
	D:/a/_work/1/s/cmd/syncEnumerator.go:136 +0xa97
github.com/Azure/azure-storage-azcopy/v10/cmd.(*cookedSyncCmdArgs).process(0xc0003c8e08)
	D:/a/_work/1/s/cmd/sync.go:785 +0x60f
github.com/Azure/azure-storage-azcopy/v10/cmd.init.20.func2(0xc0003c7808, {0xc0003cc4b0?, 0x2?, 0x194d5d8?})
	D:/a/_work/1/s/cmd/sync.go:840 +0x2eb
github.com/spf13/cobra.(*Command).execute(0xc0003c7808, {0xc0003cc460, 0x5, 0x5})
	C:/Users/cloudtest/go/pkg/mod/github.com/spf13/[email protected]/command.go:989 +0xabb
github.com/spf13/cobra.(*Command).ExecuteC(0x29aa2a0)
	C:/Users/cloudtest/go/pkg/mod/github.com/spf13/[email protected]/command.go:1117 +0x44f
github.com/spf13/cobra.(*Command).Execute(...)
	C:/Users/cloudtest/go/pkg/mod/github.com/spf13/[email protected]/command.go:1041
github.com/Azure/azure-storage-azcopy/v10/cmd.InitializeAndExecute()
	D:/a/_work/1/s/cmd/root.go:274 +0x1e
main.main()
	D:/a/_work/1/s/main.go:37 +0x2f

How can we reproduce the problem in the simplest way?

Have a usb/external drive that is formatted in FAT32/exFAT and use the "--compare-hash=MD5" option with the sync command. Error is encountered immediately regardless of the number of files. I tested and reproduced with a single file and folder.

Have you found a mitigation/solution?

Stop using the flag "--compare-hash=MD5" or use a drive formatted with NTFS.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions