2012-08-07 10 views
5

Instaluję usługę cd_preview_webservice na serwerze Tomcat, który ma również aplikacje na stronę internetową przemieszczania (do użycia w interfejsie użytkownika) i zainstalowaną stronę cd_upload (która jest wdrażana na stronie internetowej) .SDL Tridion 2012 UI - Błąd podczas aktualizowania podglądu i publikowania

Kiedy klikam 'Aktualizuj podgląd' lub 'Zakończ edycję' pojawia się następujący błąd:

com/tridion/Deployer/TCDLTransformer

Również w tym wysłać proces Tomcat 100% użycia procesora.

Ponownie przeczytałem instrukcje i nie widzę, gdzie popełniłem swój błąd. Każda pomoc doceniona.

Dzięki Mark

zrobiłem kilka kopanie i wydaje się, że mogę uzyskać podgląd Session ID zapisany w bazie danych w tabeli „PREVIEW_SESSIONS”, ale inne są puste. Co wydaje mi się dziwne.

Znalazłem również, że następujący serwis internetowy nazywamy 'http: //bbtrid04/WebUI/Models/SiteEdit/Services/Services.svc/GetPreviewToken' otrzymuje następującą odpowiedź:

{ "ExceptionDetail": null, "ExceptionType": null, "Message": "przestrzeń PermGen", "StackTrace": null}

i plik dziennika localhost zawiera następujący błąd:

07-Aug-2012 17:34:04 org.apache.catalina.core.StandardWrapperValve invoke 
SEVERE: Servlet.service() for servlet httpupload threw exception 
java.lang.OutOfMemoryError: PermGen space 
    at org.apache.commons.fileupload.disk.DiskFileItemFactory.createItem(DiskFileItemFactory.java:199) 
    at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:361) 
    at org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126) 
    at com.tridion.transport.HTTPSReceiverServlet.handleUpload(HTTPSReceiverServlet.java:233) 
    at com.tridion.transport.HTTPSReceiverServlet.doPost(HTTPSReceiverServlet.java:108) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) 
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
    at java.lang.Thread.run(Unknown Source) 
07-Aug-2012 17:34:05 org.apache.catalina.core.StandardWrapperValve invoke 
SEVERE: Servlet.service() for servlet httpupload threw exception 
java.lang.VerifyError: (class: org/apache/commons/fileupload/disk/DiskFileItem, method: getUniqueId signature:()Ljava/lang/String;) Illegal constant pool index 
    at org.apache.commons.fileupload.disk.DiskFileItemFactory.createItem(DiskFileItemFactory.java:199) 
    at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:361) 
    at org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126) 
    at com.tridion.transport.HTTPSReceiverServlet.handleUpload(HTTPSReceiverServlet.java:233) 
    at com.tridion.transport.HTTPSReceiverServlet.doPost(HTTPSReceiverServlet.java:108) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) 
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
    at java.lang.Thread.run(Unknown Source) 
+0

Hej Mark. Czy możesz ponownie sprawdzić ten komunikat o błędzie? W tej chwili pokazuje tylko nazwę klasy, która brzmi dla mnie wyjątkowo niekompletnie. –

+0

Oczywiście sprawdzi się teraz. Byłem także zdezorientowany komunikatem o błędzie. –

+0

Cóż, tak naprawdę to wszystko mówi, że najprawdopodobniej jest to "kwestia ładowania klas". Niestety jest to tak mgliste, jak tylko mogę, więc mam nadzieję, że ktoś inny w tej sprawie będzie miał lepszy trop. –

Odpowiedz

4

Kiedy JVM ładuje klas stawia je do przestrzeni PermGen jej sterty, która domyślnie wynosi 64 MB.

Ślad stosu, który pokazałeś, jest martwym rozdawaniem, że twoja maszyna JVM ładuje więcej klas niż ma miejsce i na pewno wyjaśniłaby swoją skargę o nieodnalezieniu TCDLTransformer.

Zazwyczaj mam -XX:MaxPermSize=256m w moim setenv.bat, aby zapewnić wystarczającą ilość miejsca. W zależności od tego, jak uruchamiasz Tomcat, może być konieczne umieszczenie go w tym miejscu lub w parametrach usługi.

+0

Zwiększenie rozmiaru MaxPermSize rzeczywiście usunęło błąd z dzienników. Niestety ten sam błąd występuje w interfejsie użytkownika. Podczas aktualizacji podglądu lub edycji końcowej pojawia się następujący błąd, gdy wymagane jest poniższe: Żądanie: bbtrid04/WebUI/Models/SiteEdit/Services/Services.svc/... Odpowiedź: {"ExceptionDetail": null, "ExceptionType": null, "Wiadomość": "com \/tridion \/deployer \/TCDLTransformer", "StackTrace": null} –

+0

Odkryłem również, że musiałem użyć następujących słoików w aplikacji cd_preview_webservice z aplikacji cd_upload: cd_deployer.jar, cd_upload.jar, commons-fileupload.jar, commons-io.jar. Spowoduje to usunięcie błędu TCDLDeployer. –

Powiązane problemy