juicedata/juicefs · error

DumpMeta error: %v

Error message

DumpMeta error: %v

What it means

Set by dbMeta.DumpMeta's deferred recover when the dump panics and the recovered value is not an error. It converts an unexpected crash during metadata export into a returned error, preserving the stack in the log.

Source

Thrown at pkg/meta/sql.go:4924

		m.aclCache.Put(a.Id, a.toRule())
		bar.Increment()
		return nil
	}); err != nil {
		return err
	}

	m.snap = snap
	return nil
}

func (m *dbMeta) DumpMeta(w io.Writer, root Ino, threads int, keepSecret, fast, skipTrash bool) (err error) {
	defer func() {
		if p := recover(); p != nil {
			debug.PrintStack()
			if e, ok := p.(error); ok {
				err = e
			} else {
				err = fmt.Errorf("DumpMeta error: %v", p)
			}
		}
	}()

	progress := utils.NewProgress(false)
	defer progress.Done()
	var tree, trash *DumpedEntry
	root = m.checkRoot(root)
	return m.roTxn(Background(), func(s *xorm.Session) error {
		var lastChangelog int64
		if m.getFormat().ChangeLog {
			var maxLog changeLog
			if ok, _ := s.Desc("id").Limit(1).Get(&maxLog); ok {
				lastChangelog = maxLog.Id
			}
		}
		if root == RootInode && fast {
			defer func() { m.snap = nil }()

View on GitHub (pinned to c9a67b23e8)

Solutions

  1. Check the logged stack trace for the panic origin
  2. Report recurring dump panics to JuiceFS maintainers with the stack
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at pkg/meta/sql.go:4924 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of juicedata/juicefs@c9a67b23e8 (2026-09-06). Data as JSON: /api/errors/cc2ffc4e77a7d7c2. Report an issue: GitHub.