MarcusDau
Occasional Collector

java.lang.AssertionError: cannot link from current to release version

Jump to solution

Hi!

Nach Umstellung auf FS 5.1 habe ich bei einem Deployment folgendes Problem:

java.lang.AssertionError: cannot link from current to release version      at de.espirit.firstspirit.generate.AbstractUrlCreator.getCommonParent(AbstractUrlCreator.java:629)      at de.espirit.firstspirit.generate.DefaultUrlCreator.getRelativeUrl(DefaultUrlCreator.java:115)      at de.espirit.firstspirit.generate.DefaultUrlCreator.getUrl(DefaultUrlCreator.java:68)      at de.espirit.firstspirit.generate.AbstractUrlCreator.getUrl(AbstractUrlCreator.java:105)      at de.espirit.firstspirit.store.access.sitestore.PageRefImpl.getUrl(PageRefImpl.java:801)      at de.espirit.firstspirit.generate.AbstractGenerationContext.evalRef(AbstractGenerationContext.java:907)      at de.espirit.firstspirit.generate.SiteProduction.evalRef(SiteProduction.java:360)      at de.espirit.firstspirit.generate.AbstractGenerationContext.resolveReference(AbstractGenerationContext.java:713)      at de.espirit.firstspirit.generate.AbstractGenerationContext.resolveReference(AbstractGenerationContext.java:146)      at de.espirit.firstspirit.parser.impl.CmsRefImpl.eval(CmsRefImpl.java:65)      at de.espirit.firstspirit.parser.impl.CmsRefImpl.print(CmsRefImpl.java:46)      at de.espirit.firstspirit.parser.EvaluatorImpl.print(EvaluatorImpl.java:532)      at de.espirit.firstspirit.parser.impl.AbstractPrintable.print(AbstractPrintable.java:81)      at de.espirit.firstspirit.parser.impl.TemplateDocumentImpl.print(TemplateDocumentImpl.java:49)      at de.espirit.firstspirit.parser.EvaluatorImpl.print(EvaluatorImpl.java:532)      at de.espirit.firstspirit.parser.impl.CmsIfImpl.print(CmsIfImpl.java:88)      at de.espirit.firstspirit.parser.EvaluatorImpl.print(EvaluatorImpl.java:532)      at de.espirit.firstspirit.parser.impl.AbstractPrintable.print(AbstractPrintable.java:81)      at de.espirit.firstspirit.parser.impl.TemplateDocumentImpl.print(TemplateDocumentImpl.java:49)      at de.espirit.firstspirit.parser.EvaluatorImpl.print(EvaluatorImpl.java:532)      at de.espirit.firstspirit.parser.impl.CmsIfImpl.print(CmsIfImpl.java:88)      at de.espirit.firstspirit.parser.EvaluatorImpl.print(EvaluatorImpl.java:532)      at de.espirit.firstspirit.parser.impl.AbstractPrintable.print(AbstractPrintable.java:81)      at de.espirit.firstspirit.parser.impl.TemplateDocumentImpl.print(TemplateDocumentImpl.java:49)      at de.espirit.firstspirit.parser.impl.CmsForImpl$LoopEvaluator.eval(CmsForImpl.java:259)      at de.espirit.firstspirit.parser.impl.CmsForImpl$LoopEvaluator.access$100(CmsForImpl.java:164)      at de.espirit.firstspirit.parser.impl.CmsForImpl.print(CmsForImpl.java:144)      at de.espirit.firstspirit.parser.EvaluatorImpl.print(EvaluatorImpl.java:532)      at de.espirit.firstspirit.parser.impl.AbstractPrintable.print(AbstractPrintable.java:81)      at de.espirit.firstspirit.parser.impl.TemplateDocumentImpl.print(TemplateDocumentImpl.java:49)      at de.espirit.firstspirit.parser.impl.CmsTrimImpl.print(CmsTrimImpl.java:165)      at de.espirit.firstspirit.parser.EvaluatorImpl.print(EvaluatorImpl.java:532)      at de.espirit.firstspirit.parser.impl.AbstractPrintable.print(AbstractPrintable.java:81)      at de.espirit.firstspirit.parser.impl.TemplateDocumentImpl.print(TemplateDocumentImpl.java:49)      at de.espirit.firstspirit.parser.EvaluatorImpl.print(EvaluatorImpl.java:532)      at de.espirit.firstspirit.store.access.sitestore.PageRefImpl.render(PageRefImpl.java:918)      at de.espirit.firstspirit.store.access.sitestore.PageRefImpl.createContent(PageRefImpl.java:876)      at de.espirit.firstspirit.generate.SiteProduction.generateFile(SiteProduction.java:278)      at de.espirit.firstspirit.generate.SiteProduction.generateFiles(SiteProduction.java:225)      at de.espirit.firstspirit.generate.SiteProduction.render(SiteProduction.java:194)      at de.espirit.firstspirit.generate.SiteProduction.render(SiteProduction.java:149)      at de.espirit.firstspirit.generate.SiteProduction.render(SiteProduction.java:152)      at de.espirit.firstspirit.generate.SiteProduction.start(SiteProduction.java:119)      at de.espirit.firstspirit.generate.SiteProduction.start(SiteProduction.java:112)      at de.espirit.firstspirit.server.scheduler.GenerateTaskExecutor.run(GenerateTaskExecutor.java:233)      at de.espirit.firstspirit.server.scheduler.ScheduleManagerImpl$TaskCallable.executeLocal(ScheduleManagerImpl.java:2257)      at de.espirit.firstspirit.server.scheduler.ScheduleManagerImpl$TaskCallable.executeLocal(ScheduleManagerImpl.java:2240)      at de.espirit.firstspirit.server.scheduler.ScheduleManagerImpl$TaskCallable.call(ScheduleManagerImpl.java:2163)      at de.espirit.firstspirit.server.ExecutionManagerImpl$ExtendedCallable.call(ExecutionManagerImpl.java:564)      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)      at java.util.concurrent.FutureTask.run(FutureTask.java:166)      at de.espirit.common.util.BoundedExecutorService$RunnableWrapper.run(BoundedExecutorService.java:418)      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)      at java.util.concurrent.FutureTask.run(FutureTask.java:166)      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)      at java.lang.Thread.run(Thread.java:724)      at de.espirit.common.util.SuspendableThread.run(SuspendableThread.java:38) 

