Skip to content

Fix; renderComponent error: 'Cannot read property of undefined: reading syscall'#20996

Open
NullVoxPopuli wants to merge 2 commits intoemberjs:mainfrom
NullVoxPopuli:nvp/renderComponent/cannot-read-properties-of-null-reading-syscall
Open

Fix; renderComponent error: 'Cannot read property of undefined: reading syscall'#20996
NullVoxPopuli wants to merge 2 commits intoemberjs:mainfrom
NullVoxPopuli:nvp/renderComponent/cannot-read-properties-of-null-reading-syscall

Conversation

@NullVoxPopuli
Copy link
Contributor

Similar to: #20995

but maybe more representative of real-world usage (renderComponent called from a modifier, or external library, etc).

When the owner is passed to renderComponent, and renderComponent is called multiple times, we get this error:

Error occurred:

- While rendering:
  {ROOT}
    (unknown template-only component)

index.js:122 Uncaught (in promise) TypeError: Cannot read properties of null (reading 'syscall')
    at Object.evaluate (index.js:122:17)
    at LowLevelVM.evaluateSyscall (index.js:2900:20)
    at LowLevelVM.evaluateInner (index.js:2879:64)
    at LowLevelVM.evaluateOuter (index.js:2876:10)
    at VM.next (index.js:4194:45)
    at VM._execute (index.js:4184:21)
    at VM.execute (index.js:4164:26)
    at index.js:4221:76
    at debug.runInTrackingTransaction (index.js:42:19)
    at TemplateIteratorImpl.sync (index.js:4221:37)

@github-actions
Copy link
Contributor

github-actions bot commented Oct 30, 2025

Estimated Asset Sizes

Diff

--- main/out.txt	2026-01-30 19:10:24.000000000 +0000
+++ pr/./pr-21730181846/out.txt	2026-02-05 22:03:40.000000000 +0000
@@ -1,37 +1,37 @@
 ╔═══════╤═══════════╤═══════════╗
 ║       │ Min       │ Gzip      ║
 ╟───────┼───────────┼───────────╢
