{"record":{"id":"7302147693a9ef66","repo":"languagetool-org/languagetool","slug":"process-request-failed","errorCode":null,"errorMessage":"Process request failed","messagePattern":"Process request failed","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"languagetool-server/src/main/java/org/languagetool/server/GRPCServer.java","lineNumber":107,"sourceCode":"      //   .map(GRPCUtils::fromGRPC).collect(Collectors.toList());\n\n      // TODO: rawMatches should have all results, regardless of mode/level/tempOff/...\n      List<RuleMatch> rawMatches = new ArrayList<>();\n      String text = request.getSentencesList().stream().map(s -> s.getText()).collect(Collectors.joining());\n      List<RuleMatch> matches = pipeline.check(text, m -> rawMatches.add(m));\n      // TODO use checkInternal again\n      // CheckResults results = pipeline.checkAnalyzedSentences(sentences, m -> rawMatches.add(m));\n\n      ProcessResponse response = ProcessResponse.newBuilder()\n        .addAllRawMatches(rawMatches.stream().map(GRPCUtils::toGRPC).collect(Collectors.toList()))\n        // .addAllMatches(results.getRuleMatches().stream().map(GRPCUtils::toGRPC).collect(Collectors.toList()))\n        .addAllMatches(matches.stream().map(GRPCUtils::toGRPC).collect(Collectors.toList()))\n        .build();\n      responseObserver.onNext(response);\n      log.info(\"Sending response: {}\", response);\n      responseObserver.onCompleted();\n    } catch (Exception e) {\n      log.warn(\"Process request failed\", e);\n      responseObserver.onError(e);\n    }\n  }\n\n  private Options getCommandLineOptions() {\n    Options options = new Options();\n    options.addOption(Option.builder().longOpt(\"config\").hasArg().required().build());\n    options.addOption(Option.builder().longOpt(\"port\").hasArg().build());\n    options.addOption(Option.builder().longOpt(\"cert\").hasArg().build());\n    options.addOption(Option.builder().longOpt(\"key\").hasArg().build());\n    return options;\n  }\n\n  private CommandLine parseCommandLine(String[] args) throws ParseException {\n    CommandLineParser parser = new DefaultParser();\n    return parser.parse(getCommandLineOptions(), args);\n  }\n","sourceCodeStart":89,"sourceCodeEnd":125,"githubUrl":"https://github.com/languagetool-org/languagetool/blob/2e990059ce67d5e2a0f7f7ca5d31160c6709df4b/languagetool-server/src/main/java/org/languagetool/server/GRPCServer.java#L89-L125","documentation":"gRPC error guard in GRPCServer.process: checking the request's sentences with the pipeline threw; the exception is reported to the gRPC client through responseObserver.onError.","triggerScenarios":"Thrown at languagetool-server/src/main/java/org/languagetool/server/GRPCServer.java:107 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check server logs for the underlying pipeline exception","Verify the request sentences and options are well-formed","Ensure pipeline resources (models, pools) are correctly configured"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"2e990059ce67d5e2a0f7f7ca5d31160c6709df4b","analyzedAt":"2026-09-06T09:20:17.015Z","contentChangedAt":"2026-09-06T09:20:17.015Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}