Archivo de la categoría: error

[Alfresco Share] A server error has ocurred

Buenas.

He realizado en mi Mac una instalación simple con el instalador de un Alfresco Community versión 5.0.d y cual ha sido mi sorpresa que nada más arrancar e intentar acceder por el navegador web (http://localhost:8080/share) me casca un “A server error has ocurred” de estos súper genérico:

Share default failed web page

Consultando el catalina.out al arrancar, observo lo siguiente:

INFORMACIÓN: Despliegue del archivo /Applications/Alfresco/community/alfresco-5.0.d/tomcat/webapps/share.war de la aplicación web
sep 04, 2017 7:00:25 PM org.apache.catalina.startup.ContextConfig beforeStart
GRAVE: Excepción arreglando docBase: /share
java.io.EOFException: Unexpected end of ZLIB input stream
at java.util.zip.ZipFile$ZipFileInflaterInputStream.fill(ZipFile.java:418)
at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:158)
at java.io.FilterInputStream.read(FilterInputStream.java:107)
at org.apache.catalina.startup.ExpandWar.expand(ExpandWar.java:413)
at org.apache.catalina.startup.ExpandWar.expand(ExpandWar.java:144)
at org.apache.catalina.startup.ContextConfig.fixDocBase(ContextConfig.java:735)
at org.apache.catalina.startup.ContextConfig.beforeStart(ContextConfig.java:863)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:388)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:402)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1081)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1877)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

Si me voy algo más abajo, coincidiendo con el momento de acceder por web, en uno de los Caused by, observo lo siguiente:

...
Caused by: org.springframework.extensions.surf.exception.PlatformRuntimeException: 09040000 No 'login' page type configured - but page auth required it.
at org.springframework.extensions.surf.mvc.PageView.renderView(PageView.java:260)
at org.springframework.extensions.surf.mvc.AbstractWebFrameworkView.renderMergedOutputModel(AbstractWebFrameworkView.java:316)
...

EL error está claro: No hay página de inicio.

Mirando la instalación he verificado que dentro de la carpeta webapps, no se descomprimía el share.war:

Cristina$ ls -la tomcat/webapps/
total 590896
drwxr-xr-x 9 Cristina admin 306 4 sep 19:00 .
drwxr-xr-x 16 Cristina admin 544 4 sep 18:56 ..
drwxr-xr-x 12 Cristina admin 408 4 sep 18:59 alfresco
-rw——- 1 Cristina admin 149546738 4 sep 18:57 alfresco.war
drwxr-xr-x 7 Cristina admin 238 4 sep 18:56 host-manager
drwxr-xr-x 8 Cristina admin 272 4 sep 18:56 manager
-rw——-1 Cristina admin 60471586 4 sep 18:57 share.war
drwxr-xr-x 10 Cristina admin 340 4 sep 18:59 solr4
-rw-r–r– 1 Cristina admin 92515594 19 mar 2015 solr4.war

Después de mirar, he caído que el problema viene del instalador: No establece los permisos adecuados a webapps/alfresco.war y share.war y tomcat no es capaz de descomprimirlo adecuadamente.

Echemos un ojo para comprender el problema

Por defecto, al realizar la instalación con el instalador y arrancado, tenemos lo siguiente:

Cristina$ ls -la tomcat/webapps/
total 590896
drwxr-xr-x 9 Cristina admin 306 4 sep 19:00 .
drwxr-xr-x 16 Cristina admin 544 4 sep 18:56 ..
drwxr-xr-x 12 Cristina admin 408 4 sep 18:59 alfresco
-rw——- 1 Cristina admin 149546738 4 sep 18:57 alfresco.war
drwxr-xr-x 7 Cristina admin 238 4 sep 18:56 host-manager
drwxr-xr-x 8 Cristina admin 272 4 sep 18:56 manager
-rw——-1 Cristina admin 60471586 4 sep 18:57 share.war
drwxr-xr-x 10 Cristina admin 340 4 sep 18:59 solr4
-rw-r–r– 1 Cristina admin 92515594 19 mar 2015 solr4.war

Si os fijáis, alfresco.war ocupa casi un giga y medio (149546738 4 sep 18:57 alfresco.war) y solo ha descomprimido 400kbs (408 4 sep 18:59 alfresco). Por lo que tampoco lo ha realizado bien.

Solución

Hay que ejecutar lo siguiente para otorgar los permisos adecuados. Tened en cuenta que debéis estar sobre la ruta en la que tengamos instalado nuestro Alfresco, por ejemplo C:/Alfresco/

  • chmod 0644 tomcat/webapps/share.war
  • chmod 0644 tomcat/webapps/alfresco.war