-║ Total │ 352.26 KB │ 203.67 KB ║
+║ Total │ 352.26 KB │ 203.55 KB ║
 ╚═══════╧═══════════╧═══════════╝
 
 ╔══════════════════════╤═══════════╤═══════════╗
 ║ @ember/*             │ Min       │ Gzip      ║
 ╟──────────────────────┼───────────┼───────────╢
-║ Total                │ 313.87 KB │ 181.82 KB ║
+║ Total                │ 313.87 KB │ 181.79 KB ║
 ╟──────────────────────┼───────────┼───────────╢
-║ -internals           │ 36.68 KB  │ 26.02 KB  ║
-║ application          │ 13.24 KB  │ 8.03 KB   ║
+║ -internals           │ 36.68 KB  │ 25.99 KB  ║
+║ application          │ 13.24 KB  │ 7.99 KB   ║
 ║ array                │ 13.05 KB  │ 7.54 KB   ║
 ║ canary-features      │ 304 B     │ 419 B     ║
-║ component            │ 2.05 KB   │ 1.56 KB   ║
+║ component            │ 2.05 KB   │ 1.6 KB    ║
 ║ controller           │ 1.96 KB   │ 1.45 KB   ║
 ║ debug                │ 11.73 KB  │ 8.14 KB   ║
 ║ deprecated-features  │ 31 B      │ 77 B      ║
 ║ destroyable          │ 561 B     │ 383 B     ║
 ║ enumerable           │ 259 B     │ 387 B     ║
-║ helper               │ 1.08 KB   │ 805 B     ║
+║ helper               │ 1.08 KB   │ 860 B     ║
 ║ instrumentation      │ 2.43 KB   │ 1.78 KB   ║
-║ modifier             │ 1.22 KB   │ 1011 B    ║
+║ modifier             │ 1.22 KB   │ 987 B     ║
 ║ object               │ 35.98 KB  │ 22.1 KB   ║
 ║ owner                │ 159 B     │ 178 B     ║
-║ renderer             │ 630 B     │ 508 B     ║
-║ routing              │ 59.37 KB  │ 33.92 KB  ║
+║ renderer             │ 630 B     │ 510 B     ║
+║ routing              │ 59.37 KB  │ 33.93 KB  ║
 ║ runloop              │ 2.36 KB   │ 1.5 KB    ║
 ║ service              │ 1 KB      │ 858 B     ║
-║ template             │ 654 B     │ 523 B     ║
+║ template             │ 654 B     │ 517 B     ║
 ║ template-compilation │ 429 B     │ 366 B     ║
-║ template-compiler    │ 123.33 KB │ 59.68 KB  ║
-║ template-factory     │ 370 B     │ 351 B     ║
+║ template-compiler    │ 123.33 KB │ 59.61 KB  ║
+║ template-factory     │ 370 B     │ 385 B     ║
 ║ test                 │ 923 B     │ 627 B     ║
 ║ utils                │ 4.11 KB   │ 3.63 KB   ║
 ║ version              │ 55 B      │ 131 B     ║
@@ -40,19 +40,19 @@
 ╔═════════════════╤══════════╤══════════╗
 ║ @glimmer/*      │ Min      │ Gzip     ║
 ╟─────────────────┼──────────┼──────────╢
-║ Total           │ 38.38 KB │ 21.85 KB ║
+║ Total           │ 38.38 KB │ 21.75 KB ║
 ╟─────────────────┼──────────┼──────────╢
 ║ destroyable     │ 2.78 KB  │ 1.38 KB  ║
 ║ encoder         │ 81 B     │ 171 B    ║
 ║ env             │ 38 B     │ 87 B     ║
 ║ global-context  │ 886 B    │ 545 B    ║
 ║ manager         │ 977 B    │ 627 B    ║
-║ node            │ 175 B    │ 244 B    ║
+║ node            │ 175 B    │ 268 B    ║
 ║ opcode-compiler │ 1.11 KB  │ 905 B    ║
 ║ owner           │ 159 B    │ 202 B    ║
-║ program         │ 252 B    │ 333 B    ║
+║ program         │ 252 B    │ 308 B    ║
 ║ reference       │ 548 B    │ 544 B    ║
-║ runtime         │ 10.32 KB │ 5.3 KB   ║
+║ runtime         │ 10.32 KB │ 5.21 KB  ║
 ║ tracking        │ 1.34 KB  │ 1.18 KB  ║
 ║ util            │ 1.94 KB  │ 1.6 KB   ║
 ║ validator       │ 15.53 KB │ 6.9 KB   ║

Details

This PRmain
╔═══════╤═══════════╤═══════════╗
║       │ Min       │ Gzip      ║
╟───────┼───────────┼───────────╢
║ Total │ 352.26 KB │ 203.55 KB ║
╚═══════╧═══════════╧═══════════╝

╔══════════════════════╤═══════════╤═══════════╗
║ @ember/*             │ Min       │ Gzip      ║
╟──────────────────────┼───────────┼───────────╢
║ Total                │ 313.87 KB │ 181.79 KB ║
╟──────────────────────┼───────────┼───────────╢
║ -internals           │ 36.68 KB  │ 25.99 KB  ║
║ application          │ 13.24 KB  │ 7.99 KB   ║
║ array                │ 13.05 KB  │ 7.54 KB   ║
║ canary-features      │ 304 B     │ 419 B     ║
║ component            │ 2.05 KB   │ 1.6 KB    ║
║ controller           │ 1.96 KB   │ 1.45 KB   ║
║ debug                │ 11.73 KB  │ 8.14 KB   ║
║ deprecated-features  │ 31 B      │ 77 B      ║
║ destroyable          │ 561 B     │ 383 B     ║
║ enumerable           │ 259 B     │ 387 B     ║
║ helper               │ 1.08 KB   │ 860 B     ║
║ instrumentation      │ 2.43 KB   │ 1.78 KB   ║
║ modifier             │ 1.22 KB   │ 987 B     ║
║ object               │ 35.98 KB  │ 22.1 KB   ║
║ owner                │ 159 B     │ 178 B     ║
║ renderer             │ 630 B     │ 510 B     ║
║ routing              │ 59.37 KB  │ 33.93 KB  ║
║ runloop              │ 2.36 KB   │ 1.5 KB    ║
║ service              │ 1 KB      │ 858 B     ║
║ template             │ 654 B     │ 517 B     ║
║ template-compilation │ 429 B     │ 366 B     ║
║ template-compiler    │ 123.33 KB │ 59.61 KB  ║
║ template-factory     │ 370 B     │ 385 B     ║
║ test                 │ 923 B     │ 627 B     ║
║ utils                │ 4.11 KB   │ 3.63 KB   ║
║ version              │ 55 B      │ 131 B     ║
╚══════════════════════╧═══════════╧═══════════╝

╔═════════════════╤══════════╤══════════╗
║ @glimmer/*      │ Min      │ Gzip     ║
╟─────────────────┼──────────┼──────────╢
║ Total           │ 38.38 KB │ 21.75 KB ║
╟─────────────────┼──────────┼──────────╢
║ destroyable     │ 2.78 KB  │ 1.38 KB  ║
║ encoder         │ 81 B     │ 171 B    ║
║ env             │ 38 B     │ 87 B     ║
║ global-context  │ 886 B    │ 545 B    ║
║ manager         │ 977 B    │ 627 B    ║
║ node            │ 175 B    │ 268 B    ║
║ opcode-compiler │ 1.11 KB  │ 905 B    ║
║ owner           │ 159 B    │ 202 B    ║
║ program         │ 252 B    │ 308 B    ║
║ reference       │ 548 B    │ 544 B    ║
║ runtime         │ 10.32 KB │ 5.21 KB  ║
║ tracking        │ 1.34 KB  │ 1.18 KB  ║
║ util            │ 1.94 KB  │ 1.6 KB   ║
║ validator       │ 15.53 KB │ 6.9 KB   ║
║ vm              │ 495 B    │ 569 B    ║
║ wire-format     │ 1.84 KB  │ 1.35 KB  ║
╚═════════════════╧══════════╧══════════╝
╔═══════╤═══════════╤═══════════╗
║       │ Min       │ Gzip      ║
╟───────┼───────────┼───────────╢
║ Total │ 352.26 KB │ 203.67 KB ║
╚═══════╧═══════════╧═══════════╝

╔══════════════════════╤═══════════╤═══════════╗
║ @ember/*             │ Min       │ Gzip      ║
╟──────────────────────┼───────────┼───────────╢
║ Total                │ 313.87 KB │ 181.82 KB ║
╟──────────────────────┼───────────┼───────────╢
║ -internals           │ 36.68 KB  │ 26.02 KB  ║
║ application          │ 13.24 KB  │ 8.03 KB   ║
║ array                │ 13.05 KB  │ 7.54 KB   ║
║ canary-features      │ 304 B     │ 419 B     ║
║ component            │ 2.05 KB   │ 1.56 KB   ║
║ controller           │ 1.96 KB   │ 1.45 KB   ║
║ debug                │ 11.73 KB  │ 8.14 KB   ║
║ deprecated-features  │ 31 B      │ 77 B      ║
║ destroyable          │ 561 B     │ 383 B     ║
║ enumerable           │ 259 B     │ 387 B     ║
║ helper               │ 1.08 KB   │ 805 B     ║
║ instrumentation      │ 2.43 KB   │ 1.78 KB   ║
║ modifier             │ 1.22 KB   │ 1011 B    ║
║ object               │ 35.98 KB  │ 22.1 KB   ║
║ owner                │ 159 B     │ 178 B     ║
║ renderer             │ 630 B     │ 508 B     ║
║ routing              │ 59.37 KB  │ 33.92 KB  ║
║ runloop              │ 2.36 KB   │ 1.5 KB    ║
║ service              │ 1 KB      │ 858 B     ║
║ template             │ 654 B     │ 523 B     ║
║ template-compilation │ 429 B     │ 366 B     ║
║ template-compiler    │ 123.33 KB │ 59.68 KB  ║
║ template-factory     │ 370 B     │ 351 B     ║
║ test                 │ 923 B     │ 627 B     ║
║ utils                │ 4.11 KB   │ 3.63 KB   ║
║ version              │ 55 B      │ 131 B     ║
╚══════════════════════╧═══════════╧═══════════╝

╔═════════════════╤══════════╤══════════╗
║ @glimmer/*      │ Min      │ Gzip     ║
╟─────────────────┼──────────┼──────────╢
║ Total           │ 38.38 KB │ 21.85 KB ║
╟─────────────────┼──────────┼──────────╢
║ destroyable     │ 2.78 KB  │ 1.38 KB  ║
║ encoder         │ 81 B     │ 171 B    ║
║ env             │ 38 B     │ 87 B     ║
║ global-context  │ 886 B    │ 545 B    ║
║ manager         │ 977 B    │ 627 B    ║
║ node            │ 175 B    │ 244 B    ║
║ opcode-compiler │ 1.11 KB  │ 905 B    ║
║ owner           │ 159 B    │ 202 B    ║
║ program         │ 252 B    │ 333 B    ║
║ reference       │ 548 B    │ 544 B    ║
║ runtime         │ 10.32 KB │ 5.3 KB   ║
║ tracking        │ 1.34 KB  │ 1.18 KB  ║
║ util            │ 1.94 KB  │ 1.6 KB   ║
║ validator       │ 15.53 KB │ 6.9 KB   ║
║ vm              │ 495 B    │ 569 B    ║
║ wire-format     │ 1.84 KB  │ 1.35 KB  ║
╚═════════════════╧══════════╧══════════╝

@NullVoxPopuli NullVoxPopuli force-pushed the nvp/renderComponent/cannot-read-properties-of-null-reading-syscall branch from cfc8994 to 61f7f8e Compare November 19, 2025 18:15
@NullVoxPopuli NullVoxPopuli force-pushed the nvp/renderComponent/cannot-read-properties-of-null-reading-syscall branch from 61f7f8e to 1eea38a Compare February 5, 2026 21:46
@NullVoxPopuli
Copy link
Contributor Author

Normally, I'd say we backport this, but I don't think we can pre-great merge

@NullVoxPopuli NullVoxPopuli marked this pull request as ready for review February 5, 2026 22:08
@NullVoxPopuli NullVoxPopuli changed the title Reproduce renderComponent error: 'Cannot read property of undefined: reading syscall' Fix; renderComponent error: 'Cannot read property of undefined: reading syscall' Feb 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant