JeremyYao opened a new issue, #1175: URL: https://github.com/apache/daffodil-vscode/issues/1175
### Description Running `yarn test` may result in the `data editor opens` test to fail when port 9000 is currently in use. ### How to Replicate 1. Verify on your machine if port 9000 is currently in use. If it is not in use, type `python -m http.server 9000` 2. Run `yarn test` ### Produced Result See console output below ``` [jeremyyao@RHEL9 daffodil-vscode]$ yarn test yarn run v1.22.22 warning [email protected]: The engine "vscode" appears to be invalid. $ yarn compile && yarn webpack warning [email protected]: The engine "vscode" appears to be invalid. $ yarn nodeclean && yarn gen-version-ts && yarn webpack:svelte && yarn compile:tdmlEditorJS warning [email protected]: The engine "vscode" appears to be invalid. $ run-func build/yarn-scripts.ts nodeclean warning [email protected]: The engine "vscode" appears to be invalid. $ run-func build/yarn-scripts.ts genVersionTS warning [email protected]: The engine "vscode" appears to be invalid. $ webpack -c ./src/svelte/webpack.config.js assets by path *.woff2 743 KiB asset 46febb2685fe621c1a9c.woff2 675 KiB [emitted] [immutable] [from: src/svelte/src/resources/icons/material-icons.woff2] (auxiliary name: index) asset 4831bb8abc92879df659.woff2 48.1 KiB [emitted] [immutable] [from: src/svelte/src/resources/fonts/SpaceGrotesk-Variable.woff2] (auxiliary name: index) asset 57234ce675330fa60781.woff2 20.5 KiB [emitted] [immutable] [from: src/svelte/src/resources/fonts/RedHatMono-Regular.woff2] (auxiliary name: index) assets by chunk 277 KiB (name: index) asset index.js 257 KiB [emitted] [minimized] (name: index) asset ../../styles.css 20.1 KiB [emitted] [minimized] (name: index) Entrypoint index 277 KiB (743 KiB) = ../../styles.css 20.1 KiB index.js 257 KiB 3 auxiliary assets orphan modules 38.4 KiB (javascript) 743 KiB (asset) 23.9 KiB (runtime) [orphan] 138 modules runtime modules 937 bytes 4 modules cacheable modules 654 KiB (javascript) 23.4 KiB (css/mini-extract) javascript modules 654 KiB modules by path ./src/svelte/src/components/ 501 KiB 58 modules modules by path ./src/svelte/src/utilities/ 27.2 KiB 9 modules modules by path ./node_modules/ 100 KiB 5 modules modules by path ./src/svelte/src/stores/*.ts 24.5 KiB 3 modules ./src/svelte/src/views/dataEditor/index.ts 929 bytes [built] [code generated] css modules 23.4 KiB 26 modules webpack 5.97.1 compiled successfully in 7762 ms warning [email protected]: The engine "vscode" appears to be invalid. $ esbuild src/tdmlEditor/webview/webview.js --outfile=dist/views/tdmlEditor/webview/webview.js --bundle --platform=node --format=cjs dist/views/tdmlEditor/webview/webview.js 242.2kb $ tsc -p ./ && yarn sbt warning [email protected]: The engine "vscode" appears to be invalid. $ sbt debugger/Universal/packageBin [info] welcome to sbt 1.10.6 (Oracle Corporation Java 17.0.12) [info] loading settings for project daffodil-vscode-build from plugins.sbt... [info] loading project definition from /home/jeremyyao/repos/daffodil-vscode/project [info] loading settings for project daffodil-debugger from build.sbt... [info] set current project to daffodil-debugger (in build file:/home/jeremyyao/repos/daffodil-vscode/) [info] Wrote /home/jeremyyao/repos/daffodil-vscode/debugger/target/scala-2.12/daffodil-debugger_2.12-1.4.1-SNAPSHOT.pom [success] All package validations passed [success] Total time: 3 s, completed Feb 13, 2025, 4:09:45 PM warning [email protected]: The engine "vscode" appears to be invalid. $ webpack --mode production --config ./webpack/ext-dev.webpack.config.js asset extension.js 1.16 MiB [emitted] [minimized] (name: extension) 2 related assets orphan modules 311 KiB [orphan] 12 modules runtime modules 793 bytes 4 modules cacheable modules 2.23 MiB modules by path ./node_modules/ 1.52 MiB 147 modules modules by path ./src/ 702 KiB modules by path ./src/language/ 418 KiB 21 modules modules by path ./src/dataEditor/ 69.2 KiB 10 modules modules by path ./src/tdmlEditor/ 51.2 KiB 7 modules modules by path ./src/adapter/*.ts 66.2 KiB 5 modules modules by path ./src/*.ts 31.1 KiB 4 modules modules by path ./src/daffodilDebugger/*.ts 22.3 KiB 4 modules modules by path ./src/svelte/src/ 6.56 KiB 2 modules + 3 modules ./package.json 19.5 KiB [built] [code generated] + 32 modules webpack 5.97.1 compiled successfully in 14940 ms $ sbt test && yarn test:svelte && node ./out/tests/runTest.js [info] welcome to sbt 1.10.6 (Oracle Corporation Java 17.0.12) [info] loading settings for project daffodil-vscode-build from plugins.sbt... [info] loading project definition from /home/jeremyyao/repos/daffodil-vscode/project [info] loading settings for project daffodil-debugger from build.sbt... [info] set current project to daffodil-debugger (in build file:/home/jeremyyao/repos/daffodil-vscode/) ParseSuite: + Parse Successful 0.224s + Parse failed - No Schema 0.009s + Parse failed - No data 0.002s + Parse Succeeds with No stopOnEntry 0.001s + Parse succeeds without infosetFormat 0.001s + Parse failed - invalid infosetOutput 0.004s + Parse failed - invalid tdmlConfig - no name 0.002s + Parse failed - invalid tdmlConfig - no description 0.002s + Parse failed - invalid tdmlConfig - no path 0.001s + Parse failed - invalid tdmlConfig - invalid action 0.001s + Parse failed - Invalid Schema Path 0.001s + Parse failed - infosetOutputType not file 0.006s TDMLSuite: + Test Generate 0.293s + Negative Generate 0.086s + Test Append 0.155s + Negative Append 0.115s + Test Execute 0.084s + Test convertToRelativePath 0.001s + Test createTestCase 0.002s [info] Passed: Total 19, Failed 0, Errors 0, Passed 19 [success] Total time: 3 s, completed Feb 13, 2025, 4:10:10 PM warning [email protected]: The engine "vscode" appears to be invalid. $ mocha -r ts-node/register ./src/svelte/tests/**/*.test.ts Data Editor Stores ( Derived ) regularSizedFile ✔ should return true on regular computed sized viewports ✔ should return false on non-regular computed sized viewports saveable ✔ should report boolean value derived from fileMetrics.changeCount Display Functions radixBytePad ✔ should return the appropriate text length per radix value given radixToString ✔ should return the correct radix index string from RadixValue 5 passing (6ms) Found existing install in /home/jeremyyao/repos/daffodil-vscode/.vscode-test/vscode-linux-x64-1.67.2. Skipping download Installing extensions... Extension 'vincaslt.highlight-matching-tag' v0.11.0 is already installed. Use '--force' option to update to latest version or provide '@<version>' to install a specific version, for example: '[email protected]'. Extension 'wmanth.jar-viewer' v1.2.0 is already installed. Use '--force' option to update to latest version or provide '@<version>' to install a specific version, for example: '[email protected]'. Warning: 'disable-gpu-sandbox' is not in the list of known options, but still passed to Electron/Chromium. [7802:0213/161013.959243:ERROR:viz_main_impl.cc(188)] Exiting GPU process due to errors during initialization [main 2025-02-13T21:10:13.990Z] window#load: attempt to load window (id: 1) [main 2025-02-13T21:10:14.004Z] update#ctor - updates are disabled by the environment [main 2025-02-13T21:10:14.088Z] ExtensionHostStarterWorker created [7852:0213/161014.286678:ERROR:viz_main_impl.cc(188)] Exiting GPU process due to errors during initialization [7905:0213/161014.358432:ERROR:sandbox_linux.cc(377)] InitializeSandbox() called with multiple threads in process gpu-process. [7839:0213/161014.368429:ERROR:command_buffer_proxy_impl.cc(125)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer. [main 2025-02-13T21:10:15.066Z] window#load: window reported ready (id: 1) [main 2025-02-13T21:10:15.282Z] Starting extension host with pid 7932 (fork() took 14 ms). [main 2025-02-13T21:10:15.282Z] ExtensionHostStarterWorker.start() took 18 ms. Loading development extension at /home/jeremyyao/repos/daffodil-vscode [asf.apache-daffodil-vscode]: `webview/context` is not a valid menu identifier Daffodfil interfaces ✔ DaffodilData functions properly ✔ InfosetEvent functions properly (xml) ✔ InfosetEvent functions properly (json) ✔ InfosetOutput functions properly ✔ BuildInfo functions properly ✔ LaunchArgs functions properly ✔ ConfigEvent functions properly constants ✔ dataEvent set properly ✔ infosetEvent set properly ✔ configEvent set properly getDaffodilVersion ✔ getDaffodilVersion returns same version as file non-debug specifc commands ✔ Not available when inDebugMode debug specifc commands ✔ Not available by default getCommands ✔ getSchemaName file exists (203ms) ✔ getSchemaName file does not exists ✔ getDataName file exists ✔ getDataName file does not exists ✔ getValidatedTDMLPath file exists ✔ getValidatedTDMLPath file does not exists artifact attributes ✔ name set properly ✔ archive set properly ✔ scriptName set properly Daffodil Debugger detected java homes: [{"path":"/usr/lib/jvm/jdk-17.0.12-oracle-x64","version":"17.0.12","security":0,"isJDK":true,"is64Bit":true,"executables":{"java":"/usr/lib/jvm/jdk-17.0.12-oracle-x64/bin/java","javac":"/usr/lib/jvm/jdk-17.0.12-oracle-x64/bin/javac","javap":"/usr/lib/jvm/jdk-17.0.12-oracle-x64/bin/javap"}}] choosing java home at /usr/lib/jvm/jdk-17.0.12-oracle-x64, version 17.0.12, is at least JDK 17: true [7905:0213/161020.610052:ERROR:gl_utils.cc(318)] [.WebGL-0x9a603fcb100]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels [0213/161020.628372:ERROR:file_io_posix.cc(144)] open /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq: No such file or directory (2) [0213/161020.628696:ERROR:file_io_posix.cc(144)] open /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq: No such file or directory (2) [0213/161020.630637:ERROR:directory_reader_posix.cc(42)] opendir /home/jeremyyao/repos/daffodil-vscode/.vscode-test/user-data/Crashpad/attachments/33f9d864-bf84-4e54-b0a8-bcaad3d81bb4: No such file or directory (2) [7839:0213/161021.292586:ERROR:command_buffer_proxy_impl.cc(328)] GPU state invalid after WaitForGetOffsetInRange. [7771:0213/161021.295456:ERROR:gpu_process_host.cc(983)] GPU process exited unexpectedly: exit_code=139 Webgl lost context, disposing of webgl renderer [8067:0213/161021.402857:ERROR:sandbox_linux.cc(377)] InitializeSandbox() called with multiple threads in process gpu-process. detected java homes: [{"path":"/usr/lib/jvm/jdk-17.0.12-oracle-x64","version":"17.0.12","security":0,"isJDK":true,"is64Bit":true,"executables":{"java":"/usr/lib/jvm/jdk-17.0.12-oracle-x64/bin/java","javac":"/usr/lib/jvm/jdk-17.0.12-oracle-x64/bin/javac","javap":"/usr/lib/jvm/jdk-17.0.12-oracle-x64/bin/javap"}}] choosing java home at /usr/lib/jvm/jdk-17.0.12-oracle-x64, version 17.0.12, is at least JDK 17: true Webgl could not be loaded. Falling back to the canvas renderer type. {} ✔ should output xml infoset (2312ms) ✔ should output json infoset (2004ms) Data Editor Test Suite ✔ data edit command exists (71ms) Editor Service rejected promise not handled within 1 second: Error: ENOENT: no such file or directory, open '/home/jeremyyao/repos/daffodil-vscode/testinfoset.json' stack trace: Error: ENOENT: no such file or directory, open '/home/jeremyyao/repos/daffodil-vscode/testinfoset.json' at Object.openSync (node:fs:585:3) at Object.func [as openSync] (node:electron/js2c/asar_bundle:5:1812) at Object.readFileSync (node:fs:453:35) at Object.readFileSync (node:electron/js2c/asar_bundle:5:9160) at /home/jeremyyao/repos/daffodil-vscode/src/infoset.ts:46:12 at Generator.next (<anonymous>) at /home/jeremyyao/repos/daffodil-vscode/src/dataEditor/svelteWebviewInitializer.ts:117:3 at new Promise (<anonymous>) at o (/home/jeremyyao/repos/daffodil-vscode/src/dataEditor/svelteWebviewInitializer.ts:117:3) at openInfosetFilePrompt (/home/jeremyyao/repos/daffodil-vscode/src/infoset.ts:32:1) at Object.<anonymous> (/home/jeremyyao/repos/daffodil-vscode/src/infoset.ts:84:13) at Generator.next (<anonymous>) at /home/jeremyyao/repos/daffodil-vscode/src/dataEditor/svelteWebviewInitializer.ts:117:3 at new Promise (<anonymous>) at o (/home/jeremyyao/repos/daffodil-vscode/src/dataEditor/svelteWebviewInitializer.ts:117:3) at /home/jeremyyao/repos/daffodil-vscode/src/infoset.ts:77:58 at m.invoke (/home/jeremyyao/repos/daffodil-vscode/.vscode-test/vscode-linux-x64-1.67.2/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:58:145) at E.deliver (/home/jeremyyao/repos/daffodil-vscode/.vscode-test/vscode-linux-x64-1.67.2/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:58:2265) at v.fire (/home/jeremyyao/repos/daffodil-vscode/.vscode-test/vscode-linux-x64-1.67.2/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:58:1843) at E.$acceptDebugSessionTerminated (/home/jeremyyao/repos/daffodil-vscode/.vscode-test/vscode-linux-x64-1.67.2/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:90:16271) at processTicksAndRejections (node:internal/process/task_queues:96:5) ENOENT: no such file or directory, open '/home/jeremyyao/repos/daffodil-vscode/testinfoset.json': Error: ENOENT: no such file or directory, open '/home/jeremyyao/repos/daffodil-vscode/testinfoset.json' at Object.openSync (node:fs:585:3) at Object.func [as openSync] (node:electron/js2c/asar_bundle:5:1812) at Object.readFileSync (node:fs:453:35) at Object.readFileSync (node:electron/js2c/asar_bundle:5:9160) at /home/jeremyyao/repos/daffodil-vscode/src/infoset.ts:46:12 at Generator.next (<anonymous>) at /home/jeremyyao/repos/daffodil-vscode/src/dataEditor/svelteWebviewInitializer.ts:117:3 at new Promise (<anonymous>) at o (/home/jeremyyao/repos/daffodil-vscode/src/dataEditor/svelteWebviewInitializer.ts:117:3) at openInfosetFilePrompt (/home/jeremyyao/repos/daffodil-vscode/src/infoset.ts:32:1) at Object.<anonymous> (/home/jeremyyao/repos/daffodil-vscode/src/infoset.ts:84:13) at Generator.next (<anonymous>) at /home/jeremyyao/repos/daffodil-vscode/src/dataEditor/svelteWebviewInitializer.ts:117:3 at new Promise (<anonymous>) at o (/home/jeremyyao/repos/daffodil-vscode/src/dataEditor/svelteWebviewInitializer.ts:117:3) at /home/jeremyyao/repos/daffodil-vscode/src/infoset.ts:77:58 at m.invoke (/home/jeremyyao/repos/daffodil-vscode/.vscode-test/vscode-linux-x64-1.67.2/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:58:145) at E.deliver (/home/jeremyyao/repos/daffodil-vscode/.vscode-test/vscode-linux-x64-1.67.2/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:58:2265) at v.fire (/home/jeremyyao/repos/daffodil-vscode/.vscode-test/vscode-linux-x64-1.67.2/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:58:1843) at E.$acceptDebugSessionTerminated (/home/jeremyyao/repos/daffodil-vscode/.vscode-test/vscode-linux-x64-1.67.2/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:90:16271) at processTicksAndRejections (node:internal/process/task_queues:96:5) rejected promise not handled within 1 second: Error: ENOENT: no such file or directory, open '/home/jeremyyao/repos/daffodil-vscode/testinfoset.json' stack trace: Error: ENOENT: no such file or directory, open '/home/jeremyyao/repos/daffodil-vscode/testinfoset.json' at Object.openSync (node:fs:585:3) at Object.func [as openSync] (node:electron/js2c/asar_bundle:5:1812) at Object.readFileSync (node:fs:453:35) at Object.readFileSync (node:electron/js2c/asar_bundle:5:9160) at /home/jeremyyao/repos/daffodil-vscode/src/infoset.ts:46:12 at Generator.next (<anonymous>) at /home/jeremyyao/repos/daffodil-vscode/src/dataEditor/svelteWebviewInitializer.ts:117:3 at new Promise (<anonymous>) at o (/home/jeremyyao/repos/daffodil-vscode/src/dataEditor/svelteWebviewInitializer.ts:117:3) at openInfosetFilePrompt (/home/jeremyyao/repos/daffodil-vscode/src/infoset.ts:32:1) at Object.<anonymous> (/home/jeremyyao/repos/daffodil-vscode/src/infoset.ts:84:13) at Generator.next (<anonymous>) at /home/jeremyyao/repos/daffodil-vscode/src/dataEditor/svelteWebviewInitializer.ts:117:3 at new Promise (<anonymous>) at o (/home/jeremyyao/repos/daffodil-vscode/src/dataEditor/svelteWebviewInitializer.ts:117:3) at /home/jeremyyao/repos/daffodil-vscode/src/infoset.ts:77:58 at m.invoke (/home/jeremyyao/repos/daffodil-vscode/.vscode-test/vscode-linux-x64-1.67.2/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:58:145) at E.deliver (/home/jeremyyao/repos/daffodil-vscode/.vscode-test/vscode-linux-x64-1.67.2/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:58:2265) at v.fire (/home/jeremyyao/repos/daffodil-vscode/.vscode-test/vscode-linux-x64-1.67.2/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:58:1843) at E.$acceptDebugSessionTerminated (/home/jeremyyao/repos/daffodil-vscode/.vscode-test/vscode-linux-x64-1.67.2/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:90:16271) at processTicksAndRejections (node:internal/process/task_queues:96:5) ✔ is running ✔ server and client versions match (381ms) Data Editor Error: Unexpected SIGPIPE at process.<anonymous> (/home/jeremyyao/repos/daffodil-vscode/.vscode-test/vscode-linux-x64-1.67.2/resources/app/out/bootstrap.js:1:407) at process.emit (node:events:390:28) Error: Unexpected SIGPIPE at process.<anonymous> (/home/jeremyyao/repos/daffodil-vscode/.vscode-test/vscode-linux-x64-1.67.2/resources/app/out/bootstrap.js:1:407) at process.emit (node:events:390:28) Cannot find module '/home/jeremyyao/repos/daffodil-vscode/dist/ext/thread-stream-worker.js': Error: Cannot find module '/home/jeremyyao/repos/daffodil-vscode/dist/ext/thread-stream-worker.js' at Function.Module._resolveFilename (node:internal/modules/cjs/loader:987:15) at Module._load (node:internal/modules/cjs/loader:832:27) at Function.c._load (node:electron/js2c/asar_bundle:5:13343) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) at MessagePort.<anonymous> (node:internal/main/worker_thread:193:24) at MessagePort.[nodejs.internal.kHybridDispatch] (node:internal/event_target:562:20) at MessagePort.exports.emitMessage (node:internal/per_context/messageport:23:28) 1) data editor opens the worker thread exited: Error: the worker thread exited at Worker.E (/home/jeremyyao/repos/daffodil-vscode/node_modules/@omega-edit/client/main.js:2:467198) at Worker.emit (node:events:390:28) at Worker.emit (node:domain:475:12) at Worker.[kOnExit] (node:internal/worker:279:10) at Worker.<computed>.onexit (node:internal/worker:199:20) DFDL Language Test Suite ✔ Test DFDL language configured Items Test Suite ✔ all commonItems available ✔ all elementItems available ✔ all attributeItems available TDML Utils Test Suite ✔ Valid TDML File - Single Test Case ✔ Valid TDML File - Multiple Test Cases ✔ Valid TDML File - Single Test Case, No Namespaces ✔ Valid TDML File - Single Test Case, No Document or Infoset Elements ✔ Invalid TDML File - File Does Not Exist No test suite found in XML buffer ✔ Invalid TDML File - Not Valid XML ✔ Append TDML Test Case ✔ Invalid Append TDML - duplicate Utils Test Suite ✔ Default config ✔ Get current config ✔ Setting current config Daffodil Version version ✔ version.ts should exist ✔ version.ts version should be same as package.json 44 passing (19s) 1 failing 1) Data Editor Test Suite Data Editor data editor opens: Uncaught Error: Cannot find module '/home/jeremyyao/repos/daffodil-vscode/dist/ext/thread-stream-worker.js' at Function.Module._resolveFilename (node:internal/modules/cjs/loader:987:15) at Module._load (node:internal/modules/cjs/loader:832:27) at Function.c._load (node:electron/js2c/asar_bundle:5:13343) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) at MessagePort.<anonymous> (node:internal/main/worker_thread:193:24) at MessagePort.[nodejs.internal.kHybridDispatch] (node:internal/event_target:562:20) at MessagePort.exports.emitMessage (node:internal/per_context/messageport:23:28) Error: 1 tests failed. at /home/jeremyyao/repos/daffodil-vscode/src/tests/suite/index.ts:48:15 at done (/home/jeremyyao/repos/daffodil-vscode/node_modules/mocha/lib/mocha.js:1012:7) at processTicksAndRejections (node:internal/process/task_queues:96:5) [main 2025-02-13T21:10:38.732Z] Waiting for extension host with pid 7932 to exit. [main 2025-02-13T21:10:38.749Z] Extension host with pid 7932 exited with code: 1, signal: null. Exit code: 1 Failed to run tests: Failed error Command failed with exit code 1. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. ``` ### Expected Result Test should not fail. It should find an alternative port to use for opening up the data editor unless all non-reserved ports are used. ### How to Test and Validate Perform steps outlined in [how to replicate](#How-to-Replicate). Verify the console outputs a non-failed test run. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