Los permisos adecuados deben ser:

Cristina$ ls -la tomcat/webapps/
total 590896
drwxr-xr-x 9 Cristina admin 306 4 sep 19:00 .
drwxr-xr-x 16 Cristina admin 544 4 sep 18:56 ..
drwxr-xr-x 12 Cristina admin 408 4 sep 18:59 alfresco
-rw-r–r– 1 Cristina admin 149546738 4 sep 18:57 alfresco.war
drwxr-xr-x 7 Cristina admin 238 4 sep 18:56 host-manager
drwxr-xr-x 8 Cristina admin 272 4 sep 18:56 manager
-rw-r–r– 1 Cristina admin 60471586 4 sep 18:57 share.war
drwxr-xr-x 10 Cristina admin 340 4 sep 18:59 solr4
-rw-r–r– 1 Cristina admin 92515594 19 mar 2015 solr4.war

Borramos el despliegue a que teníamos mal realizado de Alfresco:

  • rm -rf tomcat/webapps/alfresco/

Y ya solo nos queda arrancar Alfresco con un alfresco.sh start. Listo ;-)

Otra de esas cositas que son muy tontas pero que te quitan tiempo (mucho tiempo) en mirar de dónde viene el problema. Ahí queda :-)

¡Un saludo!

[ERROR]: The amp will overwrite an existing file in the war

Buenas tardes.

Os dejo aquí este tip por si el día de mañana os ocurre para que no os volváis loc@s :-P

Un poco de historia…

Intentando instalar mis amps (carpetas amps/ y amps_share/) con el script apply_amps.sh en uno de mis módulos me daba el siguiente error y no lo instalaba:

06280001 An error was encountered during deployment of the AMP into the WAR: 06280000 ERROR: The amp will overwrite an existing file in the war ‘/themes/sampleTheme/images/alfresco-imagelib.png’. Execution halted. By specifying -force , you can force installation of AMP regardless of the current war state.

El problema es que, si utilizamos el -force como se indica en ese parrafo obligamos a alfresco a sobre escribir archivos que ya tuviera desplegados previamente. Pero más allá de eso: ¿Por qué Alfresco tiene una versión previa de mi archivo si estoy desplegando una nueva?

Si miramos un poco más y usamos el ./apply_amps.sh -force , tenemos lo siguiente:

– WARNING: The file ‘/themes/sampleTheme/images/alfresco-imagelib.png’ is being overwritten by this module. The original has been backed-up to ‘/WEB-INF/classes/alfresco/module/backup/f2d9c362-73b2-11e7-9166-857b2fac416e.bin’

Y nuestro problema vendrá cuando corrijamos esa ruta e intentemos desplegar esa misma imagen en una ruta distinta, veremos como Alfresco carga la que tiene en backup.

Solución.

  • Pongamos que nuestro Alfresco es el 5.2.
  • Cogemos el war limpio de la misma versión. ¿Qué significa limpio? Pues nos descargamos los fuentes de Alfresco, y tomamos el war de la misma versión que nosotros usamos. Vamos, que no haya sido utilizado nunca.
  • Tenemos que renombrar el war que queramos sustituir de nuestra instalación: Por ejemplo de alfresco.war a alfresco.war.previous o lo que queráis pero .lo-que-quieras para que no sea tenido en cuenta cuando cargue tomcat.
  • Copiamos el war en nuestro_alfresco/tomcat/webapps/
  • Ejecutamos ./apply_amps.sh (o bat si es para plataforma windows).
  • Veremos como habrá desaparecido tanto el error como los warnings.
  • Serás más feliz :-)

Espero que os sirva.

¡Un saludo!

[ERROR] Solr4: Unable to create core alfresco

Buenas.

Hace poco al instalar unos amps en un Alfresco 5.0.d usando el instalador apply_amps.sh de el directorio /opt/alfresco-5.0.d/bin/, al arrancar mi alfresco me encontré el siguiente error:

ERROR [solr.core.CoreContainer] [coreLoadExecutor-5-thread-2] Unable to create core: alfresco
org.apache.solr.common.SolrException: Could not load core configuration for core alfresco
at org.apache.solr.core.ConfigSetService.getConfig(ConfigSetService.java:66)
at org.apache.solr.core.CoreContainer.create(CoreContainer.java:554)
at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:261)
at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:253)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.solr.common.SolrException: org.xml.sax.SAXParseException; systemId: solrres:/schema.xml; lineNumber: 403; columnNumber: 105; An invalid XML character (Unicode: 0x2) was found in the comment.. Schema file is /Applications/Alfresco/community/alfresco-5.0.d/solr4/workspace-SpacesStore/schema.xml
at org.apache.solr.schema.IndexSchema.readSchema(IndexSchema.java:593)
at org.apache.solr.schema.IndexSchema.<init>(IndexSchema.java:165)
at org.apache.solr.schema.IndexSchemaFactory.create(IndexSchemaFactory.java:55)
at org.apache.solr.schema.IndexSchemaFactory.buildIndexSchema(IndexSchemaFactory.java:69)
at org.apache.solr.core.ConfigSetService.createIndexSchema(ConfigSetService.java:89)
at org.apache.solr.core.ConfigSetService.getConfig(ConfigSetService.java:62)
... 9 more
Caused by: org.apache.solr.common.SolrException: org.xml.sax.SAXParseException; systemId: solrres:/schema.xml; lineNumber: 403; columnNumber: 105; An invalid XML character (Unicode: 0x2) was found in the comment.
at org.apache.solr.core.Config.<init>(Config.java:148)
at org.apache.solr.core.Config.<init>(Config.java:86)
at org.apache.solr.schema.IndexSchema.readSchema(IndexSchema.java:443)
... 14 more
Caused by: org.xml.sax.SAXParseException; systemId: solrres:/schema.xml; lineNumber: 403; columnNumber: 105; An invalid XML character (Unicode: 0x2) was found in the comment.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown Source)
at org.apache.xerces.impl.XMLScanner.scanComment(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanComment(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at org.apache.solr.core.Config.<init>(Config.java:134)
... 16 more

Después de leer esta incidencia de Alfresco, intenté aplicarla pero no pude porque sencillamente no aplicaba a mi instalación (ya tenía el archivo nombrado a solr4.xml y no había por ningún lado el parámetro docBase).

Finalmente dí con la solución:

  1. Me dirijo a la carpeta de mi instalación
    • cd /opt/alfresco-5.0.d/
  2. Paro Alfresco
    • ./alfresco.sh stop
  3. Elimino el directorio solr4/
    • rm -rf  tomcat/webapps/solr4/
  4. Inicio Alfresco
    • ./alfresco.sh start
  5. Monitorizo el log para ver que todo funciona bien
    • tail -n500 -f tomcat/logs/catalina.out

Y listo, todo como la seda.

Sé que es una chorrada pero me ha llevado algo de tiempo dar con lo que era y si publicándolo os puedo ahorrar algo de tiempo, mejor que mejor ;-)

¡¡Un saludo!!

[Error] Problemas con SLF4JLogFactory y Alfresco 4.2.x

Muy buenas.

Cuando nos toca trabajar con la SDK 1.1.1 – porque algunas veces puede ocurrir que nos encontremos algún cliente sigue usando Alfresco 4.2.x – nos tocará lidiar con esta versión de SDK siguiendo la tabla de compatibilidades publicada por Alfresco. Si utilizamos el arqueotipo “todo en uno” por defecto tenemos un error nada más arrancar:

GRAVE: Servlet /alfresco threw load() exception
org.apache.commons.discovery.DiscoveryException: Class org.apache.commons.logging.impl.SLF4JLogFactory does not implement org.apache.commons.logging.LogFactory
at org.apache.commons.discovery.tools.ClassUtils.verifyAncestory(ClassUtils.java:180)
at org.apache.commons.discovery.tools.SPInterface.verifyAncestory(SPInterface.java:201)
at org.apache.commons.discovery.tools.SPInterface.newInstance(SPInterface.java:195)
at org.apache.commons.discovery.tools.DiscoverClass.newInstance(DiscoverClass.java:579)
at org.apache.commons.discovery.tools.DiscoverSingleton.find(DiscoverSingleton.java:418)
at org.apache.commons.discovery.tools.DiscoverSingleton.find(DiscoverSingleton.java:378)
at org.apache.axis.components.logger.LogFactory$1.run(LogFactory.java:45)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.axis.components.logger.LogFactory.getLogFactory(LogFactory.java:41)
at org.apache.axis.components.logger.LogFactory.<clinit>(LogFactory.java:33)
at org.apache.axis.transport.http.AxisServletBase.<clinit>(AxisServletBase.java:58)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at org.springsource.loaded.ri.ReflectiveInterceptor.jlrConstructorNewInstance(ReflectiveInterceptor.java:1002)
at org.springsource.loaded.ri.ReflectiveInterceptor.jlClassNewInstance(ReflectiveInterceptor.java:989)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:138)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1144)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1088)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5033)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5317)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
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:745)

Incluso el error está reconocido por Alfresco en este ticket, pero lamentablemente la solución que proponen no funciona :-(

Después de horas de quebramiento de cabeza, cientos de pruebas y combinaciones, esto es lo que me funcionó:

Sigue leyendo