Thanks to visit codestin.com
Credit goes to Github.com

Skip to content

Conversation

@sohankunkerkar
Copy link
Member

@sohankunkerkar sohankunkerkar commented Nov 3, 2025

Migrate from unmaintained json-iterator/go to actively maintained goccy/go-json to fix concurrent map panic (issue #9419).

What type of PR is this?

/kind dependency-change

What this PR does / why we need it:

Fixes #9419

Which issue(s) this PR fixes:

Special notes for your reviewer:

Does this PR introduce a user-facing change?

None

Summary by CodeRabbit

  • Dependencies

    • Switched JSON backend to goccy/go-json v0.10.5.
  • New Features

    • Replaced JSON implementation project-wide.
    • Added faster, streaming-capable marshal/unmarshal with context-aware variants.
    • New JSON utilities: Compact, Indent, HTMLEscape, Path extraction, and Field-query filtering.
    • Encoding options: pretty-print, colorize, debug output and improved error messages.
  • Notes

    • Public APIs in existing components remain unchanged.

✏️ Tip: You can customize this high-level summary in your review settings.

@openshift-ci openshift-ci bot added release-note-none Denotes a PR that doesn't merit a release note. dco-signoff: yes Indicates the PR's author has DCO signed all their commits. kind/dependency-change Categorizes issue or PR as related to changing dependencies labels Nov 3, 2025
@openshift-ci openshift-ci bot requested review from hasan4791 and klihub November 3, 2025 18:03
@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Nov 3, 2025
@codecov
Copy link

codecov bot commented Nov 3, 2025

Codecov Report

❌ Patch coverage is 0% with 6 lines in your changes missing coverage. Please review.
✅ Project coverage is 67.32%. Comparing base (44f68df) to head (975080c).
⚠️ Report is 3 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #9566      +/-   ##
==========================================
+ Coverage   67.29%   67.32%   +0.02%     
==========================================
  Files         209      209              
  Lines       29055    29052       -3     
==========================================
+ Hits        19554    19560       +6     
+ Misses       7814     7803      -11     
- Partials     1687     1689       +2     
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Member

@saschagrunert saschagrunert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code LGTM, pulls in many additional files into vendor. Maybe we could try to get rid of the indirect github.com/json-iterator/go v1.1.12 dep in the future.

/hold

for more eyes on this.

@openshift-ci openshift-ci bot added do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. lgtm Indicates that a PR is ready to be merged. labels Nov 4, 2025
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 4, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: saschagrunert, sohankunkerkar

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:
  • OWNERS [saschagrunert,sohankunkerkar]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@bitoku
Copy link
Contributor

bitoku commented Nov 7, 2025

/lgtm
I'd like to use encoding/json/v2 in the end, but it's still experimental. +1 to use that library.
https://pkg.go.dev/encoding/json/v2

@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Nov 30, 2025
@bitoku
Copy link
Contributor

bitoku commented Dec 11, 2025

It needs rebase.

Copilot AI review requested due to automatic review settings December 11, 2025 17:25
@openshift-ci openshift-ci bot removed the lgtm Indicates that a PR is ready to be merged. label Dec 11, 2025
@coderabbitai
Copy link

coderabbitai bot commented Dec 11, 2025

Walkthrough

Replaces json-iterator with github.com/goccy/go-json v0.10.5, updates imports and a few call sites to use the vendored go-json API, and adds the full vendored go-json implementation and ancillary files into vendor/.

Changes

Cohort / File(s) Summary
Manifests
go.mod, vendor/modules.txt
Add github.com/goccy/go-json v0.10.5; remove direct github.com/json-iterator/go require; update vendor module entries.
Import switch (multiple packages)
internal/..., server/..., scripts/release/release_test.go
Replace import alias json "github.com/json-iterator/go" with json "github.com/goccy/go-json" across many files; no other logic changes.
Seccomp JSON changes
internal/config/seccomp/seccomp.go, internal/config/seccomp/notifier.go
Switch JSON implementation and change one marshal call from MarshalToString to json.Marshal (uses bytes) and adjust logging accordingly.
Encoder usage change
internal/storage/image.go
Replace streaming json-iterator writes with json.NewEncoder(...).Encode(item) using the vendored encoder.
Vendored library (large)
vendor/github.com/goccy/go-json/...
Add full goccy/go-json v0.10.5 source tree: encoder/decoder, vm variants, runtime helpers, errors, high-level json API (Marshal/Unmarshal/Compact/Indent/Path/Option/Query), build/tooling/config/docs/LICENSE/CHANGELOG, and related files.
Vendor config & docs
vendor/github.com/goccy/go-json/.codecov.yml, .golangci.yml, .gitignore, Makefile, README.md, LICENSE, CHANGELOG.md, docker-compose.yml
Add CI/lint configs, makefile, docs, license, and other ancillary files for the vendored library.

Estimated code review effort

🎯 5 (Critical) | ⏱️ ~120 minutes

Areas to review closely:

  • internal/storage/image.go — verify Encoder.Encode behavior (newline, streaming semantics) matches previous streaming write behavior and error handling.
  • internal/config/seccomp/seccomp.go — confirm Marshal bytes vs previous string use and logging expectations.
  • Integration points that rely on json semantics: json.Number, Unmarshal/Marshal hooks, DisallowUnknownFields, UseNumber, and any subtle differences in escaping/encoding.
  • Vendored code: licensing, build tags, linkname usage, global caches and concurrency guards (encoder/decoder compile caches), and overall ABI/symbol footprint.
  • Tests and CI: ensure vendored package compiles under supported Go versions and build tags (race, go1.x).

Suggested labels

lgtm, kind/other

Suggested reviewers

  • mrunalp
  • klihub
  • hasan4791

Poem

"I hop through code and nibble logs,
Swapped iterators for a new JSON bog.
Vendored roots and opcodes bloom,
Encoders sing inside the room.
A rabbit claps — the parsers zoom!"

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 8.44% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title clearly and concisely describes the main change: replacing json-iterator/go with goccy/go-json across the codebase.
Linked Issues check ✅ Passed The PR directly addresses issue #9419 by replacing json-iterator/go with goccy/go-json to fix concurrent map panic issues in the JSON library.
Out of Scope Changes check ✅ Passed All changes are scoped to the JSON library migration: go.mod updates, import replacements, and vendor directory additions for goccy/go-json. No unrelated code changes detected.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3cead51 and 975080c.

⛔ Files ignored due to path filters (1)
  • go.sum is excluded by !**/*.sum
📒 Files selected for processing (7)
  • go.mod
  • internal/config/seccomp/seccomp.go
  • internal/oci/container.go
  • internal/oci/runtime_oci.go
  • internal/storage/image.go
  • server/image_status.go
  • vendor/modules.txt
🚧 Files skipped from review as they are similar to previous changes (6)
  • internal/storage/image.go
  • internal/oci/runtime_oci.go
  • internal/config/seccomp/seccomp.go
  • internal/oci/container.go
  • vendor/modules.txt
  • go.mod
🧰 Additional context used
📓 Path-based instructions (1)
**/*.go

📄 CodeRabbit inference engine (AGENTS.md)

**/*.go: Use interface-based design and dependency injection patterns in Go code
Propagate context.Context through function calls in Go code
Use fmt.Errorf with %w for error wrapping in Go code
Use logrus with structured fields for logging in Go code
Add comments explaining 'why' not 'what' in Go code
Use platform-specific file naming: *_{linux,freebsd}.go for platform-dependent code

Files:

  • server/image_status.go
🧠 Learnings (2)
📚 Learning: 2025-12-17T13:38:34.646Z
Learnt from: bitoku
Repo: cri-o/cri-o PR: 9667
File: server/container_create.go:1233-1236
Timestamp: 2025-12-17T13:38:34.646Z
Learning: In the cri-o/cri-o repository, protobuf-generated Get* methods for k8s.io/cri-api types are nil-safe: if the receiver is nil, GetX() returns the zero value instead of panicking. Do not add explicit nil checks before chaining calls on such getters. Apply this guidance to all Go code that uses these generated getters across the codebase.

Applied to files:

  • server/image_status.go
📚 Learning: 2025-12-18T13:28:24.244Z
Learnt from: bitoku
Repo: cri-o/cri-o PR: 9676
File: internal/lib/stats/cgroup_stats_unsupported.go:1-7
Timestamp: 2025-12-18T13:28:24.244Z
Learning: In the cri-o/cri-o repository, for platform-specific types guarded by Go build tags (for example //go:build !linux), implement empty structs for unsupported platforms to permit compilation and clearly indicate the feature is not available rather than mirroring the Linux struct with unpopulated fields. Apply this pattern to all relevant platform-specific files across the codebase (i.e., any file under build-taged sections that should compile on all targets but lacks full implementation for some platforms).

Applied to files:

  • server/image_status.go
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (31)
  • GitHub Check: rpm-build:fedora-rawhide-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:centos-stream-9-aarch64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-rawhide-aarch64:fedora-rawhide
  • GitHub Check: rpm-build:centos-stream-9-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-rawhide-aarch64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-43-aarch64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-43-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:centos-stream-9-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-rawhide-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:centos-stream-9-aarch64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-43-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:centos-stream-9-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:centos-stream-9-aarch64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-rawhide-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-43-aarch64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-rawhide-aarch64:fedora-rawhide
  • GitHub Check: build static / arm64
  • GitHub Check: build static / ppc64le
  • GitHub Check: build static / s390x
  • GitHub Check: unit / amd64 / root
  • GitHub Check: unit / amd64 / rootless
  • GitHub Check: build static / amd64
  • GitHub Check: unit / arm64 / root
  • GitHub Check: build
  • GitHub Check: build-freebsd
  • GitHub Check: codeql-build
  • GitHub Check: lint
  • GitHub Check: security-checks
  • GitHub Check: docs
  • GitHub Check: binaries / arm64
  • GitHub Check: binaries / amd64
🔇 Additional comments (2)
server/image_status.go (2)

184-189: Error handling follows guidelines, but the concurrent safety claim is unsubstantiated.

The code correctly uses fmt.Errorf with %w error wrapping per coding guidelines. However, the repository has already migrated to goccy/go-json (confirmed by the import statement).

The critical issue: goccy/go-json also experiences concurrent map access exceptions when multiple goroutines marshal JSON concurrently, just like json-iterator/go. It's not safe to read from a map if another goroutine is writing to it, and JSON marshalling code won't use your synchronization for you.

Issue #9419 is not referenced anywhere in the codebase. Without access to the specific issue, the claim that library replacement alone fixes concurrent map panics cannot be verified. The actual fix requires application-level synchronization (mutexes or copying) around both the data mutations and marshaling operations—not just changing JSON libraries.


10-10: Migration to goccy/go-json v0.10.5 is sound.

Confirmed: v0.10.5 exists in go.mod, no security advisories detected, and the aliased import maintains drop-in compatibility with the previous library. The change addresses the concurrent map panic issue from the unmaintained json-iterator/go library.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@openshift-merge-robot openshift-merge-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Dec 11, 2025
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR migrates from the unmaintained json-iterator/go library to the actively maintained goccy/go-json library to resolve a concurrent map panic issue (#9419). The changes consist entirely of vendored code additions for version 0.10.4 of goccy/go-json. The actual code migration (updating import statements) has already been completed in the main codebase.

  • Added goccy/go-json v0.10.4 as a new dependency
  • Vendored all necessary internal packages for encoding, decoding, runtime, and error handling
  • The library uses generated VM code for different encoding modes (standard, indented, colored, colored+indented)

Reviewed changes

Copilot reviewed 17 out of 100 changed files in this pull request and generated no comments.

Show a summary per file
File Description
vendor/modules.txt Added dependency entry for goccy/go-json v0.10.4 and its internal packages
vendor/github.com/goccy/go-json/*.go Core JSON API files including marshal/unmarshal, paths, queries, and options
vendor/github.com/goccy/go-json/internal/encoder/* Encoder implementation with VM-based code generation for performance
vendor/github.com/goccy/go-json/internal/decoder/* Decoder implementation for parsing JSON
vendor/github.com/goccy/go-json/internal/runtime/* Runtime type introspection and struct field handling
vendor/github.com/goccy/go-json/internal/errors/* Custom error types for JSON operations
vendor/github.com/goccy/go-json/internal/encoder/vm*/* Generated VM code for different encoding modes (plain, indent, color, color+indent)

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

♻️ Duplicate comments (2)
vendor/github.com/goccy/go-json/.codecov.yml (1)

1-32: Development tooling file not needed in vendor directory.

Similar to the docker-compose.yml file, this Codecov configuration is for the library's own CI/CD and is typically not necessary when vendoring.

vendor/github.com/goccy/go-json/.golangci.yml (1)

1-86: Linting configuration not needed in vendor directory.

This golangci-lint configuration is for developing the library itself and is not needed when vendoring the dependency.

🧹 Nitpick comments (2)
vendor/github.com/goccy/go-json/docker-compose.yml (1)

1-13: Consider excluding development tooling files from vendor directory.

This docker-compose.yml file is used for testing the goccy/go-json library itself during development. It's typically not necessary when vendoring a dependency. Consider configuring your vendoring tool to exclude such files (e.g., .yml, .codecov.yml, .golangci.yml, docker-compose.yml) to reduce vendor directory size.

vendor/github.com/goccy/go-json/internal/decoder/compile.go (1)

315-317: Minor: Typo in parameter name.

The parameter strutName should be structName for consistency. However, since this is vendored upstream code, this would need to be fixed in the goccy/go-json repository rather than here.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f6e5b12 and bbac84d.

⛔ Files ignored due to path filters (1)
  • go.sum is excluded by !**/*.sum
📒 Files selected for processing (95)
  • go.mod (2 hunks)
  • internal/config/seccomp/notifier.go (1 hunks)
  • internal/config/seccomp/seccomp.go (2 hunks)
  • internal/criocli/wipe.go (1 hunks)
  • internal/lib/container_server.go (1 hunks)
  • internal/oci/container.go (1 hunks)
  • internal/oci/runtime_oci.go (1 hunks)
  • internal/storage/image.go (2 hunks)
  • internal/storage/runtime.go (1 hunks)
  • internal/version/version.go (1 hunks)
  • scripts/release/release_test.go (1 hunks)
  • server/container_status.go (1 hunks)
  • server/image_status.go (1 hunks)
  • server/inspect.go (1 hunks)
  • server/sandbox_run_freebsd.go (1 hunks)
  • server/sandbox_run_linux.go (1 hunks)
  • server/sandbox_status.go (1 hunks)
  • vendor/github.com/goccy/go-json/.codecov.yml (1 hunks)
  • vendor/github.com/goccy/go-json/.gitignore (1 hunks)
  • vendor/github.com/goccy/go-json/.golangci.yml (1 hunks)
  • vendor/github.com/goccy/go-json/CHANGELOG.md (1 hunks)
  • vendor/github.com/goccy/go-json/LICENSE (1 hunks)
  • vendor/github.com/goccy/go-json/Makefile (1 hunks)
  • vendor/github.com/goccy/go-json/README.md (1 hunks)
  • vendor/github.com/goccy/go-json/color.go (1 hunks)
  • vendor/github.com/goccy/go-json/decode.go (1 hunks)
  • vendor/github.com/goccy/go-json/docker-compose.yml (1 hunks)
  • vendor/github.com/goccy/go-json/encode.go (1 hunks)
  • vendor/github.com/goccy/go-json/error.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/anonymous_field.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/array.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/assign.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/bool.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/bytes.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/compile.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/compile_norace.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/compile_race.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/context.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/float.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/func.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/int.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/interface.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/invalid.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/map.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/number.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/option.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/path.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/ptr.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/slice.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/stream.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/string.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/struct.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/type.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/uint.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/unmarshal_json.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/unmarshal_text.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/wrapped_string.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/code.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/compact.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/compiler.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/compiler_norace.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/compiler_race.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/context.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/decode_rune.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/encoder.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/indent.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/int.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/map112.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/map113.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/opcode.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/option.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/optype.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/query.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/string.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/string_table.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/vm/debug_vm.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/vm/hack.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/vm/util.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/vm_color/debug_vm.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/vm_color/hack.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/vm_color/util.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/vm_color_indent/debug_vm.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/vm_color_indent/util.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/vm_indent/debug_vm.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/vm_indent/hack.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/vm_indent/util.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/errors/error.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/runtime/rtype.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/runtime/struct_field.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/runtime/type.go (1 hunks)
  • vendor/github.com/goccy/go-json/json.go (1 hunks)
  • vendor/github.com/goccy/go-json/option.go (1 hunks)
  • vendor/github.com/goccy/go-json/path.go (1 hunks)
  • vendor/github.com/goccy/go-json/query.go (1 hunks)
  • vendor/modules.txt (1 hunks)
🧰 Additional context used
📓 Path-based instructions (3)
**/*.go

📄 CodeRabbit inference engine (AGENTS.md)

**/*.go: Use interface-based design and dependency injection patterns in Go code
Propagate context.Context through function calls in Go code
Use fmt.Errorf with %w for error wrapping in Go code
Use logrus with structured fields for logging in Go code
Add comments explaining 'why' not 'what' in Go code
Use platform-specific file naming: *_{linux,freebsd}.go for platform-dependent code

Files:

  • server/inspect.go
  • server/container_status.go
  • server/sandbox_run_linux.go
  • internal/oci/runtime_oci.go
  • server/sandbox_status.go
  • vendor/github.com/goccy/go-json/internal/encoder/vm_color_indent/debug_vm.go
  • vendor/github.com/goccy/go-json/internal/encoder/compiler_race.go
  • vendor/github.com/goccy/go-json/internal/encoder/map112.go
  • server/sandbox_run_freebsd.go
  • vendor/github.com/goccy/go-json/internal/decoder/wrapped_string.go
  • vendor/github.com/goccy/go-json/internal/encoder/vm_color/debug_vm.go
  • vendor/github.com/goccy/go-json/internal/encoder/vm/hack.go
  • vendor/github.com/goccy/go-json/internal/decoder/invalid.go
  • vendor/github.com/goccy/go-json/internal/decoder/string.go
  • vendor/github.com/goccy/go-json/internal/encoder/vm_indent/debug_vm.go
  • vendor/github.com/goccy/go-json/internal/decoder/func.go
  • vendor/github.com/goccy/go-json/internal/encoder/vm_indent/util.go
  • vendor/github.com/goccy/go-json/internal/encoder/vm/debug_vm.go
  • internal/config/seccomp/seccomp.go
  • server/image_status.go
  • internal/version/version.go
  • vendor/github.com/goccy/go-json/internal/encoder/compiler_norace.go
  • vendor/github.com/goccy/go-json/internal/decoder/compile_norace.go
  • vendor/github.com/goccy/go-json/internal/decoder/type.go
  • vendor/github.com/goccy/go-json/internal/decoder/option.go
  • vendor/github.com/goccy/go-json/internal/encoder/vm/util.go
  • vendor/github.com/goccy/go-json/internal/decoder/compile_race.go
  • vendor/github.com/goccy/go-json/internal/decoder/context.go
  • vendor/github.com/goccy/go-json/internal/decoder/bool.go
  • vendor/github.com/goccy/go-json/internal/decoder/float.go
  • internal/oci/container.go
  • vendor/github.com/goccy/go-json/query.go
  • vendor/github.com/goccy/go-json/internal/encoder/string.go
  • internal/storage/runtime.go
  • vendor/github.com/goccy/go-json/internal/decoder/unmarshal_text.go
  • scripts/release/release_test.go
  • vendor/github.com/goccy/go-json/internal/encoder/indent.go
  • internal/config/seccomp/notifier.go
  • vendor/github.com/goccy/go-json/internal/encoder/query.go
  • vendor/github.com/goccy/go-json/internal/encoder/option.go
  • vendor/github.com/goccy/go-json/internal/decoder/uint.go
  • vendor/github.com/goccy/go-json/internal/decoder/assign.go
  • vendor/github.com/goccy/go-json/internal/decoder/number.go
  • vendor/github.com/goccy/go-json/internal/encoder/vm_color/hack.go
  • vendor/github.com/goccy/go-json/internal/decoder/bytes.go
  • vendor/github.com/goccy/go-json/internal/encoder/decode_rune.go
  • vendor/github.com/goccy/go-json/internal/runtime/struct_field.go
  • vendor/github.com/goccy/go-json/internal/encoder/context.go
  • vendor/github.com/goccy/go-json/internal/runtime/type.go
  • vendor/github.com/goccy/go-json/color.go
  • vendor/github.com/goccy/go-json/path.go
  • vendor/github.com/goccy/go-json/error.go
  • vendor/github.com/goccy/go-json/internal/decoder/interface.go
  • vendor/github.com/goccy/go-json/internal/decoder/unmarshal_json.go
  • internal/criocli/wipe.go
  • vendor/github.com/goccy/go-json/internal/encoder/vm_indent/hack.go
  • internal/storage/image.go
  • vendor/github.com/goccy/go-json/internal/encoder/optype.go
  • internal/lib/container_server.go
  • vendor/github.com/goccy/go-json/internal/decoder/compile.go
  • vendor/github.com/goccy/go-json/internal/decoder/anonymous_field.go
  • vendor/github.com/goccy/go-json/internal/decoder/map.go
  • vendor/github.com/goccy/go-json/internal/decoder/stream.go
  • vendor/github.com/goccy/go-json/internal/encoder/map113.go
  • vendor/github.com/goccy/go-json/internal/encoder/vm_color_indent/util.go
  • vendor/github.com/goccy/go-json/internal/decoder/ptr.go
  • vendor/github.com/goccy/go-json/json.go
  • vendor/github.com/goccy/go-json/internal/decoder/array.go
  • vendor/github.com/goccy/go-json/internal/encoder/compact.go
  • vendor/github.com/goccy/go-json/option.go
  • vendor/github.com/goccy/go-json/internal/encoder/int.go
  • vendor/github.com/goccy/go-json/internal/decoder/int.go
  • vendor/github.com/goccy/go-json/internal/encoder/string_table.go
  • vendor/github.com/goccy/go-json/encode.go
  • vendor/github.com/goccy/go-json/internal/runtime/rtype.go
  • vendor/github.com/goccy/go-json/decode.go
  • vendor/github.com/goccy/go-json/internal/decoder/struct.go
  • vendor/github.com/goccy/go-json/internal/decoder/slice.go
  • vendor/github.com/goccy/go-json/internal/decoder/path.go
  • vendor/github.com/goccy/go-json/internal/encoder/opcode.go
  • vendor/github.com/goccy/go-json/internal/errors/error.go
  • vendor/github.com/goccy/go-json/internal/encoder/vm_color/util.go
  • vendor/github.com/goccy/go-json/internal/encoder/encoder.go
  • vendor/github.com/goccy/go-json/internal/encoder/compiler.go
  • vendor/github.com/goccy/go-json/internal/encoder/code.go
**/*.md

📄 CodeRabbit inference engine (AGENTS.md)

Edit .md source files for documentation, not generated files

Files:

  • vendor/github.com/goccy/go-json/CHANGELOG.md
  • vendor/github.com/goccy/go-json/README.md
**/*_test.go

📄 CodeRabbit inference engine (AGENTS.md)

Use *_test.go naming convention for unit test files

Files:

  • scripts/release/release_test.go
🧠 Learnings (5)
📚 Learning: 2025-12-03T18:27:19.593Z
Learnt from: CR
Repo: cri-o/cri-o PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-03T18:27:19.593Z
Learning: Applies to **/*.go : Use interface-based design and dependency injection patterns in Go code

Applied to files:

  • server/inspect.go
  • server/sandbox_run_linux.go
📚 Learning: 2025-12-03T18:27:19.593Z
Learnt from: CR
Repo: cri-o/cri-o PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-03T18:27:19.593Z
Learning: Check `internal/version/version.go` for current version and supported versions

Applied to files:

  • server/sandbox_run_linux.go
  • internal/oci/runtime_oci.go
  • internal/oci/container.go
  • go.mod
📚 Learning: 2025-12-03T18:27:19.593Z
Learnt from: CR
Repo: cri-o/cri-o PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-03T18:27:19.593Z
Learning: Check `go.mod` for Go version and dependency requirements

Applied to files:

  • scripts/release/release_test.go
  • vendor/modules.txt
  • go.mod
📚 Learning: 2025-12-03T18:27:19.593Z
Learnt from: CR
Repo: cri-o/cri-o PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-03T18:27:19.593Z
Learning: Applies to **/*.go : Use logrus with structured fields for logging in Go code

Applied to files:

  • scripts/release/release_test.go
  • vendor/github.com/goccy/go-json/internal/runtime/struct_field.go
  • internal/lib/container_server.go
📚 Learning: 2025-12-03T18:27:19.593Z
Learnt from: CR
Repo: cri-o/cri-o PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-03T18:27:19.593Z
Learning: Applies to **/*.go : Propagate context.Context through function calls in Go code

Applied to files:

  • go.mod
🧬 Code graph analysis (38)
vendor/github.com/goccy/go-json/internal/encoder/compiler_race.go (4)
vendor/github.com/goccy/go-json/internal/encoder/compiler_norace.go (1)
  • CompileToGetCodeSet (6-33)
vendor/github.com/goccy/go-json/internal/decoder/context.go (1)
  • RuntimeContext (10-13)
vendor/github.com/goccy/go-json/internal/encoder/context.go (1)
  • RuntimeContext (71-82)
vendor/github.com/goccy/go-json/internal/encoder/encoder.go (1)
  • OpcodeSet (96-107)
vendor/github.com/goccy/go-json/internal/encoder/map112.go (1)
vendor/github.com/goccy/go-json/internal/encoder/map113.go (1)
  • MapIterValue (9-9)
vendor/github.com/goccy/go-json/internal/decoder/wrapped_string.go (5)
vendor/github.com/goccy/go-json/internal/runtime/rtype.go (1)
  • Type (9-9)
vendor/github.com/goccy/go-json/decode.go (1)
  • Decoder (15-17)
vendor/github.com/goccy/go-json/internal/decoder/type.go (1)
  • Decoder (11-15)
vendor/github.com/goccy/go-json/internal/decoder/stream.go (1)
  • Stream (17-29)
vendor/github.com/goccy/go-json/internal/decoder/context.go (1)
  • RuntimeContext (10-13)
vendor/github.com/goccy/go-json/internal/encoder/vm_color/debug_vm.go (4)
vendor/github.com/goccy/go-json/internal/encoder/context.go (1)
  • RuntimeContext (71-82)
vendor/github.com/goccy/go-json/internal/encoder/encoder.go (1)
  • OpcodeSet (96-107)
vendor/github.com/goccy/go-json/internal/encoder/option.go (2)
  • Option (21-27)
  • HTMLEscapeOption (11-11)
vendor/github.com/goccy/go-json/internal/runtime/rtype.go (1)
  • Type (9-9)
vendor/github.com/goccy/go-json/internal/decoder/invalid.go (3)
vendor/github.com/goccy/go-json/internal/runtime/rtype.go (2)
  • Type (9-9)
  • RType2Type (253-253)
vendor/github.com/goccy/go-json/error.go (1)
  • UnmarshalTypeError (33-33)
vendor/github.com/goccy/go-json/internal/errors/error.go (1)
  • UnmarshalTypeError (76-82)
vendor/github.com/goccy/go-json/internal/decoder/func.go (3)
vendor/github.com/goccy/go-json/internal/runtime/rtype.go (2)
  • Type (9-9)
  • RType2Type (253-253)
vendor/github.com/goccy/go-json/internal/decoder/stream.go (1)
  • Stream (17-29)
vendor/github.com/goccy/go-json/internal/errors/error.go (2)
  • UnmarshalTypeError (76-82)
  • ErrInvalidBeginningOfValue (159-164)
internal/config/seccomp/seccomp.go (1)
vendor/github.com/goccy/go-json/internal/encoder/query.go (1)
  • Marshal (10-10)
vendor/github.com/goccy/go-json/internal/decoder/compile_norace.go (4)
vendor/github.com/goccy/go-json/internal/decoder/compile_race.go (1)
  • CompileToGetDecoder (15-38)
vendor/github.com/goccy/go-json/internal/runtime/rtype.go (1)
  • Type (9-9)
vendor/github.com/goccy/go-json/decode.go (1)
  • Decoder (15-17)
vendor/github.com/goccy/go-json/internal/decoder/type.go (1)
  • Decoder (11-15)
vendor/github.com/goccy/go-json/internal/decoder/option.go (2)
vendor/github.com/goccy/go-json/internal/decoder/path.go (1)
  • Path (315-320)
vendor/github.com/goccy/go-json/path.go (1)
  • Path (32-34)
vendor/github.com/goccy/go-json/internal/encoder/vm/util.go (10)
vendor/github.com/goccy/go-json/internal/encoder/int.go (2)
  • AppendInt (80-132)
  • AppendUint (134-176)
vendor/github.com/goccy/go-json/internal/encoder/encoder.go (9)
  • AppendFloat32 (332-344)
  • AppendFloat64 (346-356)
  • AppendNumber (385-396)
  • MapIterInit (300-300)
  • MapIterKey (304-304)
  • MapIterNext (308-308)
  • MapLen (312-312)
  • AppendMarshalJSON (398-449)
  • AppendMarshalText (501-522)
vendor/github.com/goccy/go-json/internal/encoder/map112.go (1)
  • MapIterValue (9-9)
vendor/github.com/goccy/go-json/internal/encoder/map113.go (1)
  • MapIterValue (9-9)
vendor/github.com/goccy/go-json/internal/encoder/optype.go (1)
  • OpType (428-428)
vendor/github.com/goccy/go-json/json.go (1)
  • Number (303-303)
vendor/github.com/goccy/go-json/internal/runtime/type.go (1)
  • SliceHeader (8-12)
vendor/github.com/goccy/go-json/internal/encoder/opcode.go (1)
  • Opcode (30-51)
vendor/github.com/goccy/go-json/internal/decoder/context.go (1)
  • RuntimeContext (10-13)
vendor/github.com/goccy/go-json/internal/encoder/context.go (1)
  • RuntimeContext (71-82)
vendor/github.com/goccy/go-json/internal/decoder/context.go (3)
vendor/github.com/goccy/go-json/internal/decoder/option.go (1)
  • Option (13-17)
vendor/github.com/goccy/go-json/internal/encoder/context.go (3)
  • RuntimeContext (71-82)
  • TakeRuntimeContext (99-101)
  • ReleaseRuntimeContext (103-105)
vendor/github.com/goccy/go-json/internal/errors/error.go (3)
  • ErrExceededMaxDepth (124-129)
  • ErrUnexpectedEndOfJSON (135-140)
  • ErrInvalidCharacter (146-157)
vendor/github.com/goccy/go-json/internal/decoder/bool.go (3)
vendor/github.com/goccy/go-json/internal/decoder/stream.go (1)
  • Stream (17-29)
vendor/github.com/goccy/go-json/internal/errors/error.go (1)
  • ErrUnexpectedEndOfJSON (135-140)
vendor/github.com/goccy/go-json/internal/decoder/context.go (1)
  • RuntimeContext (10-13)
vendor/github.com/goccy/go-json/internal/decoder/float.go (3)
vendor/github.com/goccy/go-json/internal/decoder/stream.go (1)
  • Stream (17-29)
vendor/github.com/goccy/go-json/internal/errors/error.go (2)
  • ErrUnexpectedEndOfJSON (135-140)
  • ErrSyntax (112-114)
vendor/github.com/goccy/go-json/internal/decoder/context.go (1)
  • RuntimeContext (10-13)
vendor/github.com/goccy/go-json/internal/encoder/string.go (4)
vendor/github.com/goccy/go-json/internal/runtime/type.go (1)
  • SliceHeader (8-12)
vendor/github.com/goccy/go-json/internal/decoder/context.go (1)
  • RuntimeContext (10-13)
vendor/github.com/goccy/go-json/internal/encoder/context.go (1)
  • RuntimeContext (71-82)
vendor/github.com/goccy/go-json/internal/encoder/option.go (3)
  • Option (21-27)
  • HTMLEscapeOption (11-11)
  • NormalizeUTF8Option (17-17)
vendor/github.com/goccy/go-json/internal/encoder/query.go (2)
vendor/github.com/goccy/go-json/query.go (4)
  • FieldQuery (11-11)
  • FieldQueryString (12-12)
  • FieldQueryFromContext (17-17)
  • SetFieldQueryToContext (19-19)
vendor/github.com/goccy/go-json/json.go (2)
  • Marshal (169-171)
  • Unmarshal (273-275)
vendor/github.com/goccy/go-json/internal/encoder/option.go (1)
vendor/github.com/goccy/go-json/color.go (1)
  • ColorScheme (11-11)
vendor/github.com/goccy/go-json/internal/decoder/uint.go (4)
vendor/github.com/goccy/go-json/internal/runtime/rtype.go (2)
  • Type (9-9)
  • RType2Type (253-253)
vendor/github.com/goccy/go-json/internal/errors/error.go (2)
  • UnmarshalTypeError (76-82)
  • ErrUnexpectedEndOfJSON (135-140)
vendor/github.com/goccy/go-json/internal/decoder/stream.go (1)
  • Stream (17-29)
vendor/github.com/goccy/go-json/internal/decoder/context.go (1)
  • RuntimeContext (10-13)
vendor/github.com/goccy/go-json/internal/decoder/bytes.go (6)
vendor/github.com/goccy/go-json/internal/runtime/rtype.go (3)
  • Type (9-9)
  • PtrTo (241-241)
  • RType2Type (253-253)
vendor/github.com/goccy/go-json/decode.go (1)
  • Decoder (15-17)
vendor/github.com/goccy/go-json/internal/decoder/type.go (1)
  • Decoder (11-15)
vendor/github.com/goccy/go-json/internal/decoder/stream.go (1)
  • Stream (17-29)
vendor/github.com/goccy/go-json/internal/decoder/context.go (1)
  • RuntimeContext (10-13)
vendor/github.com/goccy/go-json/internal/errors/error.go (1)
  • UnmarshalTypeError (76-82)
vendor/github.com/goccy/go-json/internal/runtime/type.go (1)
vendor/github.com/goccy/go-json/internal/runtime/rtype.go (1)
  • Type (9-9)
vendor/github.com/goccy/go-json/color.go (1)
vendor/github.com/goccy/go-json/internal/encoder/option.go (2)
  • ColorFormat (47-47)
  • ColorScheme (46-46)
vendor/github.com/goccy/go-json/path.go (4)
vendor/github.com/goccy/go-json/internal/decoder/path.go (4)
  • Path (315-320)
  • PathString (12-12)
  • SingleQuotePathSelector (311-311)
  • DoubleQuotePathSelector (312-312)
vendor/github.com/goccy/go-json/option.go (1)
  • DecodeOptionFunc (67-67)
vendor/github.com/goccy/go-json/json.go (1)
  • Unmarshal (273-275)
vendor/github.com/goccy/go-json/internal/decoder/assign.go (1)
  • AssignValue (13-23)
vendor/github.com/goccy/go-json/error.go (1)
vendor/github.com/goccy/go-json/internal/errors/error.go (9)
  • InvalidUTF8Error (9-11)
  • InvalidUnmarshalError (17-19)
  • MarshalerError (33-37)
  • SyntaxError (51-54)
  • UnmarshalFieldError (62-66)
  • UnmarshalTypeError (76-82)
  • UnsupportedTypeError (95-97)
  • UnsupportedValueError (103-106)
  • PathError (166-168)
internal/storage/image.go (1)
vendor/github.com/goccy/go-json/encode.go (1)
  • NewEncoder (26-28)
vendor/github.com/goccy/go-json/internal/decoder/anonymous_field.go (5)
vendor/github.com/goccy/go-json/internal/runtime/rtype.go (1)
  • Type (9-9)
vendor/github.com/goccy/go-json/decode.go (1)
  • Decoder (15-17)
vendor/github.com/goccy/go-json/internal/decoder/type.go (1)
  • Decoder (11-15)
vendor/github.com/goccy/go-json/internal/decoder/stream.go (1)
  • Stream (17-29)
vendor/github.com/goccy/go-json/internal/decoder/context.go (1)
  • RuntimeContext (10-13)
vendor/github.com/goccy/go-json/internal/decoder/stream.go (1)
vendor/github.com/goccy/go-json/internal/errors/error.go (3)
  • ErrInvalidCharacter (146-157)
  • ErrExceededMaxDepth (124-129)
  • ErrUnexpectedEndOfJSON (135-140)
vendor/github.com/goccy/go-json/internal/encoder/map113.go (1)
vendor/github.com/goccy/go-json/internal/encoder/map112.go (1)
  • MapIterValue (9-9)
vendor/github.com/goccy/go-json/internal/encoder/vm_color_indent/util.go (10)
vendor/github.com/goccy/go-json/internal/encoder/encoder.go (2)
  • AppendIndent (573-580)
  • AppendStructEndIndent (563-571)
vendor/github.com/goccy/go-json/internal/encoder/map112.go (1)
  • MapIterValue (9-9)
vendor/github.com/goccy/go-json/internal/encoder/map113.go (1)
  • MapIterValue (9-9)
vendor/github.com/goccy/go-json/json.go (2)
  • Number (303-303)
  • Indent (330-332)
vendor/github.com/goccy/go-json/internal/runtime/type.go (1)
  • SliceHeader (8-12)
vendor/github.com/goccy/go-json/internal/encoder/opcode.go (1)
  • Opcode (30-51)
vendor/github.com/goccy/go-json/internal/decoder/context.go (1)
  • RuntimeContext (10-13)
vendor/github.com/goccy/go-json/internal/decoder/option.go (1)
  • Option (13-17)
vendor/github.com/goccy/go-json/internal/encoder/option.go (2)
  • Option (21-27)
  • ColorScheme (46-46)
vendor/github.com/goccy/go-json/internal/encoder/int.go (2)
  • AppendInt (80-132)
  • AppendUint (134-176)
vendor/github.com/goccy/go-json/internal/decoder/ptr.go (4)
vendor/github.com/goccy/go-json/decode.go (1)
  • Decoder (15-17)
vendor/github.com/goccy/go-json/internal/decoder/type.go (1)
  • Decoder (11-15)
vendor/github.com/goccy/go-json/internal/decoder/stream.go (1)
  • Stream (17-29)
vendor/github.com/goccy/go-json/internal/decoder/context.go (1)
  • RuntimeContext (10-13)
vendor/github.com/goccy/go-json/internal/decoder/array.go (4)
vendor/github.com/goccy/go-json/internal/runtime/rtype.go (1)
  • Type (9-9)
vendor/github.com/goccy/go-json/internal/decoder/type.go (1)
  • Decoder (11-15)
vendor/github.com/goccy/go-json/internal/decoder/stream.go (1)
  • Stream (17-29)
vendor/github.com/goccy/go-json/internal/errors/error.go (3)
  • ErrExceededMaxDepth (124-129)
  • ErrUnexpectedEndOfJSON (135-140)
  • ErrInvalidCharacter (146-157)
vendor/github.com/goccy/go-json/option.go (3)
vendor/github.com/goccy/go-json/internal/decoder/option.go (2)
  • Option (13-17)
  • FirstWinOption (8-8)
vendor/github.com/goccy/go-json/internal/encoder/option.go (6)
  • Option (21-27)
  • UnorderedMapOption (13-13)
  • HTMLEscapeOption (11-11)
  • NormalizeUTF8Option (17-17)
  • DebugOption (14-14)
  • ColorScheme (46-46)
vendor/github.com/goccy/go-json/color.go (1)
  • ColorScheme (11-11)
vendor/github.com/goccy/go-json/internal/encoder/int.go (2)
vendor/github.com/goccy/go-json/internal/encoder/context.go (1)
  • RuntimeContext (71-82)
vendor/github.com/goccy/go-json/internal/encoder/opcode.go (1)
  • Opcode (30-51)
vendor/github.com/goccy/go-json/decode.go (8)
vendor/github.com/goccy/go-json/internal/decoder/stream.go (2)
  • Stream (17-29)
  • NewStream (31-38)
vendor/github.com/goccy/go-json/internal/runtime/rtype.go (2)
  • Type (9-9)
  • RType2Type (253-253)
vendor/github.com/goccy/go-json/option.go (1)
  • DecodeOptionFunc (67-67)
vendor/github.com/goccy/go-json/internal/decoder/compile_norace.go (1)
  • CompileToGetDecoder (12-30)
vendor/github.com/goccy/go-json/internal/decoder/context.go (2)
  • TakeRuntimeContext (25-27)
  • ReleaseRuntimeContext (29-31)
vendor/github.com/goccy/go-json/internal/decoder/option.go (1)
  • Option (13-17)
vendor/github.com/goccy/go-json/path.go (1)
  • Path (32-34)
vendor/github.com/goccy/go-json/internal/errors/error.go (1)
  • ErrSyntax (112-114)
vendor/github.com/goccy/go-json/internal/decoder/slice.go (3)
vendor/github.com/goccy/go-json/internal/runtime/rtype.go (3)
  • Type2RType (260-262)
  • Type (9-9)
  • RType2Type (253-253)
vendor/github.com/goccy/go-json/internal/decoder/type.go (1)
  • Decoder (11-15)
vendor/github.com/goccy/go-json/internal/errors/error.go (3)
  • UnmarshalTypeError (76-82)
  • ErrUnexpectedEndOfJSON (135-140)
  • ErrInvalidCharacter (146-157)
vendor/github.com/goccy/go-json/internal/decoder/path.go (5)
vendor/github.com/goccy/go-json/path.go (1)
  • Path (32-34)
vendor/github.com/goccy/go-json/internal/errors/error.go (3)
  • ErrEmptyPath (181-183)
  • ErrInvalidPath (174-179)
  • PathError (166-168)
vendor/github.com/goccy/go-json/internal/runtime/rtype.go (1)
  • Type (9-9)
vendor/github.com/goccy/go-json/internal/decoder/assign.go (1)
  • AssignValue (13-23)
vendor/github.com/goccy/go-json/internal/runtime/struct_field.go (1)
  • StructTagFromField (68-91)
vendor/github.com/goccy/go-json/internal/encoder/opcode.go (4)
vendor/github.com/goccy/go-json/internal/encoder/optype.go (6)
  • CodeType (8-8)
  • CodeArrayHead (12-12)
  • CodeSliceHead (14-14)
  • CodeMapHead (16-16)
  • CodeMapValue (18-18)
  • CodeMapEnd (19-19)
vendor/github.com/goccy/go-json/internal/encoder/encoder.go (1)
  • CompiledCode (122-127)
vendor/github.com/goccy/go-json/internal/encoder/query.go (1)
  • FieldQuery (14-18)
vendor/github.com/goccy/go-json/internal/runtime/type.go (1)
  • SliceHeader (8-12)
vendor/github.com/goccy/go-json/internal/errors/error.go (1)
vendor/github.com/goccy/go-json/error.go (9)
  • InvalidUTF8Error (13-13)
  • InvalidUnmarshalError (17-17)
  • MarshalerError (20-20)
  • SyntaxError (23-23)
  • UnmarshalFieldError (29-29)
  • UnmarshalTypeError (33-33)
  • UnsupportedTypeError (37-37)
  • UnsupportedValueError (39-39)
  • PathError (41-41)
vendor/github.com/goccy/go-json/internal/encoder/vm_color/util.go (5)
vendor/github.com/goccy/go-json/internal/encoder/encoder.go (12)
  • ErrUnsupportedValue (190-199)
  • ErrUnsupportedFloat (201-206)
  • MapIterInit (300-300)
  • MapIterKey (304-304)
  • MapIterNext (308-308)
  • MapLen (312-312)
  • AppendFloat32 (332-344)
  • AppendFloat64 (346-356)
  • AppendByteSlice (314-330)
  • AppendNumber (385-396)
  • AppendMarshalJSON (398-449)
  • AppendMarshalText (501-522)
vendor/github.com/goccy/go-json/internal/encoder/map112.go (1)
  • MapIterValue (9-9)
vendor/github.com/goccy/go-json/internal/encoder/map113.go (1)
  • MapIterValue (9-9)
vendor/github.com/goccy/go-json/internal/encoder/opcode.go (1)
  • Opcode (30-51)
vendor/github.com/goccy/go-json/internal/encoder/int.go (2)
  • AppendInt (80-132)
  • AppendUint (134-176)
vendor/github.com/goccy/go-json/internal/encoder/compiler.go (8)
vendor/github.com/goccy/go-json/internal/encoder/encoder.go (2)
  • OpcodeSet (96-107)
  • CompiledCode (122-127)
vendor/github.com/goccy/go-json/internal/runtime/type.go (2)
  • TypeAddr (18-23)
  • AnalyzeTypeAddr (36-100)
vendor/github.com/goccy/go-json/internal/decoder/context.go (1)
  • RuntimeContext (10-13)
vendor/github.com/goccy/go-json/internal/encoder/context.go (1)
  • RuntimeContext (71-82)
vendor/github.com/goccy/go-json/internal/encoder/query.go (1)
  • FieldQueryFromContext (121-131)
vendor/github.com/goccy/go-json/internal/encoder/code.go (4)
  • Code (11-15)
  • StructCode (373-380)
  • Opcodes (21-21)
  • StructFieldCode (599-612)
vendor/github.com/goccy/go-json/internal/encoder/opcode.go (1)
  • Opcode (30-51)
vendor/github.com/goccy/go-json/internal/encoder/optype.go (1)
  • OpRecursiveEnd (443-443)
🪛 checkmake (0.2.2)
vendor/github.com/goccy/go-json/Makefile

[warning] 37-37: Missing required phony target "all"

(minphony)


[warning] 37-37: Missing required phony target "clean"

(minphony)


[warning] 37-37: Missing required phony target "test"

(minphony)

🪛 LanguageTool
vendor/github.com/goccy/go-json/CHANGELOG.md

[grammar] ~348-~348: Use a hyphen to join words.
Context: ...x decoder * Fix decoder for invalid top level value ( #184 ) * Fix decoder for i...

(QB_NEW_EN_HYPHEN)


[uncategorized] ~415-~415: Do not mix variants of the same word (‘prefilled’ and ‘pre-filled’) within a single text.
Context: ...ding of invalid value * Fix decoding of prefilled value * Fix not being able to return Un...

(EN_WORD_COHERENCY)


[grammar] ~419-~419: Use a hyphen to join words.
Context: ...ecoding of type of null string * Use pre allocated pointer if exists it at decodi...

(QB_NEW_EN_HYPHEN)

vendor/github.com/goccy/go-json/README.md

[style] ~76-~76: Consider a more formal alternative to strengthen your wording.
Context: ...) Benchmarking gave very slow results. It seems that it is assumed that the user will u...

(SEEM_APPEAR)


[style] ~77-~77: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...user will use the buffer pool properly. Also, development seems to have already stop...

(REP_SENT_START_ALSO)


[grammar] ~298-~298: Ensure spelling is correct
Context: ...s to 3 opcodes ! Reducing the number of opcodees means reducing the number of branches w...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[style] ~356-~356: Consider using an alternative to strengthen your wording.
Context: ... based process described above. If you want to know more, please refer to the imple...

(WANT_KEEN)


[style] ~365-~365: Consider a more concise word here.
Context: ...aracter inspection using NUL character In order to decode, you have to traverse the input ...

(IN_ORDER_TO_PREMIUM)


[style] ~514-~514: Consider using a synonym to be more concise.
Context: ... memory usage. ### Others I have done a lot of other optimizations. I will find time t...

(A_LOT_OF)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (14)
  • GitHub Check: rpm-build:fedora-43-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:centos-stream-9-aarch64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-43-aarch64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-rawhide-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:centos-stream-9-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-rawhide-aarch64:fedora-rawhide
  • GitHub Check: rpm-build:centos-stream-9-aarch64:fedora-rawhide
  • GitHub Check: rpm-build:centos-stream-9-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-rawhide-aarch64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-rawhide-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-43-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-43-aarch64:fedora-rawhide
  • GitHub Check: CodeQL analysis (go)
  • GitHub Check: Agent

Migrate from unmaintained json-iterator/go to actively maintained
goccy/go-json to fix concurrent map panic (issue cri-o#9419).

Fixes cri-o#9419

Signed-off-by: Sohan Kunkerkar <[email protected]>
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Nitpick comments (1)
vendor/github.com/goccy/go-json/.codecov.yml (1)

1-32: Vendored Codecov configuration files in vendor/ should be excluded for repository hygiene.

CRI-O has a root-level .codecov.yml which takes precedence according to Codecov's documented behavior. While the vendored .codecov.yml files (including this one from goccy/go-json) won't override CRI-O's configuration, they are unnecessarily scanned by Codecov during CI/CD. To follow best practices and avoid confusion, configure Codecov to exclude the vendor directory or remove CI/CD configuration files from vendored dependencies.

Consider adding folders_to_ignore: ["vendor"] to the root .codecov.yml or explicitly specifying search_root to prevent unnecessary scanning of vendored libraries.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between bbac84d and 0f9bd20.

⛔ Files ignored due to path filters (1)
  • go.sum is excluded by !**/*.sum
📒 Files selected for processing (94)
  • go.mod (2 hunks)
  • internal/config/seccomp/notifier.go (1 hunks)
  • internal/config/seccomp/seccomp.go (2 hunks)
  • internal/criocli/wipe.go (1 hunks)
  • internal/lib/container_server.go (1 hunks)
  • internal/oci/container.go (1 hunks)
  • internal/oci/runtime_oci.go (1 hunks)
  • internal/storage/image.go (2 hunks)
  • internal/storage/runtime.go (1 hunks)
  • internal/version/version.go (1 hunks)
  • scripts/release/release_test.go (1 hunks)
  • server/container_status.go (1 hunks)
  • server/image_status.go (1 hunks)
  • server/inspect.go (1 hunks)
  • server/sandbox_run_freebsd.go (1 hunks)
  • server/sandbox_run_linux.go (1 hunks)
  • server/sandbox_status.go (1 hunks)
  • vendor/github.com/goccy/go-json/.codecov.yml (1 hunks)
  • vendor/github.com/goccy/go-json/.gitignore (1 hunks)
  • vendor/github.com/goccy/go-json/.golangci.yml (1 hunks)
  • vendor/github.com/goccy/go-json/CHANGELOG.md (1 hunks)
  • vendor/github.com/goccy/go-json/LICENSE (1 hunks)
  • vendor/github.com/goccy/go-json/Makefile (1 hunks)
  • vendor/github.com/goccy/go-json/README.md (1 hunks)
  • vendor/github.com/goccy/go-json/color.go (1 hunks)
  • vendor/github.com/goccy/go-json/decode.go (1 hunks)
  • vendor/github.com/goccy/go-json/docker-compose.yml (1 hunks)
  • vendor/github.com/goccy/go-json/encode.go (1 hunks)
  • vendor/github.com/goccy/go-json/error.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/anonymous_field.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/array.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/assign.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/bool.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/bytes.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/compile.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/compile_norace.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/compile_race.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/context.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/float.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/func.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/int.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/interface.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/invalid.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/map.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/number.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/option.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/path.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/ptr.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/slice.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/stream.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/string.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/struct.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/type.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/uint.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/unmarshal_json.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/unmarshal_text.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/wrapped_string.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/code.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/compact.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/compiler.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/compiler_norace.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/compiler_race.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/context.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/decode_rune.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/encoder.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/indent.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/int.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/map112.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/map113.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/opcode.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/option.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/optype.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/query.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/string.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/string_table.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/vm/debug_vm.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/vm/hack.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/vm/util.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/vm_color/debug_vm.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/vm_color/hack.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/vm_color/util.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/vm_color_indent/debug_vm.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/vm_color_indent/util.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/vm_indent/debug_vm.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/vm_indent/hack.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/vm_indent/util.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/errors/error.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/runtime/rtype.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/runtime/struct_field.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/runtime/type.go (1 hunks)
  • vendor/github.com/goccy/go-json/json.go (1 hunks)
  • vendor/github.com/goccy/go-json/option.go (1 hunks)
  • vendor/github.com/goccy/go-json/path.go (1 hunks)
  • vendor/github.com/goccy/go-json/query.go (1 hunks)
✅ Files skipped from review due to trivial changes (4)
  • vendor/github.com/goccy/go-json/.gitignore
  • vendor/github.com/goccy/go-json/internal/decoder/func.go
  • vendor/github.com/goccy/go-json/docker-compose.yml
  • vendor/github.com/goccy/go-json/LICENSE
🚧 Files skipped from review as they are similar to previous changes (35)
  • server/sandbox_run_freebsd.go
  • internal/storage/runtime.go
  • internal/config/seccomp/notifier.go
  • scripts/release/release_test.go
  • server/container_status.go
  • vendor/github.com/goccy/go-json/internal/encoder/vm_color_indent/debug_vm.go
  • vendor/github.com/goccy/go-json/.golangci.yml
  • server/inspect.go
  • internal/version/version.go
  • vendor/github.com/goccy/go-json/internal/decoder/invalid.go
  • vendor/github.com/goccy/go-json/internal/decoder/bytes.go
  • vendor/github.com/goccy/go-json/internal/encoder/decode_rune.go
  • vendor/github.com/goccy/go-json/internal/decoder/compile_norace.go
  • vendor/github.com/goccy/go-json/internal/encoder/vm_color/hack.go
  • internal/lib/container_server.go
  • go.mod
  • vendor/github.com/goccy/go-json/internal/decoder/float.go
  • server/image_status.go
  • internal/storage/image.go
  • vendor/github.com/goccy/go-json/internal/decoder/bool.go
  • vendor/github.com/goccy/go-json/internal/encoder/string_table.go
  • vendor/github.com/goccy/go-json/internal/encoder/vm_indent/util.go
  • vendor/github.com/goccy/go-json/internal/decoder/compile_race.go
  • internal/oci/runtime_oci.go
  • vendor/github.com/goccy/go-json/internal/encoder/vm_color_indent/util.go
  • vendor/github.com/goccy/go-json/json.go
  • vendor/github.com/goccy/go-json/option.go
  • vendor/github.com/goccy/go-json/error.go
  • vendor/github.com/goccy/go-json/internal/encoder/vm_color/debug_vm.go
  • server/sandbox_run_linux.go
  • vendor/github.com/goccy/go-json/internal/encoder/vm_color/util.go
  • vendor/github.com/goccy/go-json/internal/encoder/vm/util.go
  • vendor/github.com/goccy/go-json/internal/decoder/assign.go
  • vendor/github.com/goccy/go-json/internal/encoder/vm_indent/hack.go
  • vendor/github.com/goccy/go-json/internal/encoder/code.go
🧰 Additional context used
📓 Path-based instructions (2)
**/*.go

📄 CodeRabbit inference engine (AGENTS.md)

**/*.go: Use interface-based design and dependency injection patterns in Go code
Propagate context.Context through function calls in Go code
Use fmt.Errorf with %w for error wrapping in Go code
Use logrus with structured fields for logging in Go code
Add comments explaining 'why' not 'what' in Go code
Use platform-specific file naming: *_{linux,freebsd}.go for platform-dependent code

Files:

  • internal/oci/container.go
  • vendor/github.com/goccy/go-json/internal/encoder/indent.go
  • vendor/github.com/goccy/go-json/internal/decoder/type.go
  • vendor/github.com/goccy/go-json/internal/encoder/map113.go
  • vendor/github.com/goccy/go-json/internal/decoder/option.go
  • vendor/github.com/goccy/go-json/internal/decoder/interface.go
  • vendor/github.com/goccy/go-json/internal/decoder/ptr.go
  • vendor/github.com/goccy/go-json/internal/decoder/compile.go
  • vendor/github.com/goccy/go-json/internal/decoder/stream.go
  • internal/criocli/wipe.go
  • vendor/github.com/goccy/go-json/internal/runtime/struct_field.go
  • vendor/github.com/goccy/go-json/internal/encoder/vm/debug_vm.go
  • vendor/github.com/goccy/go-json/internal/encoder/int.go
  • vendor/github.com/goccy/go-json/internal/decoder/array.go
  • vendor/github.com/goccy/go-json/internal/decoder/unmarshal_text.go
  • server/sandbox_status.go
  • vendor/github.com/goccy/go-json/internal/encoder/compiler_norace.go
  • vendor/github.com/goccy/go-json/internal/encoder/option.go
  • vendor/github.com/goccy/go-json/encode.go
  • vendor/github.com/goccy/go-json/internal/decoder/slice.go
  • vendor/github.com/goccy/go-json/internal/decoder/unmarshal_json.go
  • vendor/github.com/goccy/go-json/path.go
  • vendor/github.com/goccy/go-json/internal/encoder/map112.go
  • vendor/github.com/goccy/go-json/internal/runtime/type.go
  • vendor/github.com/goccy/go-json/internal/encoder/optype.go
  • vendor/github.com/goccy/go-json/internal/encoder/vm/hack.go
  • vendor/github.com/goccy/go-json/internal/decoder/wrapped_string.go
  • vendor/github.com/goccy/go-json/internal/decoder/context.go
  • vendor/github.com/goccy/go-json/internal/decoder/string.go
  • vendor/github.com/goccy/go-json/internal/encoder/context.go
  • vendor/github.com/goccy/go-json/query.go
  • vendor/github.com/goccy/go-json/internal/encoder/compiler_race.go
  • vendor/github.com/goccy/go-json/internal/decoder/path.go
  • vendor/github.com/goccy/go-json/decode.go
  • vendor/github.com/goccy/go-json/internal/decoder/uint.go
  • vendor/github.com/goccy/go-json/internal/encoder/opcode.go
  • vendor/github.com/goccy/go-json/internal/decoder/number.go
  • internal/config/seccomp/seccomp.go
  • vendor/github.com/goccy/go-json/internal/decoder/struct.go
  • vendor/github.com/goccy/go-json/internal/errors/error.go
  • vendor/github.com/goccy/go-json/internal/decoder/int.go
  • vendor/github.com/goccy/go-json/internal/encoder/string.go
  • vendor/github.com/goccy/go-json/internal/encoder/query.go
  • vendor/github.com/goccy/go-json/internal/encoder/vm_indent/debug_vm.go
  • vendor/github.com/goccy/go-json/internal/runtime/rtype.go
  • vendor/github.com/goccy/go-json/color.go
  • vendor/github.com/goccy/go-json/internal/encoder/compact.go
  • vendor/github.com/goccy/go-json/internal/decoder/anonymous_field.go
  • vendor/github.com/goccy/go-json/internal/encoder/compiler.go
  • vendor/github.com/goccy/go-json/internal/encoder/encoder.go
  • vendor/github.com/goccy/go-json/internal/decoder/map.go
**/*.md

📄 CodeRabbit inference engine (AGENTS.md)

Edit .md source files for documentation, not generated files

Files:

  • vendor/github.com/goccy/go-json/README.md
  • vendor/github.com/goccy/go-json/CHANGELOG.md
🧠 Learnings (3)
📚 Learning: 2025-12-03T18:27:19.593Z
Learnt from: CR
Repo: cri-o/cri-o PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-03T18:27:19.593Z
Learning: Check `internal/version/version.go` for current version and supported versions

Applied to files:

  • internal/oci/container.go
📚 Learning: 2025-12-03T18:27:19.593Z
Learnt from: CR
Repo: cri-o/cri-o PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-03T18:27:19.593Z
Learning: Applies to **/*.go : Use interface-based design and dependency injection patterns in Go code

Applied to files:

  • vendor/github.com/goccy/go-json/internal/decoder/interface.go
  • server/sandbox_status.go
📚 Learning: 2025-12-03T18:27:19.593Z
Learnt from: CR
Repo: cri-o/cri-o PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-03T18:27:19.593Z
Learning: Applies to **/*.go : Use logrus with structured fields for logging in Go code

Applied to files:

  • vendor/github.com/goccy/go-json/internal/runtime/struct_field.go
🧬 Code graph analysis (33)
vendor/github.com/goccy/go-json/internal/encoder/map113.go (1)
vendor/github.com/goccy/go-json/internal/encoder/map112.go (1)
  • MapIterValue (9-9)
vendor/github.com/goccy/go-json/internal/decoder/option.go (2)
vendor/github.com/goccy/go-json/internal/decoder/path.go (1)
  • Path (315-320)
vendor/github.com/goccy/go-json/path.go (1)
  • Path (32-34)
vendor/github.com/goccy/go-json/internal/decoder/interface.go (7)
vendor/github.com/goccy/go-json/internal/runtime/rtype.go (2)
  • Type (9-9)
  • Type2RType (260-262)
vendor/github.com/goccy/go-json/internal/decoder/stream.go (1)
  • Stream (17-29)
vendor/github.com/goccy/go-json/internal/decoder/type.go (1)
  • Decoder (11-15)
vendor/github.com/goccy/go-json/internal/decoder/context.go (1)
  • RuntimeContext (10-13)
vendor/github.com/goccy/go-json/internal/errors/error.go (2)
  • ErrUnexpectedEndOfJSON (135-140)
  • ErrInvalidBeginningOfValue (159-164)
vendor/github.com/goccy/go-json/internal/decoder/compile_norace.go (1)
  • CompileToGetDecoder (12-30)
vendor/github.com/goccy/go-json/internal/decoder/compile_race.go (1)
  • CompileToGetDecoder (15-38)
vendor/github.com/goccy/go-json/internal/decoder/ptr.go (4)
vendor/github.com/goccy/go-json/internal/decoder/type.go (1)
  • Decoder (11-15)
vendor/github.com/goccy/go-json/internal/runtime/rtype.go (1)
  • Type (9-9)
vendor/github.com/goccy/go-json/internal/decoder/stream.go (1)
  • Stream (17-29)
vendor/github.com/goccy/go-json/internal/decoder/context.go (1)
  • RuntimeContext (10-13)
vendor/github.com/goccy/go-json/internal/decoder/compile.go (5)
vendor/github.com/goccy/go-json/json.go (1)
  • Number (303-303)
vendor/github.com/goccy/go-json/internal/runtime/type.go (2)
  • TypeAddr (18-23)
  • AnalyzeTypeAddr (36-100)
vendor/github.com/goccy/go-json/internal/decoder/type.go (1)
  • Decoder (11-15)
vendor/github.com/goccy/go-json/internal/runtime/rtype.go (3)
  • Type (9-9)
  • PtrTo (241-241)
  • Type2RType (260-262)
vendor/github.com/goccy/go-json/internal/runtime/struct_field.go (3)
  • StructTags (40-40)
  • IsIgnoredStructField (13-30)
  • StructTagFromField (68-91)
vendor/github.com/goccy/go-json/internal/decoder/stream.go (4)
vendor/sigs.k8s.io/yaml/yaml.go (1)
  • DisallowUnknownFields (423-426)
vendor/github.com/goccy/go-json/internal/decoder/option.go (1)
  • Option (13-17)
vendor/github.com/goccy/go-json/json.go (3)
  • Token (300-300)
  • Delim (311-311)
  • Number (303-303)
vendor/github.com/goccy/go-json/internal/errors/error.go (3)
  • ErrInvalidCharacter (146-157)
  • ErrExceededMaxDepth (124-129)
  • ErrUnexpectedEndOfJSON (135-140)
vendor/github.com/goccy/go-json/internal/encoder/vm/debug_vm.go (5)
vendor/github.com/goccy/go-json/internal/encoder/vm_color/debug_vm.go (1)
  • DebugRun (9-35)
vendor/github.com/goccy/go-json/internal/encoder/context.go (1)
  • RuntimeContext (71-82)
vendor/github.com/goccy/go-json/internal/encoder/opcode.go (1)
  • Opcode (30-51)
vendor/github.com/goccy/go-json/internal/encoder/option.go (2)
  • Option (21-27)
  • HTMLEscapeOption (11-11)
vendor/github.com/goccy/go-json/internal/encoder/vm/vm.go (1)
  • Run (14-4859)
vendor/github.com/goccy/go-json/internal/encoder/int.go (3)
vendor/github.com/goccy/go-json/internal/decoder/context.go (1)
  • RuntimeContext (10-13)
vendor/github.com/goccy/go-json/internal/encoder/context.go (1)
  • RuntimeContext (71-82)
vendor/github.com/goccy/go-json/internal/encoder/opcode.go (1)
  • Opcode (30-51)
vendor/github.com/goccy/go-json/internal/decoder/array.go (5)
vendor/github.com/goccy/go-json/internal/runtime/rtype.go (1)
  • Type (9-9)
vendor/github.com/goccy/go-json/internal/decoder/type.go (1)
  • Decoder (11-15)
vendor/github.com/goccy/go-json/internal/decoder/stream.go (1)
  • Stream (17-29)
vendor/github.com/goccy/go-json/internal/errors/error.go (3)
  • ErrExceededMaxDepth (124-129)
  • ErrUnexpectedEndOfJSON (135-140)
  • ErrInvalidCharacter (146-157)
vendor/github.com/goccy/go-json/internal/decoder/context.go (1)
  • RuntimeContext (10-13)
vendor/github.com/goccy/go-json/internal/decoder/unmarshal_text.go (4)
vendor/github.com/goccy/go-json/internal/runtime/rtype.go (2)
  • Type (9-9)
  • RType2Type (253-253)
vendor/github.com/goccy/go-json/internal/errors/error.go (2)
  • UnmarshalTypeError (76-82)
  • SyntaxError (51-54)
vendor/github.com/goccy/go-json/internal/decoder/stream.go (1)
  • Stream (17-29)
vendor/github.com/goccy/go-json/internal/decoder/context.go (1)
  • RuntimeContext (10-13)
vendor/github.com/goccy/go-json/internal/encoder/compiler_norace.go (3)
vendor/github.com/goccy/go-json/internal/encoder/compiler_race.go (1)
  • CompileToGetCodeSet (12-46)
vendor/github.com/goccy/go-json/internal/encoder/context.go (1)
  • RuntimeContext (71-82)
vendor/github.com/goccy/go-json/internal/encoder/encoder.go (1)
  • OpcodeSet (96-107)
vendor/github.com/goccy/go-json/internal/encoder/option.go (1)
vendor/github.com/goccy/go-json/color.go (1)
  • ColorScheme (11-11)
vendor/github.com/goccy/go-json/encode.go (3)
vendor/github.com/goccy/go-json/internal/decoder/context.go (3)
  • TakeRuntimeContext (25-27)
  • ReleaseRuntimeContext (29-31)
  • RuntimeContext (10-13)
vendor/github.com/goccy/go-json/internal/encoder/context.go (3)
  • TakeRuntimeContext (99-101)
  • ReleaseRuntimeContext (103-105)
  • RuntimeContext (71-82)
vendor/github.com/goccy/go-json/internal/encoder/option.go (3)
  • Option (21-27)
  • ContextOption (16-16)
  • IndentOption (12-12)
vendor/github.com/goccy/go-json/internal/decoder/unmarshal_json.go (6)
vendor/github.com/goccy/go-json/internal/runtime/rtype.go (1)
  • Type (9-9)
vendor/github.com/goccy/go-json/internal/errors/error.go (2)
  • UnmarshalTypeError (76-82)
  • SyntaxError (51-54)
vendor/github.com/goccy/go-json/internal/decoder/stream.go (1)
  • Stream (17-29)
vendor/github.com/goccy/go-json/internal/decoder/option.go (2)
  • Option (13-17)
  • ContextOption (9-9)
vendor/github.com/goccy/go-json/json.go (1)
  • Unmarshaler (31-33)
vendor/github.com/goccy/go-json/internal/decoder/context.go (1)
  • RuntimeContext (10-13)
vendor/github.com/goccy/go-json/path.go (4)
vendor/github.com/goccy/go-json/internal/decoder/path.go (4)
  • Path (315-320)
  • PathString (12-12)
  • SingleQuotePathSelector (311-311)
  • DoubleQuotePathSelector (312-312)
vendor/github.com/goccy/go-json/option.go (1)
  • DecodeOptionFunc (67-67)
vendor/github.com/goccy/go-json/json.go (1)
  • Unmarshal (273-275)
vendor/github.com/goccy/go-json/internal/decoder/assign.go (1)
  • AssignValue (13-23)
vendor/github.com/goccy/go-json/internal/encoder/map112.go (1)
vendor/github.com/goccy/go-json/internal/encoder/map113.go (1)
  • MapIterValue (9-9)
vendor/github.com/goccy/go-json/internal/runtime/type.go (2)
vendor/golang.org/x/net/html/atom/table.go (1)
  • Data (66-66)
vendor/github.com/goccy/go-json/internal/runtime/rtype.go (1)
  • Type (9-9)
vendor/github.com/goccy/go-json/internal/decoder/context.go (3)
vendor/github.com/goccy/go-json/internal/decoder/option.go (1)
  • Option (13-17)
vendor/github.com/goccy/go-json/internal/encoder/context.go (3)
  • RuntimeContext (71-82)
  • TakeRuntimeContext (99-101)
  • ReleaseRuntimeContext (103-105)
vendor/github.com/goccy/go-json/internal/errors/error.go (3)
  • ErrExceededMaxDepth (124-129)
  • ErrUnexpectedEndOfJSON (135-140)
  • ErrInvalidCharacter (146-157)
vendor/github.com/goccy/go-json/internal/encoder/context.go (3)
vendor/github.com/goccy/go-json/internal/encoder/code.go (1)
  • Opcodes (21-21)
vendor/github.com/goccy/go-json/internal/decoder/context.go (3)
  • RuntimeContext (10-13)
  • TakeRuntimeContext (25-27)
  • ReleaseRuntimeContext (29-31)
vendor/github.com/goccy/go-json/internal/runtime/type.go (1)
  • SliceHeader (8-12)
vendor/github.com/goccy/go-json/query.go (2)
vendor/github.com/goccy/go-json/internal/encoder/query.go (5)
  • FieldQuery (14-18)
  • FieldQueryString (47-47)
  • FieldQueryFromContext (121-131)
  • SetFieldQueryToContext (133-135)
  • Marshal (10-10)
vendor/github.com/goccy/go-json/json.go (1)
  • Marshal (169-171)
vendor/github.com/goccy/go-json/internal/encoder/compiler_race.go (4)
vendor/github.com/goccy/go-json/internal/encoder/compiler_norace.go (1)
  • CompileToGetCodeSet (6-33)
vendor/github.com/goccy/go-json/internal/decoder/context.go (1)
  • RuntimeContext (10-13)
vendor/github.com/goccy/go-json/internal/encoder/context.go (1)
  • RuntimeContext (71-82)
vendor/github.com/goccy/go-json/internal/encoder/encoder.go (1)
  • OpcodeSet (96-107)
vendor/github.com/goccy/go-json/internal/decoder/uint.go (4)
vendor/github.com/goccy/go-json/internal/runtime/rtype.go (2)
  • Type (9-9)
  • RType2Type (253-253)
vendor/github.com/goccy/go-json/internal/errors/error.go (2)
  • UnmarshalTypeError (76-82)
  • ErrUnexpectedEndOfJSON (135-140)
vendor/github.com/goccy/go-json/internal/decoder/stream.go (1)
  • Stream (17-29)
vendor/github.com/goccy/go-json/internal/decoder/context.go (1)
  • RuntimeContext (10-13)
vendor/github.com/goccy/go-json/internal/encoder/opcode.go (4)
vendor/github.com/goccy/go-json/internal/encoder/optype.go (18)
  • OpType (428-428)
  • CodeType (8-8)
  • OpMap (454-454)
  • OpArray (453-453)
  • OpSlice (455-455)
  • CodeArrayHead (12-12)
  • CodeSliceHead (14-14)
  • CodeMapHead (16-16)
  • CodeMapValue (18-18)
  • CodeMapEnd (19-19)
  • CodeStructField (21-21)
  • CodeStructEnd (22-22)
  • OpSliceElem (434-434)
  • OpArrayElem (436-436)
  • OpMapKey (438-438)
  • OpMapValue (439-439)
  • OpMapEnd (440-440)
  • OpRecursive (441-441)
vendor/github.com/goccy/go-json/internal/runtime/rtype.go (1)
  • Type (9-9)
vendor/github.com/goccy/go-json/internal/encoder/encoder.go (1)
  • CompiledCode (122-127)
vendor/github.com/goccy/go-json/internal/encoder/query.go (1)
  • FieldQuery (14-18)
vendor/github.com/goccy/go-json/internal/decoder/number.go (4)
vendor/github.com/goccy/go-json/json.go (1)
  • Number (303-303)
vendor/github.com/goccy/go-json/internal/decoder/stream.go (1)
  • Stream (17-29)
vendor/github.com/goccy/go-json/internal/errors/error.go (3)
  • ErrSyntax (112-114)
  • ErrInvalidBeginningOfValue (159-164)
  • ErrUnexpectedEndOfJSON (135-140)
vendor/github.com/goccy/go-json/internal/decoder/context.go (1)
  • RuntimeContext (10-13)
internal/config/seccomp/seccomp.go (2)
vendor/github.com/goccy/go-json/internal/encoder/query.go (1)
  • Marshal (10-10)
vendor/github.com/goccy/go-json/json.go (1)
  • Marshal (169-171)
vendor/github.com/goccy/go-json/internal/errors/error.go (1)
vendor/github.com/goccy/go-json/error.go (9)
  • InvalidUTF8Error (13-13)
  • InvalidUnmarshalError (17-17)
  • MarshalerError (20-20)
  • SyntaxError (23-23)
  • UnmarshalFieldError (29-29)
  • UnmarshalTypeError (33-33)
  • UnsupportedTypeError (37-37)
  • UnsupportedValueError (39-39)
  • PathError (41-41)
vendor/github.com/goccy/go-json/internal/decoder/int.go (5)
vendor/github.com/goccy/go-json/internal/runtime/rtype.go (2)
  • Type (9-9)
  • RType2Type (253-253)
vendor/github.com/goccy/go-json/error.go (1)
  • UnmarshalTypeError (33-33)
vendor/github.com/goccy/go-json/internal/errors/error.go (2)
  • UnmarshalTypeError (76-82)
  • ErrUnexpectedEndOfJSON (135-140)
vendor/github.com/goccy/go-json/internal/decoder/stream.go (1)
  • Stream (17-29)
vendor/github.com/goccy/go-json/internal/decoder/context.go (1)
  • RuntimeContext (10-13)
vendor/github.com/goccy/go-json/internal/encoder/vm_indent/debug_vm.go (4)
vendor/github.com/goccy/go-json/internal/decoder/context.go (1)
  • RuntimeContext (10-13)
vendor/github.com/goccy/go-json/internal/encoder/context.go (1)
  • RuntimeContext (71-82)
vendor/github.com/goccy/go-json/internal/encoder/option.go (2)
  • Option (21-27)
  • HTMLEscapeOption (11-11)
vendor/github.com/goccy/go-json/internal/encoder/vm_indent/vm.go (1)
  • Run (14-4859)
vendor/github.com/goccy/go-json/internal/runtime/rtype.go (1)
vendor/go.uber.org/mock/mockgen/model/model.go (1)
  • ChanDir (205-205)
vendor/github.com/goccy/go-json/color.go (1)
vendor/github.com/goccy/go-json/internal/encoder/option.go (2)
  • ColorFormat (47-47)
  • ColorScheme (46-46)
vendor/github.com/goccy/go-json/internal/encoder/compact.go (4)
vendor/github.com/goccy/go-json/json.go (1)
  • Compact (315-317)
vendor/github.com/goccy/go-json/internal/errors/error.go (4)
  • ErrUnexpectedEndOfJSON (135-140)
  • ErrSyntax (112-114)
  • ErrExpected (142-144)
  • ErrInvalidCharacter (146-157)
vendor/github.com/goccy/go-json/internal/decoder/context.go (2)
  • TakeRuntimeContext (25-27)
  • ReleaseRuntimeContext (29-31)
vendor/github.com/goccy/go-json/internal/encoder/context.go (2)
  • TakeRuntimeContext (99-101)
  • ReleaseRuntimeContext (103-105)
vendor/github.com/goccy/go-json/internal/decoder/anonymous_field.go (5)
vendor/github.com/goccy/go-json/internal/runtime/rtype.go (1)
  • Type (9-9)
vendor/github.com/goccy/go-json/decode.go (1)
  • Decoder (15-17)
vendor/github.com/goccy/go-json/internal/decoder/type.go (1)
  • Decoder (11-15)
vendor/github.com/goccy/go-json/internal/decoder/stream.go (1)
  • Stream (17-29)
vendor/github.com/goccy/go-json/internal/decoder/context.go (1)
  • RuntimeContext (10-13)
vendor/github.com/goccy/go-json/internal/encoder/encoder.go (6)
vendor/github.com/goccy/go-json/internal/encoder/optype.go (32)
  • OpType (428-428)
  • OpStructHead (655-655)
  • OpStructHeadSlice (527-527)
  • OpStructHeadArray (519-519)
  • OpStructHeadMap (523-523)
  • OpStructHeadStruct (531-531)
  • OpStructHeadOmitEmpty (656-656)
  • OpStructHeadOmitEmptySlice (528-528)
  • OpStructHeadOmitEmptyArray (520-520)
  • OpStructHeadOmitEmptyMap (524-524)
  • OpStructHeadOmitEmptyStruct (532-532)
  • OpStructHeadSlicePtr (611-611)
  • OpStructHeadOmitEmptySlicePtr (612-612)
  • OpStructHeadArrayPtr (603-603)
  • OpStructHeadOmitEmptyArrayPtr (604-604)
  • OpStructHeadMapPtr (607-607)
  • OpStructHeadOmitEmptyMapPtr (608-608)
  • OpStructField (827-827)
  • OpStructFieldSlice (699-699)
  • OpStructFieldArray (691-691)
  • OpStructFieldMap (695-695)
  • OpStructFieldStruct (703-703)
  • OpStructFieldOmitEmpty (828-828)
  • OpStructFieldOmitEmptySlice (700-700)
  • OpStructFieldOmitEmptyArray (692-692)
  • OpStructFieldOmitEmptyMap (696-696)
  • OpStructFieldSlicePtr (783-783)
  • OpStructFieldOmitEmptySlicePtr (784-784)
  • OpStructFieldArrayPtr (775-775)
  • OpStructFieldOmitEmptyArrayPtr (776-776)
  • OpStructFieldMapPtr (779-779)
  • OpStructFieldOmitEmptyMapPtr (780-780)
vendor/github.com/goccy/go-json/internal/encoder/opcode.go (1)
  • Opcode (30-51)
vendor/github.com/goccy/go-json/internal/runtime/type.go (1)
  • SliceHeader (8-12)
vendor/github.com/goccy/go-json/error.go (2)
  • UnsupportedValueError (39-39)
  • MarshalerError (20-20)
vendor/github.com/goccy/go-json/internal/encoder/context.go (1)
  • RuntimeContext (71-82)
vendor/github.com/goccy/go-json/internal/encoder/query.go (2)
  • SetFieldQueryToContext (133-135)
  • FieldQuery (14-18)
🪛 checkmake (0.2.2)
vendor/github.com/goccy/go-json/Makefile

[warning] 37-37: Missing required phony target "all"

(minphony)


[warning] 37-37: Missing required phony target "clean"

(minphony)


[warning] 37-37: Missing required phony target "test"

(minphony)

🪛 LanguageTool
vendor/github.com/goccy/go-json/README.md

[style] ~76-~76: Consider a more formal alternative to strengthen your wording.
Context: ...) Benchmarking gave very slow results. It seems that it is assumed that the user will u...

(SEEM_APPEAR)


[style] ~77-~77: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...user will use the buffer pool properly. Also, development seems to have already stop...

(REP_SENT_START_ALSO)


[grammar] ~298-~298: Ensure spelling is correct
Context: ...s to 3 opcodes ! Reducing the number of opcodees means reducing the number of branches w...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[style] ~356-~356: Consider using an alternative to strengthen your wording.
Context: ... based process described above. If you want to know more, please refer to the imple...

(WANT_KEEN)


[style] ~365-~365: Consider a more concise word here.
Context: ...aracter inspection using NUL character In order to decode, you have to traverse the input ...

(IN_ORDER_TO_PREMIUM)


[style] ~514-~514: Consider using a synonym to be more concise.
Context: ... memory usage. ### Others I have done a lot of other optimizations. I will find time t...

(A_LOT_OF)

vendor/github.com/goccy/go-json/CHANGELOG.md

[grammar] ~348-~348: Use a hyphen to join words.
Context: ...x decoder * Fix decoder for invalid top level value ( #184 ) * Fix decoder for i...

(QB_NEW_EN_HYPHEN)


[uncategorized] ~415-~415: Do not mix variants of the same word (‘prefilled’ and ‘pre-filled’) within a single text.
Context: ...ding of invalid value * Fix decoding of prefilled value * Fix not being able to return Un...

(EN_WORD_COHERENCY)


[grammar] ~419-~419: Use a hyphen to join words.
Context: ...ecoding of type of null string * Use pre allocated pointer if exists it at decodi...

(QB_NEW_EN_HYPHEN)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (27)
  • GitHub Check: integration / conmon / crun / amd64
  • GitHub Check: integration / userns / crun / amd64
  • GitHub Check: integration / conmon-rs / crun / amd64
  • GitHub Check: rpm-build:fedora-43-aarch64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-rawhide-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-rawhide-aarch64:fedora-rawhide
  • GitHub Check: rpm-build:centos-stream-9-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:centos-stream-9-aarch64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-43-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-43-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:centos-stream-9-aarch64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-43-aarch64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-rawhide-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:centos-stream-9-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-rawhide-aarch64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-rawhide-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:centos-stream-9-aarch64:fedora-rawhide
  • GitHub Check: rpm-build:centos-stream-9-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-43-aarch64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-rawhide-aarch64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-43-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:centos-stream-9-aarch64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-rawhide-aarch64:fedora-rawhide
  • GitHub Check: rpm-build:centos-stream-9-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-rawhide-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-43-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-43-aarch64:fedora-rawhide

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

♻️ Duplicate comments (2)
vendor/github.com/goccy/go-json/internal/encoder/string.go (1)

1-60: Verify v0.10.5 is correctly vendored to include the data race fix.

The past review correctly identified that v0.10.4 had a data race in AnalyzeTypeAddr that was fixed in v0.10.5 (PR #531, released Jan 2025). The library context indicates v0.10.5 is now being used, which should resolve the concurrent map panic issue (#9419).

Please confirm the fix is included by verifying the vendored version.

#!/bin/bash
# Verify go-json version in go.mod/go.sum
echo "=== Checking go.mod for go-json version ==="
rg -n "goccy/go-json" go.mod go.sum 2>/dev/null || echo "go.mod/go.sum not found"

# Check if the fix for AnalyzeTypeAddr is present (lazy init pattern from v0.10.5)
echo ""
echo "=== Checking for v0.10.5 data race fix (lazy init in type analysis) ==="
rg -n "sync\.Once|lazyInit" vendor/github.com/goccy/go-json/internal/encoder/ 2>/dev/null | head -20
vendor/github.com/goccy/go-json/internal/encoder/optype.go (1)

1-932: Generated encoder op-type definitions from goccy/go-json.

This is auto-generated vendored code. The version upgrade requirement to v0.10.5 has already been flagged in a previous review comment.

🧹 Nitpick comments (3)
vendor/github.com/goccy/go-json/internal/decoder/ptr.go (1)

34-93: Pointer decode semantics are reasonable; note stream vs non-stream difference

The lazy allocation and null handling for pointer fields look correct. One nuance: Decode clears the destination pointer on inner decode errors, while DecodeStream leaves any newly allocated value in place if the inner decoder fails. That’s acceptable, but worth being aware of if callers rely on post-error state of pointer fields.

vendor/github.com/goccy/go-json/internal/decoder/unmarshal_json.go (1)

72-100: Use a type switch in Decode to match the safe pattern in DecodeStream

The Decode method currently relies on the ContextOption flag to decide between calling v.(unmarshalerContext).UnmarshalJSON(...) and v.(json.Unmarshaler).UnmarshalJSON(...). This is unsafe: if a type implements only unmarshalerContext but ContextOption is false, or vice versa, the hard type assertion will panic.

The implementsUnmarshalJSONType check used by the decoder factory returns true if the type implements either interface (lines 51–68 in compile.go confirm both unmarshalJSONType and unmarshalJSONContextType are checked). This means a decoder can be created for types that implement only one interface, regardless of the caller's flag setting.

DecodeStream already demonstrates the safer pattern (lines 51–68): use a type switch to detect which interface is actually present, and handle both gracefully. Decode should follow the same approach instead of trusting the flag alone.

vendor/github.com/goccy/go-json/internal/decoder/assign.go (1)

25-438: Consider using kind-specific setters or Convert() to handle named numeric types

castValue constructs results using reflect.ValueOf on builtin types, e.g. reflect.ValueOf(int(vv.Int())) for reflect.Int. This works for plain int, but will panic when the destination is a named type with the same kind, such as type MyInt int. Go's reflect.Value.Set() requires type assignability, and named types are distinct from their underlying builtins.

The kind-specific setters (SetInt, SetUint, SetFloat) and reflect.Value.Convert() are the idiomatic solutions:

  • Use SetInt(vv.Int()) / SetUint(vv.Uint()) / SetFloat(vv.Float()) to assign values to named integer or float types
  • Or convert explicitly: vv.Convert(t) before assignment, where t is the destination type

This would prevent runtime panics when decoding into fields with named aliases of primitive types.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0f9bd20 and 3cead51.

⛔ Files ignored due to path filters (1)
  • go.sum is excluded by !**/*.sum
📒 Files selected for processing (95)
  • go.mod (2 hunks)
  • internal/config/seccomp/notifier.go (1 hunks)
  • internal/config/seccomp/seccomp.go (2 hunks)
  • internal/criocli/wipe.go (1 hunks)
  • internal/lib/container_server.go (1 hunks)
  • internal/oci/container.go (1 hunks)
  • internal/oci/runtime_oci.go (1 hunks)
  • internal/storage/image.go (2 hunks)
  • internal/storage/runtime.go (1 hunks)
  • internal/version/version.go (1 hunks)
  • scripts/release/release_test.go (1 hunks)
  • server/container_status.go (1 hunks)
  • server/image_status.go (1 hunks)
  • server/inspect.go (1 hunks)
  • server/sandbox_run_freebsd.go (1 hunks)
  • server/sandbox_run_linux.go (1 hunks)
  • server/sandbox_status.go (1 hunks)
  • vendor/github.com/goccy/go-json/.codecov.yml (1 hunks)
  • vendor/github.com/goccy/go-json/.gitignore (1 hunks)
  • vendor/github.com/goccy/go-json/.golangci.yml (1 hunks)
  • vendor/github.com/goccy/go-json/CHANGELOG.md (1 hunks)
  • vendor/github.com/goccy/go-json/LICENSE (1 hunks)
  • vendor/github.com/goccy/go-json/Makefile (1 hunks)
  • vendor/github.com/goccy/go-json/README.md (1 hunks)
  • vendor/github.com/goccy/go-json/color.go (1 hunks)
  • vendor/github.com/goccy/go-json/decode.go (1 hunks)
  • vendor/github.com/goccy/go-json/docker-compose.yml (1 hunks)
  • vendor/github.com/goccy/go-json/encode.go (1 hunks)
  • vendor/github.com/goccy/go-json/error.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/anonymous_field.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/array.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/assign.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/bool.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/bytes.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/compile.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/compile_norace.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/compile_race.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/context.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/float.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/func.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/int.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/interface.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/invalid.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/map.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/number.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/option.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/path.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/ptr.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/slice.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/stream.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/string.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/struct.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/type.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/uint.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/unmarshal_json.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/unmarshal_text.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/decoder/wrapped_string.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/code.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/compact.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/compiler.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/compiler_norace.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/compiler_race.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/context.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/decode_rune.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/encoder.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/indent.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/int.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/map112.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/map113.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/opcode.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/option.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/optype.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/query.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/string.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/string_table.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/vm/debug_vm.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/vm/hack.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/vm/util.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/vm_color/debug_vm.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/vm_color/hack.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/vm_color/util.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/vm_color_indent/debug_vm.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/vm_color_indent/util.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/vm_indent/debug_vm.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/vm_indent/hack.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/encoder/vm_indent/util.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/errors/error.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/runtime/rtype.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/runtime/struct_field.go (1 hunks)
  • vendor/github.com/goccy/go-json/internal/runtime/type.go (1 hunks)
  • vendor/github.com/goccy/go-json/json.go (1 hunks)
  • vendor/github.com/goccy/go-json/option.go (1 hunks)
  • vendor/github.com/goccy/go-json/path.go (1 hunks)
  • vendor/github.com/goccy/go-json/query.go (1 hunks)
  • vendor/modules.txt (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • internal/storage/runtime.go
🚧 Files skipped from review as they are similar to previous changes (32)
  • internal/config/seccomp/seccomp.go
  • internal/oci/container.go
  • server/image_status.go
  • vendor/github.com/goccy/go-json/internal/decoder/option.go
  • vendor/github.com/goccy/go-json/internal/encoder/compiler_norace.go
  • vendor/github.com/goccy/go-json/internal/encoder/int.go
  • internal/lib/container_server.go
  • vendor/github.com/goccy/go-json/LICENSE
  • internal/criocli/wipe.go
  • vendor/github.com/goccy/go-json/.gitignore
  • vendor/github.com/goccy/go-json/internal/decoder/anonymous_field.go
  • vendor/modules.txt
  • vendor/github.com/goccy/go-json/internal/decoder/interface.go
  • vendor/github.com/goccy/go-json/internal/encoder/option.go
  • vendor/github.com/goccy/go-json/option.go
  • vendor/github.com/goccy/go-json/internal/decoder/compile_norace.go
  • vendor/github.com/goccy/go-json/internal/decoder/type.go
  • vendor/github.com/goccy/go-json/internal/encoder/vm_indent/hack.go
  • vendor/github.com/goccy/go-json/internal/encoder/map113.go
  • server/sandbox_run_linux.go
  • vendor/github.com/goccy/go-json/docker-compose.yml
  • server/sandbox_run_freebsd.go
  • vendor/github.com/goccy/go-json/internal/decoder/wrapped_string.go
  • vendor/github.com/goccy/go-json/decode.go
  • go.mod
  • vendor/github.com/goccy/go-json/internal/decoder/number.go
  • vendor/github.com/goccy/go-json/error.go
  • server/sandbox_status.go
  • vendor/github.com/goccy/go-json/internal/encoder/string_table.go
  • vendor/github.com/goccy/go-json/color.go
  • vendor/github.com/goccy/go-json/internal/encoder/query.go
  • vendor/github.com/goccy/go-json/internal/errors/error.go
🧰 Additional context used
📓 Path-based instructions (3)
**/*.go

📄 CodeRabbit inference engine (AGENTS.md)

**/*.go: Use interface-based design and dependency injection patterns in Go code
Propagate context.Context through function calls in Go code
Use fmt.Errorf with %w for error wrapping in Go code
Use logrus with structured fields for logging in Go code
Add comments explaining 'why' not 'what' in Go code
Use platform-specific file naming: *_{linux,freebsd}.go for platform-dependent code

Files:

  • vendor/github.com/goccy/go-json/internal/decoder/slice.go
  • vendor/github.com/goccy/go-json/internal/encoder/decode_rune.go
  • vendor/github.com/goccy/go-json/internal/encoder/vm/hack.go
  • internal/version/version.go
  • vendor/github.com/goccy/go-json/internal/encoder/compact.go
  • vendor/github.com/goccy/go-json/internal/encoder/vm_color/debug_vm.go
  • scripts/release/release_test.go
  • vendor/github.com/goccy/go-json/internal/encoder/vm/debug_vm.go
  • vendor/github.com/goccy/go-json/internal/decoder/assign.go
  • internal/storage/image.go
  • vendor/github.com/goccy/go-json/internal/runtime/struct_field.go
  • vendor/github.com/goccy/go-json/query.go
  • vendor/github.com/goccy/go-json/internal/decoder/ptr.go
  • vendor/github.com/goccy/go-json/internal/decoder/context.go
  • vendor/github.com/goccy/go-json/internal/encoder/vm_color/hack.go
  • vendor/github.com/goccy/go-json/internal/decoder/func.go
  • vendor/github.com/goccy/go-json/internal/decoder/map.go
  • vendor/github.com/goccy/go-json/internal/decoder/compile_race.go
  • vendor/github.com/goccy/go-json/encode.go
  • vendor/github.com/goccy/go-json/internal/decoder/bytes.go
  • vendor/github.com/goccy/go-json/internal/encoder/string.go
  • internal/oci/runtime_oci.go
  • vendor/github.com/goccy/go-json/internal/encoder/vm_indent/debug_vm.go
  • vendor/github.com/goccy/go-json/internal/decoder/uint.go
  • vendor/github.com/goccy/go-json/internal/decoder/float.go
  • vendor/github.com/goccy/go-json/internal/encoder/compiler_race.go
  • server/container_status.go
  • vendor/github.com/goccy/go-json/internal/encoder/indent.go
  • vendor/github.com/goccy/go-json/internal/decoder/struct.go
  • vendor/github.com/goccy/go-json/internal/decoder/int.go
  • vendor/github.com/goccy/go-json/internal/encoder/vm_color_indent/debug_vm.go
  • vendor/github.com/goccy/go-json/internal/encoder/map112.go
  • vendor/github.com/goccy/go-json/internal/decoder/string.go
  • vendor/github.com/goccy/go-json/internal/encoder/optype.go
  • vendor/github.com/goccy/go-json/internal/decoder/compile.go
  • vendor/github.com/goccy/go-json/internal/decoder/array.go
  • vendor/github.com/goccy/go-json/internal/decoder/stream.go
  • vendor/github.com/goccy/go-json/internal/decoder/bool.go
  • vendor/github.com/goccy/go-json/internal/decoder/invalid.go
  • vendor/github.com/goccy/go-json/internal/runtime/type.go
  • vendor/github.com/goccy/go-json/internal/encoder/vm_color_indent/util.go
  • vendor/github.com/goccy/go-json/internal/encoder/vm/util.go
  • vendor/github.com/goccy/go-json/internal/encoder/context.go
  • internal/config/seccomp/notifier.go
  • vendor/github.com/goccy/go-json/internal/decoder/path.go
  • vendor/github.com/goccy/go-json/path.go
  • server/inspect.go
  • vendor/github.com/goccy/go-json/internal/decoder/unmarshal_json.go
  • vendor/github.com/goccy/go-json/internal/encoder/opcode.go
  • vendor/github.com/goccy/go-json/internal/runtime/rtype.go
  • vendor/github.com/goccy/go-json/internal/decoder/unmarshal_text.go
  • vendor/github.com/goccy/go-json/internal/encoder/vm_color/util.go
  • vendor/github.com/goccy/go-json/internal/encoder/vm_indent/util.go
  • vendor/github.com/goccy/go-json/internal/encoder/compiler.go
  • vendor/github.com/goccy/go-json/internal/encoder/encoder.go
  • vendor/github.com/goccy/go-json/json.go
  • vendor/github.com/goccy/go-json/internal/encoder/code.go
**/*_test.go

📄 CodeRabbit inference engine (AGENTS.md)

Use *_test.go naming convention for unit test files

Files:

  • scripts/release/release_test.go
**/*.md

📄 CodeRabbit inference engine (AGENTS.md)

Edit .md source files for documentation, not generated files

Files:

  • vendor/github.com/goccy/go-json/CHANGELOG.md
  • vendor/github.com/goccy/go-json/README.md
🧠 Learnings (3)
📚 Learning: 2025-12-03T18:27:19.593Z
Learnt from: CR
Repo: cri-o/cri-o PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-03T18:27:19.593Z
Learning: Check `internal/version/version.go` for current version and supported versions

Applied to files:

  • scripts/release/release_test.go
  • internal/oci/runtime_oci.go
📚 Learning: 2025-12-03T18:27:19.593Z
Learnt from: CR
Repo: cri-o/cri-o PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-03T18:27:19.593Z
Learning: Applies to **/*.go : Use logrus with structured fields for logging in Go code

Applied to files:

  • scripts/release/release_test.go
  • vendor/github.com/goccy/go-json/internal/runtime/struct_field.go
📚 Learning: 2025-12-03T18:27:19.593Z
Learnt from: CR
Repo: cri-o/cri-o PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-03T18:27:19.593Z
Learning: Applies to **/*.go : Use interface-based design and dependency injection patterns in Go code

Applied to files:

  • server/inspect.go
🧬 Code graph analysis (29)
vendor/github.com/goccy/go-json/internal/decoder/slice.go (2)
vendor/github.com/goccy/go-json/internal/runtime/rtype.go (3)
  • Type2RType (260-262)
  • Type (9-9)
  • RType2Type (253-253)
vendor/github.com/goccy/go-json/internal/decoder/type.go (1)
  • Decoder (11-15)
vendor/github.com/goccy/go-json/internal/encoder/compact.go (4)
vendor/github.com/goccy/go-json/json.go (1)
  • Compact (315-317)
vendor/github.com/goccy/go-json/internal/errors/error.go (4)
  • ErrUnexpectedEndOfJSON (135-140)
  • ErrSyntax (112-114)
  • ErrExpected (142-144)
  • ErrInvalidCharacter (146-157)
vendor/github.com/goccy/go-json/internal/decoder/context.go (2)
  • TakeRuntimeContext (25-27)
  • ReleaseRuntimeContext (29-31)
vendor/github.com/goccy/go-json/internal/encoder/context.go (2)
  • TakeRuntimeContext (99-101)
  • ReleaseRuntimeContext (103-105)
vendor/github.com/goccy/go-json/internal/encoder/vm_color/debug_vm.go (5)
vendor/github.com/goccy/go-json/internal/encoder/option.go (2)
  • Option (21-27)
  • HTMLEscapeOption (11-11)
vendor/github.com/goccy/go-json/internal/encoder/vm/vm.go (1)
  • Run (14-4859)
vendor/github.com/goccy/go-json/internal/encoder/vm_color_indent/vm.go (1)
  • Run (14-4859)
vendor/github.com/goccy/go-json/internal/encoder/vm_indent/vm.go (1)
  • Run (14-4859)
vendor/github.com/goccy/go-json/internal/encoder/vm_color/vm.go (1)
  • Run (14-4859)
vendor/github.com/goccy/go-json/internal/encoder/vm/debug_vm.go (3)
vendor/github.com/goccy/go-json/internal/encoder/context.go (1)
  • RuntimeContext (71-82)
vendor/github.com/goccy/go-json/internal/encoder/option.go (2)
  • Option (21-27)
  • HTMLEscapeOption (11-11)
vendor/github.com/goccy/go-json/internal/encoder/vm/vm.go (1)
  • Run (14-4859)
vendor/github.com/goccy/go-json/query.go (2)
vendor/github.com/goccy/go-json/internal/encoder/query.go (5)
  • FieldQuery (14-18)
  • FieldQueryString (47-47)
  • FieldQueryFromContext (121-131)
  • SetFieldQueryToContext (133-135)
  • Marshal (10-10)
vendor/github.com/goccy/go-json/json.go (1)
  • Marshal (169-171)
vendor/github.com/goccy/go-json/internal/decoder/ptr.go (4)
vendor/github.com/goccy/go-json/internal/decoder/type.go (1)
  • Decoder (11-15)
vendor/github.com/goccy/go-json/internal/runtime/rtype.go (1)
  • Type (9-9)
vendor/github.com/goccy/go-json/internal/decoder/stream.go (1)
  • Stream (17-29)
vendor/github.com/goccy/go-json/internal/decoder/context.go (1)
  • RuntimeContext (10-13)
vendor/github.com/goccy/go-json/internal/decoder/context.go (3)
vendor/github.com/goccy/go-json/internal/decoder/option.go (1)
  • Option (13-17)
vendor/github.com/goccy/go-json/internal/encoder/context.go (1)
  • RuntimeContext (71-82)
vendor/github.com/goccy/go-json/internal/errors/error.go (3)
  • ErrExceededMaxDepth (124-129)
  • ErrUnexpectedEndOfJSON (135-140)
  • ErrInvalidCharacter (146-157)
vendor/github.com/goccy/go-json/internal/decoder/compile_race.go (4)
vendor/github.com/goccy/go-json/internal/decoder/compile_norace.go (1)
  • CompileToGetDecoder (12-30)
vendor/github.com/goccy/go-json/internal/runtime/rtype.go (1)
  • Type (9-9)
vendor/github.com/goccy/go-json/decode.go (1)
  • Decoder (15-17)
vendor/github.com/goccy/go-json/internal/decoder/type.go (1)
  • Decoder (11-15)
vendor/github.com/goccy/go-json/encode.go (4)
vendor/github.com/goccy/go-json/option.go (1)
  • EncodeOptionFunc (11-11)
vendor/github.com/goccy/go-json/internal/decoder/context.go (3)
  • TakeRuntimeContext (25-27)
  • ReleaseRuntimeContext (29-31)
  • RuntimeContext (10-13)
vendor/github.com/goccy/go-json/internal/decoder/option.go (2)
  • Option (13-17)
  • ContextOption (9-9)
vendor/github.com/goccy/go-json/internal/encoder/option.go (5)
  • Option (21-27)
  • ContextOption (16-16)
  • HTMLEscapeOption (11-11)
  • NormalizeUTF8Option (17-17)
  • IndentOption (12-12)
vendor/github.com/goccy/go-json/internal/decoder/float.go (3)
vendor/github.com/goccy/go-json/internal/decoder/stream.go (1)
  • Stream (17-29)
vendor/github.com/goccy/go-json/internal/errors/error.go (2)
  • ErrUnexpectedEndOfJSON (135-140)
  • ErrSyntax (112-114)
vendor/github.com/goccy/go-json/internal/decoder/context.go (1)
  • RuntimeContext (10-13)
vendor/github.com/goccy/go-json/internal/decoder/struct.go (5)
vendor/github.com/goccy/go-json/decode.go (1)
  • Decoder (15-17)
vendor/github.com/goccy/go-json/internal/decoder/stream.go (1)
  • Stream (17-29)
vendor/github.com/goccy/go-json/internal/errors/error.go (5)
  • ErrUnexpectedEndOfJSON (135-140)
  • ErrInvalidBeginningOfValue (159-164)
  • ErrInvalidCharacter (146-157)
  • ErrExceededMaxDepth (124-129)
  • ErrExpected (142-144)
vendor/github.com/goccy/go-json/internal/decoder/option.go (2)
  • Option (13-17)
  • FirstWinOption (8-8)
vendor/github.com/goccy/go-json/internal/decoder/context.go (1)
  • RuntimeContext (10-13)
vendor/github.com/goccy/go-json/internal/encoder/vm_color_indent/debug_vm.go (6)
vendor/github.com/goccy/go-json/internal/decoder/context.go (1)
  • RuntimeContext (10-13)
vendor/github.com/goccy/go-json/internal/encoder/context.go (1)
  • RuntimeContext (71-82)
vendor/github.com/goccy/go-json/internal/encoder/encoder.go (1)
  • OpcodeSet (96-107)
vendor/github.com/goccy/go-json/internal/encoder/opcode.go (1)
  • Opcode (30-51)
vendor/github.com/goccy/go-json/internal/encoder/option.go (2)
  • Option (21-27)
  • HTMLEscapeOption (11-11)
vendor/github.com/goccy/go-json/internal/encoder/vm/vm.go (1)
  • Run (14-4859)
vendor/github.com/goccy/go-json/internal/encoder/map112.go (1)
vendor/github.com/goccy/go-json/internal/encoder/map113.go (1)
  • MapIterValue (9-9)
vendor/github.com/goccy/go-json/internal/decoder/compile.go (5)
vendor/github.com/goccy/go-json/json.go (1)
  • Number (303-303)
vendor/github.com/goccy/go-json/internal/runtime/type.go (2)
  • TypeAddr (19-24)
  • AnalyzeTypeAddr (37-98)
vendor/github.com/goccy/go-json/internal/decoder/type.go (1)
  • Decoder (11-15)
vendor/github.com/goccy/go-json/internal/runtime/rtype.go (3)
  • Type (9-9)
  • PtrTo (241-241)
  • Type2RType (260-262)
vendor/github.com/goccy/go-json/internal/runtime/struct_field.go (2)
  • IsIgnoredStructField (13-30)
  • StructTagFromField (68-91)
vendor/github.com/goccy/go-json/internal/decoder/stream.go (3)
vendor/github.com/goccy/go-json/internal/decoder/option.go (1)
  • Option (13-17)
vendor/github.com/goccy/go-json/json.go (3)
  • Token (300-300)
  • Delim (311-311)
  • Number (303-303)
vendor/github.com/goccy/go-json/internal/errors/error.go (3)
  • ErrInvalidCharacter (146-157)
  • ErrExceededMaxDepth (124-129)
  • ErrUnexpectedEndOfJSON (135-140)
vendor/github.com/goccy/go-json/internal/decoder/bool.go (3)
vendor/github.com/goccy/go-json/internal/decoder/stream.go (1)
  • Stream (17-29)
vendor/github.com/goccy/go-json/internal/errors/error.go (1)
  • ErrUnexpectedEndOfJSON (135-140)
vendor/github.com/goccy/go-json/internal/decoder/context.go (1)
  • RuntimeContext (10-13)
vendor/github.com/goccy/go-json/internal/decoder/invalid.go (3)
vendor/github.com/goccy/go-json/internal/runtime/rtype.go (2)
  • Type (9-9)
  • RType2Type (253-253)
vendor/github.com/goccy/go-json/error.go (1)
  • UnmarshalTypeError (33-33)
vendor/github.com/goccy/go-json/internal/errors/error.go (1)
  • UnmarshalTypeError (76-82)
vendor/github.com/goccy/go-json/internal/runtime/type.go (1)
vendor/github.com/goccy/go-json/internal/runtime/rtype.go (1)
  • Type (9-9)
vendor/github.com/goccy/go-json/internal/encoder/vm/util.go (5)
vendor/github.com/goccy/go-json/internal/encoder/int.go (2)
  • AppendInt (80-132)
  • AppendUint (134-176)
vendor/github.com/goccy/go-json/internal/encoder/map112.go (1)
  • MapIterValue (9-9)
vendor/github.com/goccy/go-json/internal/encoder/map113.go (1)
  • MapIterValue (9-9)
vendor/github.com/goccy/go-json/internal/encoder/opcode.go (1)
  • Opcode (30-51)
vendor/github.com/goccy/go-json/internal/encoder/context.go (1)
  • RuntimeContext (71-82)
vendor/github.com/goccy/go-json/internal/decoder/path.go (3)
vendor/github.com/goccy/go-json/internal/errors/error.go (3)
  • ErrEmptyPath (181-183)
  • ErrInvalidPath (174-179)
  • PathError (166-168)
vendor/github.com/goccy/go-json/internal/decoder/assign.go (1)
  • AssignValue (13-23)
vendor/github.com/goccy/go-json/internal/runtime/struct_field.go (1)
  • StructTagFromField (68-91)
vendor/github.com/goccy/go-json/path.go (3)
vendor/github.com/goccy/go-json/internal/decoder/path.go (4)
  • Path (315-320)
  • PathString (12-12)
  • SingleQuotePathSelector (311-311)
  • DoubleQuotePathSelector (312-312)
vendor/github.com/goccy/go-json/json.go (1)
  • Unmarshal (273-275)
vendor/github.com/goccy/go-json/internal/decoder/assign.go (1)
  • AssignValue (13-23)
vendor/github.com/goccy/go-json/internal/decoder/unmarshal_json.go (5)
vendor/github.com/goccy/go-json/internal/errors/error.go (2)
  • UnmarshalTypeError (76-82)
  • SyntaxError (51-54)
vendor/github.com/goccy/go-json/internal/decoder/stream.go (1)
  • Stream (17-29)
vendor/github.com/goccy/go-json/internal/decoder/option.go (2)
  • Option (13-17)
  • ContextOption (9-9)
vendor/github.com/goccy/go-json/json.go (1)
  • Unmarshaler (31-33)
vendor/github.com/goccy/go-json/internal/decoder/context.go (1)
  • RuntimeContext (10-13)
vendor/github.com/goccy/go-json/internal/runtime/rtype.go (1)
vendor/go.uber.org/mock/mockgen/model/model.go (1)
  • ChanDir (205-205)
vendor/github.com/goccy/go-json/internal/decoder/unmarshal_text.go (3)
vendor/github.com/goccy/go-json/internal/runtime/rtype.go (2)
  • Type (9-9)
  • RType2Type (253-253)
vendor/github.com/goccy/go-json/error.go (2)
  • UnmarshalTypeError (33-33)
  • SyntaxError (23-23)
vendor/github.com/goccy/go-json/internal/decoder/context.go (1)
  • RuntimeContext (10-13)
vendor/github.com/goccy/go-json/internal/encoder/vm_color/util.go (5)
vendor/github.com/goccy/go-json/internal/encoder/encoder.go (12)
  • ErrUnsupportedValue (190-199)
  • ErrUnsupportedFloat (201-206)
  • MapIterInit (300-300)
  • MapIterKey (304-304)
  • MapIterNext (308-308)
  • MapLen (312-312)
  • AppendFloat32 (332-344)
  • AppendFloat64 (346-356)
  • AppendByteSlice (314-330)
  • AppendNumber (385-396)
  • AppendMarshalJSON (398-449)
  • AppendMarshalText (501-522)
vendor/github.com/goccy/go-json/internal/encoder/map112.go (1)
  • MapIterValue (9-9)
vendor/github.com/goccy/go-json/internal/encoder/map113.go (1)
  • MapIterValue (9-9)
vendor/github.com/goccy/go-json/internal/encoder/optype.go (1)
  • OpType (428-428)
vendor/github.com/goccy/go-json/internal/encoder/opcode.go (1)
  • Opcode (30-51)
vendor/github.com/goccy/go-json/internal/encoder/vm_indent/util.go (7)
vendor/github.com/goccy/go-json/internal/encoder/int.go (2)
  • AppendInt (80-132)
  • AppendUint (134-176)
vendor/github.com/goccy/go-json/internal/encoder/encoder.go (2)
  • AppendFloat32 (332-344)
  • AppendFloat64 (346-356)
vendor/github.com/goccy/go-json/internal/encoder/map112.go (1)
  • MapIterValue (9-9)
vendor/github.com/goccy/go-json/internal/encoder/map113.go (1)
  • MapIterValue (9-9)
vendor/github.com/goccy/go-json/internal/encoder/opcode.go (1)
  • Opcode (30-51)
vendor/github.com/goccy/go-json/internal/decoder/context.go (1)
  • RuntimeContext (10-13)
vendor/github.com/goccy/go-json/internal/encoder/indent.go (1)
  • Indent (18-37)
vendor/github.com/goccy/go-json/internal/encoder/encoder.go (3)
vendor/github.com/goccy/go-json/internal/encoder/optype.go (7)
  • OpType (428-428)
  • OpStructHead (655-655)
  • OpStructHeadSlice (527-527)
  • OpStructHeadArray (519-519)
  • OpStructHeadMap (523-523)
  • OpStructHeadStruct (531-531)
  • OpStructHeadOmitEmpty (656-656)
vendor/github.com/goccy/go-json/internal/encoder/opcode.go (3)
  • Opcode (30-51)
  • AddrForMarshalerFlags (23-23)
  • MarshalerContextFlags (26-26)
vendor/github.com/goccy/go-json/internal/encoder/context.go (1)
  • RuntimeContext (71-82)
vendor/github.com/goccy/go-json/json.go (5)
vendor/github.com/goccy/go-json/internal/encoder/query.go (2)
  • Marshal (10-10)
  • Unmarshal (11-11)
vendor/github.com/goccy/go-json/option.go (2)
  • EncodeOptionFunc (11-11)
  • DecodeOptionFunc (67-67)
vendor/github.com/goccy/go-json/internal/encoder/compact.go (1)
  • Compact (27-45)
vendor/github.com/goccy/go-json/internal/encoder/indent.go (1)
  • Indent (18-37)
vendor/github.com/goccy/go-json/decode.go (1)
  • NewDecoder (180-185)
vendor/github.com/goccy/go-json/internal/encoder/code.go (4)
vendor/github.com/goccy/go-json/internal/encoder/query.go (1)
  • FieldQuery (14-18)
vendor/github.com/goccy/go-json/internal/encoder/opcode.go (2)
  • Opcode (30-51)
  • OpFlags (15-15)
vendor/github.com/goccy/go-json/internal/runtime/rtype.go (2)
  • Type (9-9)
  • Type2RType (260-262)
vendor/github.com/goccy/go-json/internal/runtime/struct_field.go (2)
  • StructTags (40-40)
  • StructTag (32-38)
🪛 checkmake (0.2.2)
vendor/github.com/goccy/go-json/Makefile

[warning] 37-37: Missing required phony target "all"

(minphony)


[warning] 37-37: Missing required phony target "clean"

(minphony)


[warning] 37-37: Missing required phony target "test"

(minphony)

🪛 LanguageTool
vendor/github.com/goccy/go-json/CHANGELOG.md

[grammar] ~348-~348: Use a hyphen to join words.
Context: ...x decoder * Fix decoder for invalid top level value ( #184 ) * Fix decoder for i...

(QB_NEW_EN_HYPHEN)


[uncategorized] ~415-~415: Do not mix variants of the same word (‘prefilled’ and ‘pre-filled’) within a single text.
Context: ...ding of invalid value * Fix decoding of prefilled value * Fix not being able to return Un...

(EN_WORD_COHERENCY)


[grammar] ~419-~419: Use a hyphen to join words.
Context: ...ecoding of type of null string * Use pre allocated pointer if exists it at decodi...

(QB_NEW_EN_HYPHEN)

vendor/github.com/goccy/go-json/README.md

[style] ~76-~76: Consider a more formal alternative to strengthen your wording.
Context: ...) Benchmarking gave very slow results. It seems that it is assumed that the user will u...

(SEEM_APPEAR)


[style] ~77-~77: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...user will use the buffer pool properly. Also, development seems to have already stop...

(REP_SENT_START_ALSO)


[grammar] ~298-~298: Ensure spelling is correct
Context: ...s to 3 opcodes ! Reducing the number of opcodees means reducing the number of branches w...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[style] ~356-~356: Consider using an alternative to strengthen your wording.
Context: ... based process described above. If you want to know more, please refer to the imple...

(WANT_KEEN)


[style] ~365-~365: Consider a more concise word here.
Context: ...aracter inspection using NUL character In order to decode, you have to traverse the input ...

(IN_ORDER_TO_PREMIUM)


[style] ~514-~514: Consider using a synonym to be more concise.
Context: ... memory usage. ### Others I have done a lot of other optimizations. I will find time t...

(A_LOT_OF)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (28)
  • GitHub Check: integration / userns / crun / amd64
  • GitHub Check: critest / conmon-rs / crun / amd64
  • GitHub Check: integration / conmon-rs / crun / amd64
  • GitHub Check: integration / conmon / crun / amd64
  • GitHub Check: rpm-build:fedora-43-aarch64:fedora-rawhide
  • GitHub Check: rpm-build:centos-stream-9-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-rawhide-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:centos-stream-9-aarch64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-rawhide-aarch64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-43-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-43-aarch64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-rawhide-aarch64:fedora-rawhide
  • GitHub Check: rpm-build:centos-stream-9-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:centos-stream-9-aarch64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-43-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-rawhide-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-rawhide-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:centos-stream-9-aarch64:fedora-rawhide
  • GitHub Check: rpm-build:centos-stream-9-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-43-aarch64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-rawhide-aarch64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-43-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:centos-stream-9-aarch64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-rawhide-aarch64:fedora-rawhide
  • GitHub Check: rpm-build:centos-stream-9-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-rawhide-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-43-x86_64:fedora-rawhide
  • GitHub Check: rpm-build:fedora-43-aarch64:fedora-rawhide

@bitoku
Copy link
Contributor

bitoku commented Dec 12, 2025

/retest

@bitoku
Copy link
Contributor

bitoku commented Dec 12, 2025

/unhold

@openshift-ci openshift-ci bot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Dec 12, 2025
@sohankunkerkar
Copy link
Member Author

It needs lgtm too

@bitoku
Copy link
Contributor

bitoku commented Dec 12, 2025

yeah I'm just waiting for the github actions to pass.

@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Dec 21, 2025
@openshift-merge-robot openshift-merge-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Dec 22, 2025
@bitoku
Copy link
Contributor

bitoku commented Dec 22, 2025

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Dec 22, 2025
@openshift-merge-bot openshift-merge-bot bot merged commit 8e6c6a3 into cri-o:main Dec 22, 2025
78 of 81 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. dco-signoff: yes Indicates the PR's author has DCO signed all their commits. kind/dependency-change Categorizes issue or PR as related to changing dependencies lgtm Indicates that a PR is ready to be merged. release-note-none Denotes a PR that doesn't merit a release note.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

crio panics and writes strange container started at time

4 participants