Skip to content

Runtime error when creating data for JSON type with cyclic reference #2654

@jiashengguo

Description

@jiashengguo
type A {
    name String
    b    B
}

type B {
    a A[]
    x String
}

model User {
    id String @id @default(cuid())
    a  A      @json
}
 const data = await db.user.create({
    data: {
      id: randomUUID(),
      a: { name: "abc", b: { x: "123", a: [] } },
    },
  });
RangeError: Maximum call stack size exceeded
    at init (file:///Users/jiasheng/Work/repo/v3-test/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/core.js:6:18)
    at new ZodString (file:///Users/jiasheng/Work/repo/v3-test/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/core.js:40:9)
    at Module._string (file:///Users/jiasheng/Work/repo/v3-test/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/api.js:7:12)
    at Module.string (file:///Users/jiasheng/Work/repo/v3-test/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/schemas.js:159:17)
    at <anonymous> (/Users/jiasheng/Work/repo/v3-test/node_modules/.pnpm/@zenstackhq+orm@3.6.4_better-sqlite3@12.6.2_mysql2@3.20.0_@types+node@25.3.3__pg@8.19.0_zod@4.3.6/node_modules/@zenstackhq/orm/dist/index.mjs:2223:112)
    at R.with (/Users/jiasheng/Work/repo/v3-test/node_modules/.pnpm/ts-pattern@5.9.0/node_modules/ts-pattern/src/match.ts:87:18)
    at ZodSchemaFactory.makeScalarSchema (/Users/jiasheng/Work/repo/v3-test/node_modules/.pnpm/@zenstackhq+orm@3.6.4_better-sqlite3@12.6.2_mysql2@3.20.0_@types+node@25.3.3__pg@8.19.0_zod@4.3.6/node_modules/@zenstackhq/orm/dist/index.mjs:2223:31)
    at <anonymous> (/Users/jiasheng/Work/repo/v3-test/node_modules/.pnpm/@zenstackhq+orm@3.6.4_better-sqlite3@12.6.2_mysql2@3.20.0_@types+node@25.3.3__pg@8.19.0_zod@4.3.6/node_modules/@zenstackhq/orm/dist/index.mjs:2242:27)
    at Array.map (<anonymous>)
    at ZodSchemaFactory.makeTypeDefSchema (/Users/jiasheng/Work/repo/v3-test/node_modules/.pnpm/@zenstackhq+orm@3.6.4_better-sqlite3@12.6.2_mysql2@3.20.0_@types+node@25.3.3__pg@8.19.0_zod@4.3.6/node_modules/@zenstackhq/orm/dist/index.mjs:2241:84)

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions