Resolução de StackOverflowError em compilações de pipeline do AEM as a Cloud Service
No AEM as a Cloud Service, um StackOverflowError recorrente ocorre durante compilações de pipeline. O erro é rastreado a configurações insuficientes de tamanho de pilha JVM ao compilar código HTL personalizado profundamente recursivo. O ajuste do parâmetro de tamanho da pilha JVM na configuração Maven permite a conclusão bem-sucedida do pipeline.
Descrição description
Ambiente
- Produto: Adobe Experience Manager as a Cloud Service(AEMaaCS) - Sites
- Restrições relevantes: compilação de código HTL complexo e recursivo durante compilações de pipeline
Problema/Sintomas
- StackOverflowError aparece repetidamente durante as etapas de compilação do pipeline, principalmente nas fases de compilação de Java.
- Falhas de pipeline ocorrem mesmo com confirmações de código-fonte bem-sucedidas anteriormente.
- Aumentar ou diminuir o tamanho da pilha de JVM (
-Xss) afeta os resultados da compilação. - As builds locais bem-sucedidas não garantem o sucesso nos pipelines do Cloud Manager devido aos limites de recursos da infraestrutura.
Resolução resolution
Para corrigir esse problema, siga estas etapas:
- Identifique todos os
pom.xmlarquivos usados em seu projeto, incluindo os diretórios raiz e submódulo. - Atualize a configuração do plug-in do compilador Maven em cada arquivo
pom.xmlpara definir o parâmetro de tamanho da pilha JVM (-J-Xss) como 6M ou 8M. - Salve e confirme as alterações em todos os arquivos
pom.xmlatualizados. - Execute novamente o pipeline de Cloud Manager afetado após fazer essas alterações.
- Se vários pipelines forem acionados simultaneamente ou um ficar preso, aguarde o cancelamento manual e a limpeza de recursos antes de iniciar novas execuções.
- Verifique se a compilação foi concluída com êxito sem StackOverflowError.
Notas
- A recursão profunda no código HTL personalizado usa mais memória de pilha do que a alocação JVM padrão. Aumentar
-Xssajuda, mas se a recursão aumentar, o erro poderá retornar. - Recomenda-se a refatoração de modelos HTL para minimizar a recursão para estabilidade a longo prazo.
- O aumento de
-Xsspara 6-8 MB permanece dentro das restrições padrão de memória dos contêineres de compilação do AEM as a Cloud Service. - Evite acionar pipelines adicionais enquanto um estiver preso para evitar a contenção de recursos e garantir a limpeza adequada antes de tentar novamente as criações.
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f