AlistGo/alist · error

invalid block size from prepare

Error message

invalid block size from prepare

What it means

Error "invalid block size from prepare" thrown in AlistGo/alist.

Source

Thrown at drivers/doubao_new/driver.go:230

		return errors.New("missing object token")
	}
	return d.removeObj(ctx, []string{token})
}

func (d *DoubaoNew) Put(ctx context.Context, dstDir model.Obj, file model.FileStreamer, up driver.UpdateProgress) (model.Obj, error) {
	if file == nil {
		return nil, errors.New("nil file")
	}
	if file.GetSize() <= 0 {
		return nil, errors.New("invalid file size")
	}

	uploadPrep, err := d.prepareUpload(ctx, file.GetName(), file.GetSize(), dstDir.GetID())
	if err != nil {
		return nil, err
	}
	if uploadPrep.BlockSize <= 0 {
		return nil, errors.New("invalid block size from prepare")
	}

	tmpFile, err := file.CacheFullInTempFile()
	if err != nil {
		return nil, err
	}
	defer tmpFile.Close()

	blockSize := uploadPrep.BlockSize
	totalSize := file.GetSize()
	numBlocks := int((totalSize + blockSize - 1) / blockSize)
	blocks := make([]UploadBlock, 0, numBlocks)
	blockMeta := make(map[int]UploadBlock, numBlocks)

	for seq := 0; seq < numBlocks; seq++ {
		offset := int64(seq) * blockSize
		length := blockSize
		if remain := totalSize - offset; remain < length {

View on GitHub (pinned to 843d9dc814)

Solutions

  1. Check the storage configuration and the provider's service status, fix the indicated cause, and retry the operation.

When it happens

Trigger: Thrown at drivers/doubao_new/driver.go:230 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/fc6ac6356d5d8791. Report an issue: GitHub.