cancel
Showing results for 
Search instead for 
Did you mean: 

Erreur ImageMagick Alfresco Community 4.2.e

lascaux
Champ on-the-rise
Champ on-the-rise
je viens d'installer une nouvelle instance d'alfresco (4.2.e) et malheureusement au démarrage j'ai l'erreur suivante:

20:16:37,380 ERROR [org.alfresco.repo.content.transform.magick.AbstractImageMagickContentTransformerWorker] ImageMagickContentTransformerWorker not available: 09210001 Failed to perform ImageMagick transformation:
Execution result:
   os:         Linux
   command:    /usr/bin/convert /opt/tomcat-instances/alfresco/temp/Alfresco/ImageMagickContentTransformerWorker_init_source_7986990484242219794.gif /opt/tomcat-instances/alfresco/temp/Alfresco/ImageMagickContentTransformerWorker_init_target_7125837877989634513.png
   succeeded:  false
   exit code:  1
   out:       
   err:        convert: no decode delegate for this image format `/opt/tomcat-instances/alfresco/temp/Alfresco/ImageMagickContentTransformerWorker_init_source_7986990484242219794.gif' @ error/constitute.c/ReadImage/532.
convert: missing an image filename `/opt/tomc
20:16:37,380 INFO  …


la génération des thumbnails ne fonctionnent ensuite plus

lancé en ligne de commande, la commande "usr/bin/convert /opt/tomcat-instances/alfresco/temp/Alfresco/ImageMagickContentTransformerWorker_init_source_7986990484242219794.gif /opt/tomcat-instances/alfresco/temp/Alfresco/ImageMagickContentTransformerWorker_init_target_7125837877989634513.png" s'execute parfaitement …

une idée ?

Merci
Sylvain

4 REPLIES 4

rguinot
Confirmed Champ
Confirmed Champ
Ce problème a en effet déjà été remonté récemment, lié à l'ajout dans la 4.1.6 et 4.2 de 2 nouvelles propriétés de configuration concernant ImageMagick.

Un workaround consiste à définir les propriétés suivantes (exemple) dans votre alfresco-global.properties:


img.coders=/usr/lib64/ImageMagick-6.7.8/modules-Q16/coders
img.config=/etc/ImageMagick


Ajustez suivant votre distribution et version d'ImageMagick, et le problème devrait être résolu.

lascaux
Champ on-the-rise
Champ on-the-rise
Merci … ca avance
j'ai donc mis ca dans mon fichier de config

img.root=/usr
img.exe=${img.root}/bin/convert
img.coders=/usr/lib/ImageMagick-6.6.9/modules-Q16/coders
img.config=/etc/ImageMagick


et plus de message au boot …
par contre, dès que j'atteinds un folder avec des images, j'ai ca dans les logs:

16:24:42,252 ERROR [org.alfresco.repo.action.AsynchronousActionExecutionQueueImpl] Failed to execute asynchronous action: Action[ id=db1c5f56-95f2-41f5-8183-0f03403d822c, node=null ]: 09220052 Failed to perform ImageMagick transformation:
Execution result:
   os:         Linux
   command:    /usr/bin/convert /opt/tomcat-instances/alfresco/temp/Alfresco/ImageMagickContentTransformerWorker_source_1504746808849427962.bin[0] -auto-orient -resize "100x100>" /opt/tomcat-instances/alfresco/temp/Alfresco/ImageMagickContentTransformerWorker_target_8457527965377935442.png
   succeeded:  false
   exit code:  1
   out:
   err:        convert: no decode delegate for this image format `/opt/tomcat-instances/alfresco/temp/Alfresco/ImageMagickContentTransformerWorker_source_1504746808849427962.bin' @ error/constitute.c/ReadImage/532.
convert: missing an image filename `/opt/tomcat-in
org.alfresco.error.AlfrescoRuntimeException: 09220054 Creation of thumbnail 'doclib' failed
        at org.alfresco.repo.thumbnail.CreateThumbnailActionExecuter.executeImpl(CreateThumbnailActionExecuter.java:202)
        at org.alfresco.repo.action.executer.ActionExecuterAbstractBase.execute(ActionExecuterAbstractBase.java:258)
        at org.alfresco.repo.action.ActionServiceImpl.directActionExecution(ActionServiceImpl.java:838)
        at org.alfresco.repo.action.ActionServiceImpl.executeActionImpl(ActionServiceImpl.java:738)
        at org.alfresco.repo.action.AsynchronousActionExecutionQueueImpl$ActionExecutionWrapper$1$1.execute(AsynchronousActionExecutionQueueImpl.java:428)
        at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:452)
        at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:323)
        at org.alfresco.repo.action.AsynchronousActionExecutionQueueImpl$ActionExecutionWrapper$1.doWork(AsynchronousActionExecutionQueueImpl.java:437)
        at org.alfresco.repo.tenant.TenantUtil.runAsWork(TenantUtil.java:119)
        at org.alfresco.repo.tenant.TenantUtil.runAsTenant(TenantUtil.java:88)
        at org.alfresco.repo.tenant.TenantUtil$1.doWork(TenantUtil.java:62)
        at org.alfresco.repo.security.authentication.AuthenticationUtil.runAs(AuthenticationUtil.java:548)
        at org.alfresco.repo.tenant.TenantUtil.runAsUserTenant(TenantUtil.java:58)
        at org.alfresco.repo.action.AsynchronousActionExecutionQueueImpl$ActionExecutionWrapper.run(AsynchronousActionExecutionQueueImpl.java:440)
        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)
Caused by: org.alfresco.service.cmr.repository.ContentIOException: 09220053 Content conversion failed:
   reader: ContentAccessor[ contentUrl=store://2013/10/21/12/24/f78419e9-dfb4-4a6c-9de0-e7f7ed772143.bin, mimetype=image/vnd.microsoft.icon, size=29926, encoding=UTF-8, locale=en_GB]
   writer: ContentAccessor[ contentUrl=store://2013/10/22/16/24/bc738e33-2230-4a93-bf5b-b2909f8ce25e.bin, mimetype=image/png, size=0, encoding=UTF-8, locale=en_GB]
   options: {targetContentProperty=null, contentReaderNodeRef=workspace://SpacesStore/e57f1aa5-3bcd-4fef-9c25-73ce5b578e33, contentWriterNodeRef=null, imageResizeOptions=ImageResizeOptions [width=100, height=100, maintainAspectRatio=true, percentResize=false, resizeToThumbnail=false, allowEnlargement=false], use=doclib, sourceContentProperty=null, includeEmbedded=false, commandOptions=, imageAutoOrient=true}
   limits:
        at org.alfresco.repo.content.transform.AbstractContentTransformer2.transform(AbstractContentTransformer2.java:256)
        at org.alfresco.repo.content.ContentServiceImpl.transform(ContentServiceImpl.java:624)
        at sun.reflect.GeneratedMethodAccessor673.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
        at net.sf.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:80)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at org.alfresco.repo.model.ml.MLContentInterceptor.invoke(MLContentInterceptor.java:125)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at org.alfresco.repo.security.permissions.impl.ExceptionTranslatorMethodInterceptor.invoke(ExceptionTranslatorMethodInterceptor.java:46)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at org.alfresco.repo.audit.AuditMethodInterceptor.invoke(AuditMethodInterceptor.java:161)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
        at com.sun.proxy.$Proxy48.transform(Unknown Source)
        at org.alfresco.repo.rendition.executer.AbstractTransformationRenderingEngine$TransformationCallable$1.doWork(AbstractTransformationRenderingEngine.java:435)
        at org.alfresco.repo.rendition.executer.AbstractTransformationRenderingEngine$TransformationCallable$1.doWork(AbstractTransformationRenderingEngine.java:426)
        at org.alfresco.repo.security.authentication.AuthenticationUtil.runAs(AuthenticationUtil.java:548)
        at org.alfresco.repo.rendition.executer.AbstractTransformationRenderingEngine$TransformationCallable.call(AbstractTransformationRenderingEngine.java:425)
        at org.alfresco.repo.rendition.executer.AbstractTransformationRenderingEngine$TransformationCallable.call(AbstractTransformationRenderingEngine.java:403)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        … 3 more
Caused by: org.alfresco.service.cmr.repository.ContentIOException: 09220052 Failed to perform ImageMagick transformation:
Execution result:
   os:         Linux
   command:    /usr/bin/convert /opt/tomcat-instances/alfresco/temp/Alfresco/ImageMagickContentTransformerWorker_source_1504746808849427962.bin[0] -auto-orient -resize "100x100>" /opt/tomcat-instances/alfresco/temp/Alfresco/ImageMagickContentTransformerWorker_target_8457527965377935442.png
   succeeded:  false
   exit code:  1
   out:
   err:        convert: no decode delegate for this image format `/opt/tomcat-instances/alfresco/temp/Alfresco/ImageMagickContentTransformerWorker_source_1504746808849427962.bin' @ error/constitute.c/ReadImage/532.
convert: missing an image filename `/opt/tomcat-in
        at org.alfresco.repo.content.transform.magick.ImageMagickContentTransformerWorker.transformInternal(ImageMagickContentTransformerWorker.java:188)
        at org.alfresco.repo.content.transform.magick.AbstractImageMagickContentTransformerWorker.transform(AbstractImageMagickContentTransformerWorker.java:273)
        at sun.reflect.GeneratedMethodAccessor690.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.alfresco.repo.management.subsystems.SubsystemProxyFactory$1.invoke(SubsystemProxyFactory.java:72)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
        at com.sun.proxy.$Proxy14.transform(Unknown Source)
        at org.alfresco.repo.content.transform.ProxyContentTransformer.transformInternal(ProxyContentTransformer.java:98)
        at org.alfresco.repo.content.transform.AbstractContentTransformer2.transform(AbstractContentTransformer2.java:211)
        … 28 more


assez bizarre …

Pour info, j'etais en 4.2.c auparavant (sur une instance installé initialement en 3.x) et ImageMagick fonctionnait.
J'ai decide d'installer une version propre en 4.2.e … mais cela ne se passe pas comme je le souhaitais 🙂

Syl

Hello,

C'est assez curieux, le correctif donné est pourtant ce qui fonctionne le mieux (je l'ai testé sur plusieurs instances avec succès). Et je suppose que tu as bien vérifié les répertoires en question.

Peux-tu faire un test simple pour vérifier que le converter est fonctionnel ? Par exemple ajouter une image d'avatar sur ton utilisateur, ou faire une convertion simple depuis le repository (jpg -> png) ?


Cordialement
Sébastien.

Je suppose que le mieux est peut-être de paramétrer cela à partir d'ImageMagick de l'installation d'Alfresco version 4.2.e

img.coders=${img.root}/common/lib/ImageMagick-6.8.6/modules-Q16/coders
img.config=${img.root}/common/lib/ImageMagick-6.8.6/

a+