AlistGo/alist · error

complete upload of %s timed out while the server was merging

Error message

complete upload of %s timed out while the server was merging the slices

What it means

Error "complete upload of %s timed out while the server was merging the slices" thrown in AlistGo/alist.

Source

Thrown at drivers/123_open/upload.go:166

		switch {
		case err != nil:
			lastErr = err
		case res.Completed && res.FileID != 0:
			up(100)
			return uploadedObj(res.FileID, file, etag), nil
		default:
			lastErr = nil
		}
		select {
		case <-ctx.Done():
			return nil, ctx.Err()
		case <-time.After(completePollInterval):
		}
	}
	if lastErr != nil {
		return nil, fmt.Errorf("complete upload of %s failed: %w", file.GetName(), lastErr)
	}
	return nil, fmt.Errorf("complete upload of %s timed out while the server was merging the slices", file.GetName())
}

// uploadedObj describes the file the server created for an upload.
func uploadedObj(fileID int64, file model.FileStreamer, etag string) model.Obj {
	return &model.Object{
		ID:       strconv.FormatInt(fileID, 10),
		Name:     file.GetName(),
		Size:     file.GetSize(),
		Modified: time.Now(),
		Ctime:    time.Now(),
		HashInfo: utils.NewHashInfo(utils.MD5, etag),
	}
}

// uploadProgress accumulates the bytes uploaded by all concurrent slices and
// forwards the overall percentage. Reporting is serialized because the callback
// is not required to be safe for concurrent use.
type uploadProgress struct {

View on GitHub (pinned to 843d9dc814)

Solutions

  1. Retry the operation; if it persists, check network connectivity and the provider's service status, or increase the timeout.

When it happens

Trigger: Thrown at drivers/123_open/upload.go:166 when the library encounters an invalid state.

Common situations: See trigger scenarios.

Understand the failure class


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