Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

generate hangs on "Build Template" and never Completes #206

Open
mmmeff opened this issue Apr 15, 2023 · 8 comments
Open

generate hangs on "Build Template" and never Completes #206

mmmeff opened this issue Apr 15, 2023 · 8 comments
Labels
bug Something isn't working

Comments

@mmmeff
Copy link

mmmeff commented Apr 15, 2023

Describe the bug

Just set up magidoc and haven't been able to get it to work. Running my API locally, it has a very large schema with many auto-generated input and output types by typegraphql-prisma.

When I run generate, it seems to get stuck on the Build Template stage. I've waited > 20 minutes and nothing is happening.

Reproduction

Magidoc config:

export default {
  introspection: {
    type: 'url',
    url: 'http://localhost:8911/graphql',
  },
  website: {
    template: 'carbon-multi-page',
    output: 'public/docs',
    options: {
      appTitle: 'Fusion API',
      siteRoot: '/docs',
    },
  },
}

Project is private so I'm unable to share schema, but I can provide counts of queries, mutations, and types:

  • Queries: 209
  • Mutations: 335
  • Types: 4067

Logs

$ magidoc generate
✔ Determine tmp directories [0.0s]
✔ Select Package Manager [0.2s]
  › Selected npm
    ⚠️ This package manager is not well supported yet.
    ⚠️ It is recommended to install pnpm instead.
↓ Template already unzipped. [SKIPPED]
↓ Template already unzipped [SKIPPED]
✔ Install dependencies [0.8s]
✔ Resolving template configuration [0.0s]
  › Found 12 supported keys
    Target schema location: ./src/_schema.graphqls
✔ Load GraphQL Schema [0.1s]
✔ Write variables file [0.0s]
⠹ Build template
◼ Move output


### System Info

