Skip to content

International characters not supported in codeql-action/analyze ? #2777

Closed
@HenrikDK

Description

@HenrikDK

Hi

Tried searching docs and issues for this but couldn't find anything.

I'm running the analyze action on a repository with javascript-typescript as the selected language. I'm doing a manual build where i install nodejs 22 before init is called. The job fails with the following error:

Extracting javascript
  /opt/hostedtoolcache/CodeQL/2.20.4/x64/codeql/codeql database trace-command --use-build-mode --working-dir /home/runner/_work/max-optic-pg/max-optic-pg /home/runner/_work/_temp/codeql_databases/javascript
  Running command in /home/runner/_work/max-optic-pg/max-optic-pg: [/opt/hostedtoolcache/CodeQL/2.20.4/x64/codeql/javascript/tools/autobuild.sh]
  [2025-02-20 12:47:44] [build-stdout] Parallel extraction with 8 threads.
  [2025-02-20 12:47:44] [build-stdout] cicd/testing/packages/src/package.json: Main file not found
  [2025-02-20 12:47:44] [build-stdout] src/package.json: Main file set to src/src/index.ts
  [2025-02-20 12:47:44] [build-stdout] Found Node.js at: node
  [2025-02-20 12:47:44] [build-stdout] Found Node.js version: v22.14.0
  [2025-02-20 12:47:44] [build-stdout] Opening project /home/runner/_work/max-optic-pg/max-optic-pg/src/tsconfig.json
  [2025-02-20 12:47:44] [build-stdout] Memory for TypeScript process: 30235 MB, and 400 MB reserve
  [2025-02-20 12:47:45] [build-stdout] Done opening project /home/runner/_work/max-optic-pg/max-optic-pg/src/tsconfig.json (1025 ms)
  [2025-02-20 12:47:46] [build-stderr] java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: /home/runner/_work/max-optic-pg/max-optic-pg/src/src/tests/test-data/sk?neTrafikkenOffline.ts
  [2025-02-20 12:47:46] [build-stderr] 	at java.base/sun.nio.fs.UnixPath.encode(Unknown Source)
  [2025-02-20 12:47:46] [build-stderr] 	at java.base/sun.nio.fs.UnixPath.<init>(Unknown Source)
  [2025-02-20 12:47:46] [build-stderr] 	at java.base/sun.nio.fs.UnixFileSystem.getPath(Unknown Source)
  [2025-02-20 12:47:46] [build-stderr] 	at java.base/java.io.File.toPath(Unknown Source)
  [2025-02-20 12:47:46] [build-stderr] 	at com.semmle.js.extractor.AutoBuild.extractTypeScript(AutoBuild.java:1055)
  [2025-02-20 12:47:46] [build-stderr] 	at com.semmle.js.extractor.AutoBuild.extractSource(AutoBuild.java:758)
  [2025-02-20 12:47:46] [build-stderr] 	at com.semmle.js.extractor.AutoBuild.run(AutoBuild.java:464)
  [2025-02-20 12:47:46] [build-stderr] 	at com.semmle.js.extractor.AutoBuild.main(AutoBuild.java:1364)
  Error: 2-20 12:47:46] [ERROR] Spawned process exited abnormally (code 1; tried to run: [/opt/hostedtoolcache/CodeQL/2.20.4/x64/codeql/javascript/tools/autobuild.sh])
  A fatal error occurred: Exit status 1 from command: [/opt/hostedtoolcache/CodeQL/2.20.4/x64/codeql/javascript/tools/autobuild.sh]
  Error: Encountered a fatal error while running "/opt/hostedtoolcache/CodeQL/2.20.4/x64/codeql/codeql database trace-command --use-build-mode --working-dir /home/runner/_work/max-optic-pg/max-optic-pg /home/runner/_work/_temp/codeql_databases/javascript". Exit code was 2 and error was: A fatal error occurred: Exit status 1 from command: [/opt/hostedtoolcache/CodeQL/2.20.4/x64/codeql/javascript/tools/autobuild.sh]. See the logs for more details.

The offending line is an InvalidPathException:

[2025-02-20 12:47:46] [build-stderr] java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: /home/runner/_work/max-optic-pg/max-optic-pg/src/src/tests/test-data/sk?neTrafikkenOffline.ts

The missing character in question is a danish 'å'. But I am somewhat suprised that codeql can't handle international characters in filenames?

Have I missed something? or Is there anyway round this?

This would be a hard block for adoption in our org.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions