cancel
Showing results for 
Search instead for 
Did you mean: 

ImageMagick - unable to load modules

mbel
Star Contributor
Star Contributor

Hello,

I noticed that all types of images are not loading after I upload them in Share. They worked properly before, so I don't know what I have done that they stopped working.

I tried to install the last version of ImageMagick-7.0.4-Q16 and changed the path in global.properties but same error appears....

The current properties are:

### External executable locations ###
ooo.exe=C:\\alfresco-community\\libreoffice\\App\\libreoffice\\program\\soffice.exe
ooo.enabled=true
ooo.port=8100
img.root=C:\\alfresco-community\\imagemagick
img.coders=${img.root}\\modules\\coders
img.config=${img.root}
img.gslib=${img.root}\\lib
img.exe=${img.root}\\convert.exe

And the error is the following:

Execution result:
os: Windows 8.1
command: C:\alfresco-community\imagemagick\convert.exe C:\Users\maria\AppData\Local\Temp\Alfresco\ImageMagickContentTransformerWorker_source_7819776725997963791.png[0] -auto-orient -resize "100x100>" C:\Users\maria\AppData\Local\Temp\Alfresco\ImageMagickContentTransformerWorker_target_8196530081303885449.png
succeeded: false
exit code: 1
out:
err: convert.exe: unable to load module `C:\alfresco-community\imagemagick\modules\coders\IM_MOD_RL_PNG_.dll': The specified module could not be found.
@ error/module.c/OpenModule/1282.
convert.exe: no decode delegate for this image format `PNG' @ err


org.alfresco.error.AlfrescoRuntimeException: 00270003 Creation of thumbnail 'doclib' failed
at org.alfresco.repo.thumbnail.CreateThumbnailActionExecuter.executeImpl(CreateThumbnailActionExecuter.java:206)
at org.alfresco.repo.action.executer.ActionExecuterAbstractBase.execute(ActionExecuterAbstractBase.java:265)
at org.alfresco.repo.action.ActionServiceImpl.directActionExecution(ActionServiceImpl.java:840)
at org.alfresco.repo.action.ActionServiceImpl.executeActionImpl(ActionServiceImpl.java:740)
at org.alfresco.repo.action.AsynchronousActionExecutionQueueImpl$ActionExecutionWrapper$1$1.execute(AsynchronousActionExecutionQueueImpl.java:426)
at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:457)
at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:326)
at org.alfresco.repo.action.AsynchronousActionExecutionQueueImpl$ActionExecutionWrapper$1.doWork(AsynchronousActionExecutionQueueImpl.java:435)
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:438)
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.alfresco.service.cmr.repository.ContentIOException: 00270002 Content conversion failed:
reader: ContentAccessor[ contentUrl=store://2017/1/27/11/38/c2d720cb-13f4-4ea8-9a9b-8026d3b73c07.bin, mimetype=image/png, size=11265, encoding=UTF-8, locale=en_US]
writer: ContentAccessor[ contentUrl=store://2017/1/27/11/38/79e95b42-0d6c-41b8-a3ee-6a92a4622581.bin, mimetype=image/png, size=0, encoding=UTF-8, locale=en_US]
options: {use=doclib, contentReaderNodeRef=workspace://SpacesStore/5fedbbb7-9d57-40b1-9696-3dc32c4034b0, contentWriterNodeRef=null, sourceContentProperty=null, imageAutoOrient=true, targetContentProperty=null, commandOptions=, imageResizeOptions=ImageResizeOptions [width=100, height=100, maintainAspectRatio=true, percentResize=false, resizeToThumbnail=false, allowEnlargement=false], includeEmbedded=false}
limits: {timeoutMs=120000}


at org.alfresco.repo.content.transform.AbstractContentTransformer2.transform(AbstractContentTransformer2.java:332)
at org.alfresco.repo.content.ContentServiceImpl.transform(ContentServiceImpl.java:631)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
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:129)
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.proceedWithAudit(AuditMethodInterceptor.java:249)
at org.alfresco.repo.audit.AuditMethodInterceptor.proceed(AuditMethodInterceptor.java:209)
at org.alfresco.repo.audit.AuditMethodInterceptor.invoke(AuditMethodInterceptor.java:164)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at com.sun.proxy.$Proxy42.transform(Unknown Source)
at org.alfresco.repo.rendition.executer.AbstractTransformationRenderingEngine$TransformationCallable$1.doWork(AbstractTransformationRenderingEngine.java:471)
at org.alfresco.repo.rendition.executer.AbstractTransformationRenderingEngine$TransformationCallable$1.doWork(AbstractTransformationRenderingEngine.java:460)
at org.alfresco.repo.security.authentication.AuthenticationUtil.runAs(AuthenticationUtil.java:548)
at org.alfresco.repo.rendition.executer.AbstractTransformationRenderingEngine$TransformationCallable.call(AbstractTransformationRenderingEngine.java:459)
at org.alfresco.repo.rendition.executer.AbstractTransformationRenderingEngine$TransformationCallable.call(AbstractTransformationRenderingEngine.java:434)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
... 3 more


Caused by: org.alfresco.service.cmr.repository.ContentIOException: 00270001 Failed to perform ImageMagick transformation:
Execution result:
os: Windows 8.1
command: C:\alfresco-community\imagemagick\convert.exe C:\Users\maria\AppData\Local\Temp\Alfresco\ImageMagickContentTransformerWorker_source_7819776725997963791.png[0] -auto-orient -resize "100x100>" C:\Users\maria\AppData\Local\Temp\Alfresco\ImageMagickContentTransformerWorker_target_8196530081303885449.png
succeeded: false
exit code: 1
out:
err: convert.exe: unable to load module `C:\alfresco-community\imagemagick\modules\coders\IM_MOD_RL_PNG_.dll': The specified module could not be found.

@ error/module.c/OpenModule/1282.
convert.exe: no decode delegate for this image format `PNG' @ err
at org.alfresco.repo.content.transform.magick.ImageMagickContentTransformerWorker.transformInternal(ImageMagickContentTransformerWorker.java:198)
at org.alfresco.repo.content.transform.magick.AbstractImageMagickContentTransformerWorker.transform(AbstractImageMagickContentTransformerWorker.java:288)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
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:204)
at com.sun.proxy.$Proxy32.transform(Unknown Source)
at org.alfresco.repo.content.transform.ProxyContentTransformer.transformInternal(ProxyContentTransformer.java:100)
at org.alfresco.repo.content.transform.AbstractContentTransformer2.transform(AbstractContentTransformer2.java:250)
... 33 more

I checked that the path to the modules is correct, so no reason for not finding the library (IM_MOD_RL_PNG_.dll) for decoding images. 

However, I don't have problems with pdfs, for example.

Does anybody know what should be done in order to work again..?

Thank you in advance.

4 REPLIES 4

afaust
Legendary Innovator
Legendary Innovator

That is more of an ImageMagick question than Alfresco.

What kind of ImageMagick install did you use? Static or dynamic?

kenw
Champ on-the-rise
Champ on-the-rise

I have a similar problem. In my case, I installed "ImageMagick-7.0.7-6-Q16-x64-dll.exe" (Win64 dynamic at 16 bits-per-pixel component).

 

I am running alfresco-community-installer-201605-win-x64 on Windows 2016 Server.

Via command line, I verified that convert.exe can convert a PNG file to a JPG file.

Any suggestions would be appreciated!

Thanks!

afaust
Legendary Innovator
Legendary Innovator

I believe for Windows based installs of the dynamic nature you may have to configure additional properties for the DLL lookups. The subsystem defines the following default properties and you should make sure that the resulting paths match your installation / have been adapted in the global properties file:

img.root=./ImageMagick
img.dyn=${img.root}/lib
img.exe=${img.root}/bin/convert
img.coders=${img.root}/modules/coders
img.config=${img.root}/config
img.gslib=${img.root}/lib

kenw
Champ on-the-rise
Champ on-the-rise

Thank you for your reply!

I verified that the properties are set correctly in the alfresco-global.properties file.

In my case, I figured out that the problem was related to the convert.exe (property value for img.exe)  file.

If I pointed img.exe to convert.exe that came with alfresco-community-installer-201605-win-x64, I did not get an error.

If I pointed img.exe to convert.exe that came with ImageMagick-7.0.7-6-Q16-x64-dll.exe, I got the

"err: convert.exe: unable to load module" error.

I uninstalled ImageMagick-7.0.7-6-Q16-x64-dll.exe and

installed ImageMagick-7.0.7-8-Q16-x64-static.exe.

ImageMagick-7.0.7-8-Q16-x64-static.exe did not have convert.exe. From what I've read, convert.exe was replaced with magick.exe.

I set the property img.exe to magick.exe.

So far, everything seems to be working. Haven't seen any errors in the alfresco.log file.