github / github/codeql-cli-binaries
Got CatastrophicError in com.semmle.inmemory.trap.TrapScanner
- Lenguaje dominante
- Sin datos de lenguaje
- Estrellas
- 1k
- Forks
- 184
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
While compiling [chromium](https://www.chromium.org/Home) with CodeQL, I meet lots of CatastrophicError.
I build the chromium without CodeQL first, then I delete some compiled objects and recompile them with CodeQL.
The error log contains the error message in chromium but the chromium build process seems successful even with these error logs.
```
31250437_0.trap for no link target, 1715: com.semmle.util.exception.CatastrophicError: Bad Token: unexpected EOF, expected: rest of string. Read so far: "/home/dydxh/chrom
com.semmle.inmemory.trap.TrapScanner.failEOF(TrapScanner.java:143)
com.semmle.inmemory.trap.TrapScanner.stringBody(TrapScanner.java:195)
com.semmle.inmemory.trap.TrapScanner.nextToken(TrapScanner.java:111)
com.semmle.inmemory.trap.TRAPReader.scanOneField(TRAPReader.java:853)
com.semmle.inmemory.trap.TRAPReader.scanTuple(TRAPReader.java:590)
com.semmle.inmemory.trap.TRAPReader.scanTuplesAndLabels(TRAPReader.java:512)
com.semmle.inmemory.trap.TRAPReader.importTuples(TRAPReader.java:423)
com.semmle.inmemory.trap.ImportTasksProcessor.process(ImportTasksProcessor.java:191)
com.semmle.inmemory.trap.ImportTasksProcessor.lambda$importTrap$1(ImportTasksProcessor.java:151)
com.semmle.util.concurrent.FutureUtils.lambda$mapAsync_$8(FutureUtils.java:136)
java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(Unknown Source)
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.base/java.lang.Thread.run(Unknown Source)
37962707_0.trap for no link target, 1714: com.semmle.util.exception.CatastrophicError: Bad Token: unexpected EOF, expected: rest of string. Read so far: @"loc,{
com.semmle.inmemory.trap.TrapScanner.failEOF(TrapScanner.java:143)
com.semmle.inmemory.trap.TrapScanner.stringBody(TrapScanner.java:195)
com.semmle.inmemory.trap.TrapScanner.string(TrapScanner.java:224)
com.semmle.inmemory.trap.TrapScanner.nextToken(TrapScanner.java:119)
com.semmle.inmemory.trap.TRAPReader.scanOneField(TRAPReader.java:853)
com.semmle.inmemory.trap.TRAPReader.scanTuple(TRAPReader.java:590)
com.semmle.inmemory.trap.TRAPReader.scanTuplesAndLabels(TRAPReader.java:512)
com.semmle.inmemory.trap.TRAPReader.importTuples(TRAPReader.java:423)
com.semmle.inmemory.trap.ImportTasksProcessor.process(ImportTasksProcessor.java:191)
com.semmle.inmemory.trap.ImportTasksProcessor.lambda$importTrap$1(ImportTasksProcessor.java:151)
com.semmle.util.concurrent.FutureUtils.lambda$mapAsync_$8(FutureUtils.java:136)
java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(Unknown Source)
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.base/java.lang.Thread.run(Unknown Source)
```
or something like
```
15364014_0.trap for no link target, 928: com.semmle.util.exception.CatastrophicError: Bad Token: unexpected EOF, expected: rest of string. Read so far: """../../mojo/public/cpp/bindings/lib/message_quota_checker.h"", line 59: err
or: expression must have a constant value
static constexpr base::TimeDelta kSamplingInterval = base::Seconds(5);
^
""../../base/numerics/safe_math_clang_gcc_impl.h"", line 106: note: cannot call non-constexpr function ""__builtin_mul_overflow"" (declared implicitly)
: !__builtin_mul_overflow(x, y,
com.semmle.inmemory.trap.TrapScanner.failEOF(TrapScanner.java:143)
com.semmle.inmemory.trap.TrapScanner.stringBody(TrapScanner.java:195)
com.semmle.inmemory.trap.TrapScanner.nextToken(TrapScanner.java:111)
com.semmle.inmemory.trap.TRAPReader.scanOneField(TRAPReader.java:853)
com.semmle.inmemory.trap.TRAPReader.scanTuple(TRAPReader.java:590)
com.semmle.inmemory.trap.TRAPReader.scanTuplesAndLabels(TRAPReader.java:512)
com.semmle.inmemory.trap.TRAPReader.importTuples(TRAPReader.java:423)
com.semmle.inmemory.trap.ImportTasksProcessor.process(ImportTasksProcessor.java:191)
com.semmle.inmemory.trap.ImportTasksProcessor.lambda$importTrap$1(ImportTasksProcessor.java:151)
com.semmle.util.concurrent.FutureUtils.lambda$mapAsync_$8(FutureUtils.java:136)
java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(Unknown Source)
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.base/java.lang.Thread.run(Unknown Source)
```
Guía de contribución
Línea de trabajo
Start by reproducing the Chromium compilation with CodeQL and inspect the reported stack frames in TrapScanner.java and TRAPReader.java. Compare the malformed or truncated .trap inputs with the EOF handling at those entry points; done means the cause is identified and the reported CatastrophicError is prevented or handled correctly.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- cpp, java
- Área
- compilers, tooling
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100