AlistGo/alist · error

failed to copy blob [%s]: %w

Error message

failed to copy blob [%s]: %w

What it means

Error "failed to copy blob [%s]: %w" thrown in AlistGo/alist.

Source

Thrown at drivers/azure_blob/util.go:294

		if err != nil {
			return fmt.Errorf("failed to list blobs: %w", err)
		}

		// Iterate and copy each blob to the destination
		for _, item := range blobs {
			srcBlobName := *item.Name
			relPath := strings.TrimPrefix(srcBlobName, srcPath)
			itemDstPath := path.Join(dstPath, relPath)

			if isDirectory(item) {
				// Create directory marker at destination
				if err := d.mkDir(ctx, itemDstPath); err != nil {
					return fmt.Errorf("failed to create directory marker [%s]: %w", itemDstPath, err)
				}
			} else {
				// Copy file blob to destination
				if err := d.copyFile(ctx, srcBlobName, itemDstPath); err != nil {
					return fmt.Errorf("failed to copy blob [%s]: %w", srcBlobName, err)
				}
			}
		}

		// Handle empty directories by creating a marker at destination
		if len(blobs) == 0 {
			if err := d.mkDir(ctx, dstPath); err != nil {
				return fmt.Errorf("failed to create directory [%s]: %w", dstPath, err)
			}
		}

		// Delete source directory and its contents
		if err := d.deleteFolder(ctx, srcPath); err != nil {
			log.Warnf("failed to delete source directory [%s]: %v\n, and try again", srcPath, err)
			// Retry deletion once more and ignore the result
			if err := d.deleteFolder(ctx, srcPath); err != nil {
				log.Errorf("Retry deletion of source directory [%s] failed: %v", srcPath, err)
			}

View on GitHub (pinned to 843d9dc814)

Solutions

  1. Inspect the underlying error details in the message, fix the indicated cause (credentials, network, or provider-side failure), and retry.

When it happens

Trigger: Thrown at drivers/azure_blob/util.go:294 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of AlistGo/alist@843d9dc814 (2026-08-15). Data as JSON: /api/errors/a9f471c3785a9830. Report an issue: GitHub.