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:

  1. Identifique todos os pom.xml arquivos usados em seu projeto, incluindo os diretórios raiz e submódulo.
  2. Atualize a configuração do plug-in do compilador Maven em cada arquivo pom.xml para definir o parâmetro de tamanho da pilha JVM (-J-Xss) como 6M ou 8M.
  3. Salve e confirme as alterações em todos os arquivos pom.xml atualizados.
  4. Execute novamente o pipeline de Cloud Manager afetado após fazer essas alterações.
  5. 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.
  6. 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 -Xss ajuda, 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 -Xss para 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