languagetool-org/languagetool · error

Analyze request failed

Error message

Analyze request failed

What it means

gRPC error guard in GRPCServer.analyze: processing an AnalyzeRequest (settings build, pipeline fetch, or text analysis) threw, and the failure is propagated to the client via responseObserver.onError.

Source

Thrown at languagetool-server/src/main/java/org/languagetool/server/GRPCServer.java:71

   */
  public void analyze(org.languagetool.rules.ml.MLServerProto.AnalyzeRequest request,
      io.grpc.stub.StreamObserver<org.languagetool.rules.ml.MLServerProto.AnalyzeResponse> responseObserver) {
    if (pool == null) {
      responseObserver.onError(new IllegalStateException("Pool not initialized"));
      return;
    }
    try {
      log.info("Handling analyze request");
       PipelineSettings settings = buildSettings(request.getOptions());
       Pipeline pipeline = pool.getPipeline(settings);
       List<AnalyzedSentence> sentences = pipeline.analyzeText(request.getText());
      AnalyzeResponse response = AnalyzeResponse.newBuilder()
         .addAllSentences(sentences.stream().map(GRPCUtils::toGRPC).collect(Collectors.toList()))
        .build();
      responseObserver.onNext(response);
      responseObserver.onCompleted();
    } catch (Exception e) {
      log.warn("Analyze request failed", e);
      responseObserver.onError(e);
    }
  }

  /**
   */
  public void process(org.languagetool.rules.ml.MLServerProto.ProcessRequest request,
      io.grpc.stub.StreamObserver<org.languagetool.rules.ml.MLServerProto.ProcessResponse> responseObserver) {
    if (pool == null) {
      responseObserver.onError(new IllegalStateException("Pool not initialized"));
      return;
    }
    try {
      log.info("Handling process request: {}", request);
      PipelineSettings settings = buildSettings(request.getOptions());
      Pipeline pipeline = pool.getPipeline(settings);
      // List<AnalyzedSentence> sentences = request.getSentencesList().stream()
      //   .map(GRPCUtils::fromGRPC).collect(Collectors.toList());

View on GitHub (pinned to 2e990059ce)

Solutions

  1. Check the server logs for the underlying exception cause
  2. Verify request options are valid PipelineSettings
  3. Ensure the pipeline pool is initialized and not exhausted
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at languagetool-server/src/main/java/org/languagetool/server/GRPCServer.java:71 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of languagetool-org/languagetool@2e990059ce (2026-09-06). Data as JSON: /api/errors/46a8aabfdc36da5f. Report an issue: GitHub.