Babylon.js icon indicating copy to clipboard operation
Babylon.js copied to clipboard

TEST: Will UMD build run out of memory if I introduce fluent for textInputLineComponent in NME?

Open georginahalpern opened this issue 7 months ago • 129 comments

My other large fluent PR is timing out at the UMD build step due to OOM memory on the linux build machine

This PR introduces a single line component, using a ProperytLine-wrapped primitive, and a single tool enabling fluent (i.e. one instance of each part of the larger PR)

If this build fails I will incrementally remove pieces to try to pinpoint exactly which part is causing OOM.

In parallel we are also discussing splitting up the build step into more granular steps.


  1. (141bf56, 9e3b373, 25e1c89) All components: UMD build failed
  2. (fb3f559) Remove fluent context and fluent wrapper in NME, removed usage of fluent from existing textlinecomponent: UMD build passes, but then building babylon-test app in UMD fails
  3. (e6e585d, 5daac3f**) Fluent typings to any (+regex fix): Test app passes (no longer seeing fluentinput errors in d.ts files)**
  4. Bring back textinputlinecomponent/fluenttoolwrapper change (without NME change) -- UMD/ES6 fails -- this is then followed by several unsuccessful commits to try to fix the UMD failures
    • Simply remove the import * from React in textinputlinecomponent and the React.ChangeEvent -- UMD fails
    • Remove nested providers - UMD fails (with linting failures)
    • Remove textinputlinecomponent - no more UMD failures, still seeing linting failures
    • Import just the react component i'm using vs import * from react - no more linting failures, all succeeds
    • Add back conditional fluent rendering from textinputlinecomponent - UMD/es6 build warnings are back
    • Fix propertyline imports to be dynamic and not from root - still showing warnings -- note that the % of memory usage is very close to 95% so its possible we just tipped things over the edge with additional imports but the low memory has always existed due to our singel build step
    • Remove icon imports
  5. (5a94de8) Reduce parallelization in build steps -- fixed the OOM warnings/failures in build steps, es6/umd build pass, but still see failure in the es6 npm build modules size during the sceneWithInspector step due to reaching heap limit
  6. (53d405c) Point public inspector/gui editor package.json entrypoint to minified bundle (vs max) - solved the heap allocation error - all build steps pass (just a failure in test caused by the below bug)
  7. (cf35e8c, d24c8d8) Fix an issue with my binding that fixed the sandbox test failures
  8. (d5a697a) Revert parallelization of build step to see if pointing to minified bundle solved -- still see OOM issues :(
  9. (b50114d) Rather than pointing public package to minified bundle, update webpack config to specify optimization{usedExports:true} in order to treeshake unminified bundle -- still see OOM issues
  10. (50e8c2e) Reduce parallelization to 4 - OOM warnings but they pass, then reach heap allocation failures
  11. (b03e2f5, 9c040e6, 04e8327)Try both treeshaking and minified -- still see OOM warnings but all builds succeed (deployment step never finished)?
  12. (a208d2a)Point to minified bundle for UMD packages too see build see OOM warnings but the build succeeds, but then failure when checking if sandbox snapshot exists? looks like the deployment step never completed? 15.(2f7a3f2) Add raanan's precompile optimizations no build change triggered (i think because it existed in master already)
  13. (834d53d) - Remove the usedExports change, just use the minified bundle in public package and UMD -- still see OOM warnings and then causing UMD build to fail) - so clearly 4 is not enough parallelization even though sometimes it passes

georginahalpern avatar Jun 06 '25 15:06 georginahalpern

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s). To prevent this PR from going to the changelog marked it with the "skip changelog" label.

bjsplat avatar Jun 06 '25 15:06 bjsplat

Reviewer - this PR has made changes to one or more package.json files.

bjsplat avatar Jun 06 '25 15:06 bjsplat

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s). To prevent this PR from going to the changelog marked it with the "skip changelog" label.

bjsplat avatar Jun 06 '25 15:06 bjsplat

Reviewer - this PR has made changes to one or more package.json files.

bjsplat avatar Jun 06 '25 15:06 bjsplat

Building or testing the sandbox has failed.

If the tests failed, results can be found here: https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/SANDBOX/refs/pull/16730/merge/testResults/

bjsplat avatar Jun 06 '25 16:06 bjsplat

Building or testing the playground has failed.

If the tests failed, results can be found here: https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/PLAYGROUND/refs/pull/16730/merge/testResults/

bjsplat avatar Jun 06 '25 16:06 bjsplat

Graph tools CI has failed you can find the test results at:

https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/TOOLS/refs/pull/16730/merge/testResults/

bjsplat avatar Jun 06 '25 16:06 bjsplat

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s). To prevent this PR from going to the changelog marked it with the "skip changelog" label.

bjsplat avatar Jun 06 '25 16:06 bjsplat

Reviewer - this PR has made changes to one or more package.json files.

