Billionmail/BillionMail · error

mountpoint not exists

Error message

mountpoint not exists

What it means

Guard in RetrieveMountpointByUser: a mountpoint was derived from the user's home directory (prefix before '/home/', defaulting to '/'), but FileExists reports that path does not exist on disk. The computed storage root is therefore invalid and the function returns an error instead of a bogus path.

Source

Thrown at core/internal/service/public/common.go:1389

		return
	}

	// Get home directory
	homepath := userInfo.HomeDir
	if !strings.Contains(homepath, "/home/") {
		err = errors.New("specified user not valid")
		return
	}

	// Use /home/ to split home directory, take the first part as mountpoint
	mountpoint = strings.Split(homepath, "/home/")[0]

	if mountpoint == "" {
		mountpoint = "/"
	}

	if !FileExists(mountpoint) {
		err = errors.New("mountpoint not exists")
		return
	}

	return
}

// Get current username
func GetUserName(ctx context.Context) string {
	val := GetSession(ctx, "username", "www")
	if val == nil {
		return "www"
	}
	return val.(string)
}

// Get UID and GID of a specified user
func GetUidAndGid(username string) (int, int) {
	userInfo, err := user.Lookup(username)

View on GitHub (pinned to fc36c76c05)

Solutions

  1. Check whether the derived mountpoint path was unmounted or deleted on the host
  2. Verify filesystem mounting at boot (fstab entries) for the volume in question
  3. Handle the '/' default case explicitly if the storage root is legitimately elsewhere
  4. Retry after restoring the mount, since the path may reappear once mounted
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at core/internal/service/public/common.go:1389 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of Billionmail/BillionMail@fc36c76c05 (2026-09-05). Data as JSON: /api/errors/d911943e18a87553. Report an issue: GitHub.