Da bricht dann die Generierungstask ab und nix passiert mehr.

Das Fehlerlog ist hier mit verlinkt.

Der Fehler tritt an folgender Stelle im Quellcode auf:

$CMS_FOR(pageref, newsItems)$ 
     $CMS_SET(newsKategorieKurz)$$CMS_VALUE(pageref.getPage().getData().get("st_meldungs_kategorie").getEditor().get(#global.language))$$CMS_END_SET$
     $CMS_IF(newsKategorieKurz.toString.equals("brett"))$
          $CMS_SET(newsHeadline)$$CMS_VALUE(pageref.getPage().getData().get("st_startseite_headline").getEditor().get(#global.language), default:"")$$CMS_END_SET$
          $CMS_IF(meldungenSchwarzesBrett < anzahlSchwarzesBrettMeldungen && !pageref.getPage().getData().get("st_startseite_headline").getEditor().get(#global.language).equals("Kalendarium"))$
               $CMS_VALUE(fr_pageref_group_string)$
               $CMS_IF(perm.toString.indexOf("Mitarbeiter")>-1 || perm.toString.indexOf("Vertrauensleute")>-1)$$CMS_SET(meldungenSchwarzesBrett, meldungenSchwarzesBrett+1)$$CMS_END_IF$
               $CMS_IF(!#global.preview)$

               <fsp:isAuthorized userRange="loggedIn" groups="$CMS_VALUE(perm)$">

               $CMS_END_IF$

               <a href="$CMS_REF(pageref)$" class="whiteArrow">$CMS_VALUE(newsHeadline)$</a>

               $CMS_IF(!#global.preview)$

               </fsp:isAuthorized>

               $CMS_END_IF$

          $CMS_END_IF$

     $CMS_END_IF$

$CMS_END_FOR$

Und zwar an der Stelle, wo der href ausgegeben werden soll. Da knallt es dann offensichtlich, denn genau bis dahin wird der Quelltext noch generiert.

Das Script, welches die NewsItems erzeugt, ist ebenfalls hier mit angehängt.

Ganz am Anfang des Deploymentauftrages schalte ich folgendes Script, damit ich auch die nicht freigegebenen Inhalte delpoyen kann, sprich sozusagen ein Test-Deployment!

context.getProject().setUseRelease(false);

Scheinbar ist das das Problem, denn ohne geht es. Aber es ging auch vor der 5.1er Version problemlos. Zumindest in der 4.2 irgendwas davor.

Kann mir jemand bitte helfen?

Danke!

Grüße

Marcus

0 Kudos
1 Solution

Accepted Solutions
Peter_Jodeleit
Crownpeak employee

Muss in dem Skript mit "context.getProject().useRelease()" gearbeitet werden? Was passiert, wenn du dort stattdessen "false" benutzt?

Falls das nicht funktioniert, kannst du versuchen, einen kleinen Testfall zu erzeugen und damit Unterstützung hier oder bei unserem Helpdesk erfragen.

Ganz am Anfang des Deploymentauftrages schalte ich folgendes Script, damit ich auch die nicht freigegebenen Inhalte delpoyen kann, sprich sozusagen ein Test-Deployment!

context.getProject().setUseRelease(false);

Scheinbar ist das das Problem, denn ohne geht es. Aber es ging auch vor der 5.1er Version problemlos. Zumindest in der 4.2 irgendwas davor.

Dieser Trick ist kein Feature, das wir offiziell unterstützen bzw. aktiv testen. Daher weiß ich auch nicht, ob unser Helpdesk sich solcher Probleme annimmt.

Peter

View solution in original post

0 Kudos
2 Replies
Peter_Jodeleit
Crownpeak employee

Muss in dem Skript mit "context.getProject().useRelease()" gearbeitet werden? Was passiert, wenn du dort stattdessen "false" benutzt?

Falls das nicht funktioniert, kannst du versuchen, einen kleinen Testfall zu erzeugen und damit Unterstützung hier oder bei unserem Helpdesk erfragen.

Ganz am Anfang des Deploymentauftrages schalte ich folgendes Script, damit ich auch die nicht freigegebenen Inhalte delpoyen kann, sprich sozusagen ein Test-Deployment!

context.getProject().setUseRelease(false);

Scheinbar ist das das Problem, denn ohne geht es. Aber es ging auch vor der 5.1er Version problemlos. Zumindest in der 4.2 irgendwas davor.

Dieser Trick ist kein Feature, das wir offiziell unterstützen bzw. aktiv testen. Daher weiß ich auch nicht, ob unser Helpdesk sich solcher Probleme annimmt.

Peter
0 Kudos

Ja, das geht. Dann gibt es scheinbar mit dem Trick (habe ich vom Helpdesk) wohl in 5.1 nicht mehr so richtig. Okay, dann sollte man also, wenn man so einen Fall hat, immer lieber release==false nutzen.

Danke!

0 Kudos