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
- Check the server logs for the underlying exception cause
- Verify request options are valid PipelineSettings
- 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.