Zeitweise auftretende StackOverflow-Fehler beim AEMaaCS-Pipeline-Build
Ein StackOverflowError tritt während der Build-Phase in Adobe Experience Manager as a Cloud Service (AEMaaCS) auf, was durch eine inkonsistente Abhängigkeitsauflösung zwischen Cloud-Anbietern verursacht wird. Um dies zu beheben, überprüfen Sie pom.xml Konfigurationen, beheben Sie HTL-Skriptprobleme, überprüfen Sie den Repository-Zugriff und wenden Sie eine temporäre Problemumgehung mithilfe von zwischengespeicherten Abhängigkeiten an.
Beschreibung description
Umgebung
Adobe Experience Manager as a Cloud Service (AEMaaCS) - Sites
Problem/Symptome
- Pipeline-Builds schlagen gelegentlich mit folgendem Fehler fehl: Ausnahme im Thread „main“ java.lang.StackOverflowError.
- Einige Builds sind erfolgreich, während andere fehlschlagen, ohne die erforderlichen Abhängigkeiten abzurufen.
- In den Protokollen werden Maven-Überspringungsvorgänge beim Abrufen von Abhängigkeiten aus dem Repository während fehlgeschlagener Builds angezeigt.
Ursache
Cloud Manager erstellt Client-Code parallel unter Verwendung von zwei Cloud-Anbietern und stoppt einen, wenn der andere abgeschlossen ist. Nur ein Anbieter verwendet die Zwischenspeicherung, sodass einige Builds Abhängigkeiten wiederverwenden, während andere sie abrufen müssen. Wenn Abhängigkeiten fehlen und rekursive Logik (z. B. in HTL-Skripten) ausgelöst wird, kann dies zu StackOverflowError führen. Dies ist in der Regel darauf zurückzuführen, wie Abhängigkeiten auf Kundenseite verwaltet werden.
Auflösung resolution
Gehen Sie wie folgt vor, um StackOverflow-Fehler während AEM-QA-Builds zu beheben:
- Überprüfen Sie die Abhängigkeitskonfiguration, indem Sie alle
pom.xmlDateien über Untermodule hinweg überprüfen. Stellen Sie sicher, dass die Maven-Repository-Einstellungen korrekt sind und die erforderliche Abhängigkeit (gs4tr-globallink-adaptors-aem.all) ordnungsgemäß definiert und zugänglich ist. Wenn die Abhängigkeit nicht verfügbar ist, fügen Sie sie einem lokalen Bibliotheksordner hinzu und verweisen Sie impom.xmlmithilfe dessystemPathauf sie. - Überprüfen Sie den Repository-Zugriff, indem Sie die Anmeldeinformationen für den Zugriff auf private Repositorys in Maven
settings.xmlkonfigurieren und die erforderlichen Umgebungsvariablen (z. B.MAVEN_GLOBAL_LINK_PASSWORD) korrekt festlegen. - Überprüfen Sie den Repository-Zugriff, indem Sie Anmeldeinformationen für private Repositorys in der Maven-
settings.xmlkonfigurieren. Stellen Sie sicher, dass die erforderlichen Umgebungsvariablen (z. B.MAVEN_GLOBAL_LINK_PASSWORD) korrekt festgelegt sind. - Überprüfen Sie Pipeline-Protokolle auf fehlende Abhängigkeiten, falsche Repository-URLs oder 404-Fehler beim Abrufen von Abhängigkeiten aus angegebenen Repositorys.
- Wiederholen Sie fehlgeschlagene Pipelines als vorübergehende Problemumgehung. Erfolgreiche Ausführungen können zwischengespeicherte Abhängigkeiten verwenden, bis eine dauerhafte Fehlerbehebung implementiert ist.
Verwandtes Lesen
- Einrichten der Pipeline im AEM as a Cloud Service-Benutzerhandbuch.
- Erste Schritte mit HTL in der Dokumentation zu AEM.