bjsplat avatar Jun 06 '25 16:06 bjsplat

Building or testing the sandbox has failed.

If the tests failed, results can be found here: https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/SANDBOX/refs/pull/16730/merge/testResults/

bjsplat avatar Jun 06 '25 16:06 bjsplat

Building or testing the playground has failed.

If the tests failed, results can be found here: https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/PLAYGROUND/refs/pull/16730/merge/testResults/

bjsplat avatar Jun 06 '25 16:06 bjsplat

Graph tools CI has failed you can find the test results at:

https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/TOOLS/refs/pull/16730/merge/testResults/

bjsplat avatar Jun 06 '25 17:06 bjsplat

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s). To prevent this PR from going to the changelog marked it with the "skip changelog" label.

bjsplat avatar Jun 09 '25 12:06 bjsplat

Reviewer - this PR has made changes to one or more package.json files.

bjsplat avatar Jun 09 '25 12:06 bjsplat

Snapshot stored with reference name: refs/pull/16730/merge

Test environment: https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/16730/merge/index.html

To test a playground add it to the URL, for example:

https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/16730/merge/index.html#WGZLGJ#4600

Links to test babylon tools with this snapshot:

https://playground.babylonjs.com/?snapshot=refs/pull/16730/merge https://sandbox.babylonjs.com/?snapshot=refs/pull/16730/merge https://gui.babylonjs.com/?snapshot=refs/pull/16730/merge https://nme.babylonjs.com/?snapshot=refs/pull/16730/merge

To test the snapshot in the playground with a playground ID add it after the snapshot query string:

https://playground.babylonjs.com/?snapshot=refs/pull/16730/merge#BCU1XR#0

bjsplat avatar Jun 09 '25 12:06 bjsplat

You have made possible changes to one or more graph tools. To test the snapshots:

https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/TOOLS/refs/pull/16730/merge/nodeEditor/ https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/TOOLS/refs/pull/16730/merge/nodeGeometryEditor/ https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/TOOLS/refs/pull/16730/merge/nodeRenderGraphEditor/ https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/TOOLS/refs/pull/16730/merge/guiEditor/

bjsplat avatar Jun 09 '25 13:06 bjsplat

You have made possible changes to the playground. You can test the snapshot here:

https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/PLAYGROUND/refs/pull/16730/merge/

The snapshot playground with the CDN snapshot (only when available):

https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/PLAYGROUND/refs/pull/16730/merge/?snapshot=refs/pull/16730/merge

Note that neither Babylon scenes nor textures are uploaded to the snapshot directory, so some playgrounds won't work correctly.

bjsplat avatar Jun 09 '25 13:06 bjsplat

You have changed file(s) that made possible changes to the sandbox. You can test the sandbox snapshot here:

https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/SANDBOX/refs/pull/16730/merge/

bjsplat avatar Jun 09 '25 13:06 bjsplat

WebGL2 visualization test reporter:

https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/16730/merge/testResults/webgl2playwright/index.html

bjsplat avatar Jun 09 '25 13:06 bjsplat

Visualization tests for WebGPU

https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/16730/merge/testResults/webgpuplaywright/index.html

bjsplat avatar Jun 09 '25 13:06 bjsplat

Reviewer - this PR has made changes to one or more package.json files.

bjsplat avatar Jun 09 '25 14:06 bjsplat

Building or testing the sandbox has failed.

If the tests failed, results can be found here: https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/SANDBOX/refs/pull/16730/merge/testResults/

bjsplat avatar Jun 09 '25 15:06 bjsplat

Building or testing the playground has failed.

If the tests failed, results can be found here: https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/PLAYGROUND/refs/pull/16730/merge/testResults/

bjsplat avatar Jun 09 '25 15:06 bjsplat

Graph tools CI has failed you can find the test results at:

https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/TOOLS/refs/pull/16730/merge/testResults/

bjsplat avatar Jun 09 '25 15:06 bjsplat

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s). To prevent this PR from going to the changelog marked it with the "skip changelog" label.

bjsplat avatar Jun 09 '25 15:06 bjsplat

Reviewer - this PR has made changes to one or more package.json files.

bjsplat avatar Jun 09 '25 15:06 bjsplat

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s). To prevent this PR from going to the changelog marked it with the "skip changelog" label.

bjsplat avatar Jun 09 '25 16:06 bjsplat

Reviewer - this PR has made changes to one or more package.json files.

bjsplat avatar Jun 09 '25 16:06 bjsplat

Building or testing the sandbox has failed.

If the tests failed, results can be found here: https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/SANDBOX/refs/pull/16730/merge/testResults/

bjsplat avatar Jun 09 '25 16:06 bjsplat

Building or testing the playground has failed.

If the tests failed, results can be found here: https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/PLAYGROUND/refs/pull/16730/merge/testResults/

bjsplat avatar Jun 09 '25 16:06 bjsplat