```shell
System:
    OS: macOS 13.0.1
    CPU: (8) arm64 Apple M1 Pro
    Memory: 28.28 MB / 32.00 GB
    Shell: 5.8.1 - /bin/zsh
  Binaries:
    Node: 18.16.0 - ~/.nvm/versions/node/v18.16.0/bin/node
    npm: 9.5.1 - ~/.nvm/versions/node/v18.16.0/bin/npm
  Browsers:
    Chrome: 112.0.5615.49
    Firefox: 109.0.1
    Safari: 16.1


### Severity

Blocking all usage of Magidoc
@mmmeff mmmeff added the bug Something isn't working label Apr 15, 2023
@mmmeff
Copy link
Author

mmmeff commented Apr 15, 2023

After 30 minutes, it finally failed. Here's the output:

yarn run v1.22.19
$ magidoc generate
✔ Determine tmp directories [0.0s]
✔ Determine tmp directories [0.0s]
✔ Select Package Manager [0.2s]
  › Selected npm
    ⚠️ This package manager is not well supported yet.
    ⚠️ It is recommended to install pnpm instead.
↓ Template already unzipped. [SKIPPED]
↓ Template already unzipped [SKIPPED]
✔ Install dependencies [0.9s]
✔ Resolving template configuration [0.0s]
  › Found 12 supported keys
    Target schema location: ./src/_schema.graphqls
✔ Load GraphQL Schema [0.2s]
✔ Write variables file [0.0s]
✖ Build template
◼ Move output
Command 'npm' failed with status 1 when executed in directory /var/folders/fx/d8_969t55lb16x4y0wdrz97w0000gp/T/[email protected]

---- Program Output----

> @magidoc/[email protected] build
> svelte-kit sync && vite build


vite v4.2.1 building SSR bundle for production...
transforming...
4:02:06 PM [vite-plugin-svelte] /node_modules/carbon-components-svelte/src/UIShell/SideNavMenu.svelte:51:2 A11y: Non-interactive element <ul> cannot have interactive role 'menu'
49:     </div>
50:   </button>
51:   <ul
      ^
52:     role="menu"
53:     class:bx--side-nav__menu="{true}"
4:02:06 PM [vite-plugin-svelte] /node_modules/carbon-components-svelte/src/Tabs/Tabs.svelte:154:2 A11y: Non-interactive element <ul> cannot have interactive role 'tablist'
152:     <ChevronDown aria-hidden="true" title="{iconDescription}" />
153:   </div>
154:   <ul
       ^
155:     bind:this="{refTabList}"
156:     role="tablist"
"GraphQLDirective", "GraphQLInterfaceType" and "GraphQLObjectType" are imported from external module "graphql" but never used in "src/lib/components/tags/TypeTag.svelte", "src/lib/model.ts", "src/lib/components/common/text/TypeLink.svelte", "src/lib/components/tags/NullableTag.svelte", "src/lib/components/tags/DirectiveTag.svelte" and "src/routes/types/[type]/+page.svelte".
✓ 2254 modules transformed.
4:02:13 PM [vite-plugin-svelte] ssr compile done.
package                                 files    time     avg
@magidoc/starter-carbon-multi-page       2145   3.11s   1.5ms
rendering chunks...

vite v4.2.1 building for production...
transforming...
4:02:15 PM [vite-plugin-svelte] /node_modules/carbon-components-svelte/src/UIShell/SideNavMenu.svelte:51:2 A11y: Non-interactive element <ul> cannot have interactive role 'menu'
49:     </div>
50:   </button>
51:   <ul
      ^
52:     role="menu"
53:     class:bx--side-nav__menu="{true}"
4:02:15 PM [vite-plugin-svelte] /node_modules/carbon-components-svelte/src/Tabs/Tabs.svelte:154:2 A11y: Non-interactive element <ul> cannot have interactive role 'tablist'
152:     <ChevronDown aria-hidden="true" title="{iconDescription}" />
153:   </div>
154:   <ul
       ^
155:     bind:this="{refTabList}"
156:     role="tablist"
✓ 2439 modules transformed.
4:02:33 PM [vite-plugin-svelte] dom compile done.
package                                 files     time    avg
@magidoc/starter-carbon-multi-page       2145   10.36s  4.8ms
rendering chunks...
computing gzip size...
.svelte-kit/output/client/_app/version.json                                                            0.03 kB
.svelte-kit/output/client/vite-manifest.json                                                          15.04 kB
.svelte-kit/output/client/_app/immutable/assets/_commonjsHelpers.43b693e1.css                          0.05 kB │ gzip:   0.07 kB
.svelte-kit/output/client/_app/immutable/assets/ArgsList.957ebbf5.css                                  0.08 kB │ gzip:   0.09 kB
.svelte-kit/output/client/_app/immutable/assets/DirectiveTag.771fbf22.css                              0.08 kB │ gzip:   0.09 kB
.svelte-kit/output/client/_app/immutable/assets/_error.02be4262.css                                    0.13 kB │ gzip:   0.13 kB
.svelte-kit/output/client/_app/immutable/assets/FieldDetails.c7cbfd6e.css                              0.18 kB │ gzip:   0.14 kB
.svelte-kit/output/client/_app/immutable/assets/_page.e20843b5.css                                     0.29 kB │ gzip:   0.21 kB
.svelte-kit/output/client/_app/immutable/assets/ChevronDown.1a5af1df.css                               2.00 kB │ gzip:   0.67 kB
.svelte-kit/output/client/_app/immutable/assets/PreviousNextPage.4a5fa1bb.css                          2.58 kB │ gzip:   0.82 kB
.svelte-kit/output/client/_app/immutable/assets/_layout.0b8e2206.css                                 754.96 kB │ gzip:  66.50 kB
.svelte-kit/output/client/_app/immutable/chunks/2.0b526743.js                                          0.06 kB │ gzip:   0.08 kB
.svelte-kit/output/client/_app/immutable/chunks/1.e859472f.js                                          0.09 kB │ gzip:   0.10 kB
.svelte-kit/output/client/_app/immutable/chunks/0.1ea00e48.js                                          0.09 kB │ gzip:   0.10 kB
.svelte-kit/output/client/_app/immutable/chunks/3.5c509773.js                                          0.15 kB │ gzip:   0.13 kB
.svelte-kit/output/client/_app/immutable/chunks/8.647ab61e.js                                          0.15 kB │ gzip:   0.14 kB
.svelte-kit/output/client/_app/immutable/chunks/6.d4a22ebd.js                                          0.15 kB │ gzip:   0.14 kB
.svelte-kit/output/client/_app/immutable/chunks/index.b1f5b21f.js                                      0.16 kB │ gzip:   0.14 kB
.svelte-kit/output/client/_app/immutable/chunks/5.5568da0c.js                                          0.16 kB │ gzip:   0.14 kB
.svelte-kit/output/client/_app/immutable/chunks/4.14171a4b.js                                          0.16 kB │ gzip:   0.14 kB
.svelte-kit/output/client/_app/immutable/entry/_page.ts.d32a3c94.js                                    0.16 kB │ gzip:   0.13 kB
.svelte-kit/output/client/_app/immutable/entry/_...page_-page.ts.6a9ac7f8.js                           0.16 kB │ gzip:   0.13 kB
.svelte-kit/output/client/_app/immutable/chunks/7.b86aca12.js                                          0.17 kB │ gzip:   0.14 kB
.svelte-kit/output/client/_app/immutable/chunks/paths.dcc03107.js                                      0.18 kB │ gzip:   0.14 kB
.svelte-kit/output/client/_app/immutable/entry/queries-_query_-page.ts.ad29a2f2.js                     0.20 kB │ gzip:   0.14 kB
.svelte-kit/output/client/_app/immutable/entry/types-_type_-page.ts.fecf6983.js                        0.20 kB │ gzip:   0.14 kB
.svelte-kit/output/client/_app/immutable/entry/mutations-_mutation_-page.ts.c70433ef.js                0.20 kB │ gzip:   0.15 kB
.svelte-kit/output/client/_app/immutable/entry/subscriptions-_subscription_-page.ts.6083132a.js        0.20 kB │ gzip:   0.15 kB
.svelte-kit/output/client/_app/immutable/entry/directives-_directive_-page.ts.394610f6.js              0.20 kB │ gzip:   0.14 kB
.svelte-kit/output/client/_app/immutable/chunks/stores.c72bfd66.js                                     0.24 kB │ gzip:   0.17 kB
.svelte-kit/output/client/_app/immutable/chunks/control.e7f5239e.js                                    0.26 kB │ gzip:   0.18 kB
.svelte-kit/output/client/_app/immutable/chunks/_page.d54b1ea9.js                                      0.27 kB │ gzip:   0.22 kB
.svelte-kit/output/client/_app/immutable/chunks/_page.22740ad1.js                                      0.37 kB │ gzip:   0.29 kB
.svelte-kit/output/client/_app/immutable/chunks/_page.ee0e30d1.js                                      0.41 kB │ gzip:   0.31 kB
.svelte-kit/output/client/_app/immutable/chunks/_page.3aca4360.js                                      0.43 kB │ gzip:   0.31 kB
.svelte-kit/output/client/_app/immutable/chunks/_page.749afeaa.js                                      0.43 kB │ gzip:   0.32 kB
.svelte-kit/output/client/_app/immutable/chunks/_page.263c97ba.js                                      0.43 kB │ gzip:   0.31 kB
.svelte-kit/output/client/_app/immutable/chunks/_page.dd1f5a63.js                                      0.43 kB │ gzip:   0.31 kB
.svelte-kit/output/client/_app/immutable/chunks/index.7efa54d8.js                                      0.82 kB │ gzip:   0.50 kB
.svelte-kit/output/client/_app/immutable/entry/queries-_query_-page.svelte.f64c2ae2.js                 1.10 kB │ gzip:   0.62 kB
.svelte-kit/output/client/_app/immutable/entry/mutations-_mutation_-page.svelte.b3301132.js            1.11 kB │ gzip:   0.62 kB
.svelte-kit/output/client/_app/immutable/entry/subscriptions-_subscription_-page.svelte.93e59fb6.js    1.12 kB │ gzip:   0.63 kB
.svelte-kit/output/client/_app/immutable/entry/_...page_-page.svelte.6e097ea1.js                       1.16 kB │ gzip:   0.61 kB
.svelte-kit/output/client/_app/immutable/entry/_error.svelte.c12fa99a.js                               1.16 kB │ gzip:   0.72 kB
.svelte-kit/output/client/_app/immutable/chunks/pages.efba149b.js                                      2.02 kB │ gzip:   1.09 kB
.svelte-kit/output/client/_app/immutable/chunks/singletons.1d24427b.js                                 2.31 kB │ gzip:   1.20 kB
.svelte-kit/output/client/_app/immutable/chunks/DirectiveTag.51705b9e.js                               2.66 kB │ gzip:   1.36 kB
.svelte-kit/output/client/_app/immutable/chunks/prism-json.106361a3.js                                 2.98 kB │ gzip:   1.27 kB
.svelte-kit/output/client/_app/immutable/entry/directives-_directive_-page.svelte.e8597714.js          3.04 kB │ gzip:   1.33 kB
.svelte-kit/output/client/_app/immutable/chunks/Button.0b5eba02.js                                     9.80 kB │ gzip:   3.36 kB
.svelte-kit/output/client/_app/immutable/entry/app.f9e5ec64.js                                        11.35 kB │ gzip:   2.97 kB
.svelte-kit/output/client/_app/immutable/chunks/index.42f0ee29.js                                     13.62 kB │ gzip:   5.52 kB
.svelte-kit/output/client/_app/immutable/chunks/ArgsList.e4d04adb.js                                  14.43 kB │ gzip:   4.58 kB
.svelte-kit/output/client/_app/immutable/entry/start.eb77dbcd.js                                      23.17 kB │ gzip:   9.23 kB
.svelte-kit/output/client/_app/immutable/chunks/ChevronDown.b1a1f4b4.js                               34.44 kB │ gzip:  12.06 kB
.svelte-kit/output/client/_app/immutable/entry/types-_type_-page.svelte.1266255c.js                   48.53 kB │ gzip:  10.09 kB
.svelte-kit/output/client/_app/immutable/chunks/_commonjsHelpers.cc2d092d.js                          60.26 kB │ gzip:  17.52 kB
.svelte-kit/output/client/_app/immutable/chunks/PreviousNextPage.a9b5f707.js                          85.44 kB │ gzip:  18.33 kB
.svelte-kit/output/client/_app/immutable/entry/_layout.svelte.bb2a4c89.js                            189.77 kB │ gzip:  53.15 kB
.svelte-kit/output/client/_app/immutable/chunks/FieldDetails.ffe4dfe3.js                             527.16 kB │ gzip: 156.18 kB
.svelte-kit/output/client/_app/immutable/chunks/model.b1f35553.js                                    905.27 kB │ gzip: 106.75 kB

(!) Some chunks are larger than 500 kBs after minification. Consider:
- Using dynamic import() to code-split the application
- Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks
- Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.
✓ built in 19.48s
  301 /docs -> /docs/introduction/welcome

<--- Last few GCs --->

[61322:0x128040000]  1568590 ms: Scavenge 3400.2 (4125.3) -> 3386.1 (4125.3) MB, 5.6 / 0.0 ms  (average mu = 0.376, current mu = 0.372) allocation failure; 
[61322:0x128040000]  1568610 ms: Scavenge 3402.2 (4126.6) -> 3388.0 (4127.1) MB, 6.7 / 0.0 ms  (average mu = 0.376, current mu = 0.372) allocation failure; 
[61322:0x128040000]  1568630 ms: Scavenge 3404.3 (4128.1) -> 3390.1 (4128.3) MB, 7.1 / 0.0 ms  (average mu = 0.376, current mu = 0.372) allocation failure; 


<--- JS stacktrace --->

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
 1: 0x100ff54fc node::Abort() [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
 2: 0x100ff56ec node::ModifyCodeGenerationFromStrings(v8::Local<v8::Context>, v8::Local<v8::Value>, bool) [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
 3: 0x10114b0fc v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
 4: 0x1012f6088 v8::internal::EmbedderStackStateScope::EmbedderStackStateScope(v8::internal::Heap*, v8::internal::EmbedderStackStateScope::Origin, cppgc::EmbedderStackState) [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
 5: 0x1012f9c90 v8::internal::Heap::CollectSharedGarbage(v8::internal::GarbageCollectionReason) [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
 6: 0x1012f6c84 v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::internal::GarbageCollectionReason, char const*, v8::GCCallbackFlags) [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
 7: 0x1012f40dc v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
 8: 0x1012e8e14 v8::internal::HeapAllocator::AllocateRawWithLightRetrySlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
 9: 0x1012e9644 v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
10: 0x1012cf478 v8::internal::Factory::NewFillerObject(int, v8::internal::AllocationAlignment, v8::internal::AllocationType, v8::internal::AllocationOrigin) [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
11: 0x10165f2bc v8::internal::Runtime_AllocateInYoungGeneration(int, unsigned long*, v8::internal::Isolate*) [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
12: 0x1019a904c Builtins_CEntry_Return1_DontSaveFPRegs_ArgvOnStack_NoBuiltinExit [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
13: 0x1019950fc Builtins_SetIteratorPrototypeNext [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
14: 0x10199337c Builtins_SetConstructor [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
15: 0x101931914 Builtins_JSBuiltinsConstructStub [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
16: 0x1067d20f4 
17: 0x1067d3b74 
18: 0x1067d2be8 
19: 0x1067d3b74 
20: 0x1067d2be8 
21: 0x1067d3b74 
22: 0x1067d2be8 
23: 0x1067d3b74 
24: 0x1067d2be8 
25: 0x1067d3b74 
26: 0x1067d2be8 
27: 0x1067d3b74 
28: 0x1067d2be8 
29: 0x1067d3b74 
30: 0x1067d2be8 
31: 0x1067d3b74 
32: 0x1067d2be8 
33: 0x1067d3b74 
34: 0x1067d2be8 
35: 0x1067d3b74 
36: 0x1067d2be8 
37: 0x1067d3b74 
38: 0x1067d2be8 
39: 0x1067d3b74 
40: 0x1067d2be8 
41: 0x1067d3b74 
42: 0x1067d2be8 
43: 0x1067d3b74 
44: 0x1067d2be8 
45: 0x1067d3b74 
46: 0x1067d2be8 
47: 0x1067d3b74 
48: 0x1067d2be8 
49: 0x1067d3b74 
50: 0x1067d2be8 
51: 0x1067d3b74 
52: 0x1067d2be8 
53: 0x1067d3b74 
54: 0x1067d2be8 
55: 0x1067d3b74 
56: 0x1067d2be8 
57: 0x1067d3b74 
58: 0x1067d2be8 
59: 0x1067d3b74 
60: 0x1067d2be8 
61: 0x1067d3b74 
62: 0x1067d2be8 
63: 0x1067d3b74 
64: 0x1067d2be8 
65: 0x1067d3b74 
66: 0x1067d2be8 
67: 0x1067d3b74 
68: 0x1067d2be8 
69: 0x1067d3b74 
70: 0x1067d2be8 
71: 0x1067d3b74 
72: 0x1067d2be8 
73: 0x1067d3b74 
74: 0x1067d2be8 
75: 0x1067d3b74 
76: 0x1067d2be8 
77: 0x1067d3b74 
78: 0x1067d2be8 
79: 0x1067d3b74 
80: 0x1067d2be8 
81: 0x1067d3b74 
82: 0x1067d2be8 
83: 0x1067d3b74 
84: 0x1067d2be8 
85: 0x1067d3b74 
86: 0x1067d2be8 
87: 0x1067d3b74 
88: 0x1067d2be8 
89: 0x1067d3b74 
90: 0x1067d2be8 
91: 0x1067d3b74 
92: 0x1067d2be8 
93: 0x1067d3b74 
94: 0x1067d2be8 
95: 0x1067d3b74 
96: 0x1067d2be8 
97: 0x1067d3b74 
98: 0x1067d2be8 
99: 0x1067d3b74 
100: 0x1067d2be8 
101: 0x1067d3b74 
102: 0x1067d2be8 
103: 0x1067d3b74 
104: 0x1067d2be8 
105: 0x1067d3b74 
106: 0x1064e3c88 
107: 0x101934198 Builtins_InterpreterEntryTrampoline [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
108: 0x101934198 Builtins_InterpreterEntryTrampoline [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
109: 0x1019c7eec Builtins_ArrayMap [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
110: 0x101934198 Builtins_InterpreterEntryTrampoline [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
111: 0x101934198 Builtins_InterpreterEntryTrampoline [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
112: 0x101934198 Builtins_InterpreterEntryTrampoline [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
113: 0x1064ea948 
114: 0x106469ccc 
115: 0x1064ecf80 
116: 0x1064f16e4 
117: 0x101934198 Builtins_InterpreterEntryTrampoline [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
118: 0x101934198 Builtins_InterpreterEntryTrampoline [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
119: 0x101934198 Builtins_InterpreterEntryTrampoline [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
120: 0x101934198 Builtins_InterpreterEntryTrampoline [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
121: 0x101934198 Builtins_InterpreterEntryTrampoline [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
122: 0x101934198 Builtins_InterpreterEntryTrampoline [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
123: 0x101934198 Builtins_InterpreterEntryTrampoline [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
124: 0x101934198 Builtins_InterpreterEntryTrampoline [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
125: 0x101934198 Builtins_InterpreterEntryTrampoline [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
126: 0x101934198 Builtins_InterpreterEntryTrampoline [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
127: 0x10679e190 
128: 0x101934198 Builtins_InterpreterEntryTrampoline [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
129: 0x10679e190 
130: 0x101934198 Builtins_InterpreterEntryTrampoline [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
131: 0x10679e190 
132: 0x101934198 Builtins_InterpreterEntryTrampoline [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
133: 0x101934198 Builtins_InterpreterEntryTrampoline [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
134: 0x101934198 Builtins_InterpreterEntryTrampoline [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
135: 0x10679e190 
136: 0x101934198 Builtins_InterpreterEntryTrampoline [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
137: 0x101934198 Builtins_InterpreterEntryTrampoline [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
138: 0x10679e190 
139: 0x101934198 Builtins_InterpreterEntryTrampoline [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
140: 0x101934198 Builtins_InterpreterEntryTrampoline [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
141: 0x10679e190 
142: 0x101934198 Builtins_InterpreterEntryTrampoline [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
143: 0x101934198 Builtins_InterpreterEntryTrampoline [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
144: 0x10679e190 
145: 0x101934198 Builtins_InterpreterEntryTrampoline [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
146: 0x10679e190 
147: 0x101934198 Builtins_InterpreterEntryTrampoline [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
148: 0x10679e190 
149: 0x101934198 Builtins_InterpreterEntryTrampoline [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
150: 0x101934198 Builtins_InterpreterEntryTrampoline [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
151: 0x101965ef4 Builtins_AsyncFunctionAwaitResolveClosure [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
152: 0x1019f4738 Builtins_PromiseFulfillReactionJob [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
153: 0x101957c4c Builtins_RunMicrotasks [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
154: 0x1019323a4 Builtins_JSRunMicrotasksEntry [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
155: 0x10127782c v8::internal::(anonymous namespace)::Invoke(v8::internal::Isolate*, v8::internal::(anonymous namespace)::InvokeParams const&) [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
156: 0x101277d1c v8::internal::(anonymous namespace)::InvokeWithTryCatch(v8::internal::Isolate*, v8::internal::(anonymous namespace)::InvokeParams const&) [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
157: 0x101277ef8 v8::internal::Execution::TryRunMicrotasks(v8::internal::Isolate*, v8::internal::MicrotaskQueue*, v8::internal::MaybeHandle<v8::internal::Object>*) [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
158: 0x10129e644 v8::internal::MicrotaskQueue::RunMicrotasks(v8::internal::Isolate*) [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
159: 0x10129eedc v8::internal::MicrotaskQueue::PerformCheckpoint(v8::Isolate*) [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
160: 0x100f44c50 node::InternalCallbackScope::Close() [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
161: 0x100f447c4 node::InternalCallbackScope::~InternalCallbackScope() [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
162: 0x100ff8cd4 node::fs::FileHandle::CloseReq::Resolve() [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
163: 0x10100f974 node::fs::FileHandle::ClosePromise()::$_0::__invoke(uv_fs_s*) [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
164: 0x100ff1330 node::MakeLibuvRequestCallback<uv_fs_s, void (*)(uv_fs_s*)>::Wrapper(uv_fs_s*) [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
165: 0x101911058 uv__work_done [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
166: 0x101914800 uv__async_io [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
167: 0x101926fa4 uv__io_poll [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
168: 0x101914cd0 uv_run [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
169: 0x100f456f4 node::SpinEventLoop(node::Environment*) [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
170: 0x1010328ec node::NodeMainInstance::Run() [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
171: 0x100fc2028 node::LoadSnapshotDataAndRun(node::SnapshotData const**, node::InitializationResult const*) [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
172: 0x100fc22b4 node::Start(int, char**) [/Users/mfrey/.nvm/versions/node/v18.16.0/bin/node]
173: 0x1a8ec3e50 start [/usr/lib/dyld]
Unexpected early exit. This happens when Promises returned by plugins cannot resolve. Unfinished hook action(s) on exit:
(vite-plugin-sveltekit-compile) writeBundle
✓ built in 26m 38s
error during build:
Error: Unexpected early exit. This happens when Promises returned by plugins cannot resolve. Unfinished hook action(s) on exit:
(vite-plugin-sveltekit-compile) writeBundle
    at EventEmitter.handleEmptyEventLoop (file:///private/var/folders/fx/d8_969t55lb16x4y0wdrz97w0000gp/T/[email protected]/node_modules/rollup/dist/es/shared/node-entry.js:24753:20)
    at Object.onceWrapper (node:events:627:28)
    at EventEmitter.emit (node:events:513:28)
    at process.<anonymous> (file:///private/var/folders/fx/d8_969t55lb16x4y0wdrz97w0000gp/T/[email protected]/node_modules/rollup/dist/es/shared/node-entry.js:24747:55)
    at process.emit (node:events:513:28)

@pelletier197
Copy link
Collaborator

Hi, thanks for raising this issue. I have experienced this problem before with another extremely large API. I am currently working on some improvements for the speed, but I must admit that even with that, I'm not sure it's going to be able to generate such a large website.

Possible there are some improvements possible in svelte kit to avoid re-rendering redondant stuff like the navbar, but I'm not fully sure. I'll have to look into it .

@mmmeff
Copy link
Author

mmmeff commented Apr 16, 2023

I'll take a dive into the codebase and see if I can find some good opportunities for optimizations.

Do you recommend investigating any specific areas?

@pelletier197
Copy link
Collaborator

Well in my opinion, the two slowest things are probably the navbar generation (because it's redundant) and the query generator .

But I've never actually benchmarked the steps to know what was slowest. If you could take some time to look at it that would be awesome!

@mostafa-rz
Copy link

Hi, I also get this error recently. It was working before.

#13 45.19 [STARTED] Build template
#13 203.9 [FAILED] Command 'pnpm' failed with status 1 when executed in directory /tmp/[email protected]
#13 203.9 [FAILED] 
#13 203.9 [FAILED] ---- Program Output----
#13 203.9 [FAILED] 
#13 203.9 [FAILED] > @magidoc/[email protected] build /tmp/[email protected]
#13 203.9 [FAILED] > svelte-kit sync && vite build
#13 203.9 [FAILED] 
#13 203.9 [FAILED] 
#13 203.9 [FAILED] vite v4.2.1 building SSR bundle for production...
#13 203.9 [FAILED] transforming...
#13 203.9 [FAILED] 10:04:44 AM [vite-plugin-svelte] /node_modules/.pnpm/[email protected]/node_modules/carbon-components-svelte/src/UIShell/SideNavMenu.svelte:51:2 A11y: Non-interactive element <ul> cannot have interactive role 'menu'
#13 203.9 [FAILED] 49:     </div>
#13 203.9 [FAILED] 50:   </button>
#13 203.9 [FAILED] 51:   <ul
#13 203.9 [FAILED]       ^
#13 203.9 [FAILED] 52:     role="menu"
#13 203.9 [FAILED] 53:     class:bx--side-nav__menu="{true}"
#13 203.9 [FAILED] 10:04:45 AM [vite-plugin-svelte] /node_modules/.pnpm/[email protected]/node_modules/carbon-components-svelte/src/Tabs/Tabs.svelte:154:2 A11y: Non-interactive element <ul> cannot have interactive role 'tablist'
#13 203.9 [FAILED] 152:     <ChevronDown aria-hidden="true" title="{iconDescription}" />
#13 203.9 [FAILED] 153:   </div>
#13 203.9 [FAILED] 154:   <ul
#13 203.9 [FAILED]        ^
#13 203.9 [FAILED] 155:     bind:this="{refTabList}"
#13 203.9 [FAILED] 156:     role="tablist"
#13 203.9 [FAILED] "GraphQLDirective", "GraphQLInterfaceType" and "GraphQLObjectType" are imported from external module "graphql" but never used in "src/lib/model.ts", "src/lib/components/common/text/TypeLink.svelte", "src/lib/components/tags/TypeTag.svelte", "src/lib/components/tags/NullableTag.svelte", "src/lib/components/tags/DirectiveTag.svelte" and "src/routes/types/[type]/+page.svelte".
#13 203.9 [FAILED] ✓ 2265 modules transformed.
#13 203.9 [FAILED] 10:05:03 AM [vite-plugin-svelte] ssr compile done.
#13 203.9 [FAILED] package                           	files	 time	  avg
#13 203.9 [FAILED] @magidoc/starter-carbon-multi-page	 2145	8.94s	4.2ms
#13 203.9 [FAILED] rendering chunks...
#13 203.9 [FAILED] 
#13 203.9 [FAILED] vite v4.2.1 building for production...
#13 203.9 [FAILED] transforming...
#13 203.9 [FAILED] 10:05:19 AM [vite-plugin-svelte] /node_modules/.pnpm/[email protected]/node_modules/carbon-components-svelte/src/UIShell/SideNavMenu.svelte:51:2 A11y: Non-interactive element <ul> cannot have interactive role 'menu'
#13 203.9 [FAILED] 49:     </div>
#13 203.9 [FAILED] 50:   </button>
#13 203.9 [FAILED] 51:   <ul
#13 203.9 [FAILED]       ^
#13 203.9 [FAILED] 52:     role="menu"
#13 203.9 [FAILED] 53:     class:bx--side-nav__menu="{true}"
#13 203.9 [FAILED] 10:05:20 AM [vite-plugin-svelte] /node_modules/.pnpm/[email protected]/node_modules/carbon-components-svelte/src/Tabs/Tabs.svelte:154:2 A11y: Non-interactive element <ul> cannot have interactive role 'tablist'
#13 203.9 [FAILED] 152:     <ChevronDown aria-hidden="true" title="{iconDescription}" />
#13 203.9 [FAILED] 153:   </div>
#13 203.9 [FAILED] 154:   <ul
#13 203.9 [FAILED]        ^
#13 203.9 [FAILED] 155:     bind:this="{refTabList}"
#13 203.9 [FAILED] 156:     role="tablist"
#13 203.9 [FAILED] Killed
#13 203.9 [FAILED]  ELIFECYCLE  Command failed with exit code 137.
#13 203.9 [FAILED] 

@pelletier197
Copy link
Collaborator

@mostafa-rz I believe this is an issue in carbon library that was fixed recently. carbon-design-system/carbon-components-svelte#1704

The project has already been updated but it hasn't been released yet. Let me see if I can release that.

@pelletier197
Copy link
Collaborator

@mostafa-rz alright, I release 3.6.4, it should fix your issue.

@jakerobinson
Copy link

I am working with a GraphQL API with over 8000 types. Absolutely crushed my macbook memory 😂

To get through it, I was able to increase the node heap size by using the following.

export NODE_OPTIONS=--max_old_space_size=16384

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants