ImageMagick not found

Bonjour, j’ai mis à jour sur un serveur debian la derniere version de scenari 6.3 et imagemagik est bien installé et à jour (imagemagick is already the newest version (8:6.9.11.60+dfsg-1.6+deb12u2). Les images ne s’affichent pas en mode previsualisation ou publication.
Dans le ficher ext.properties j’ai bien la ligne app.ext.imageMagick.dir=/usr/bin/ et le chemin est correct
ls -l /usr/bin/convert*
lrwxrwxrwx 1 root root 25 Feb 5 2021 /usr/bin/convert → /etc/alternatives/convert
lrwxrwxrwx 1 root root 29 Feb 5 2021 /usr/bin/convert-im6 → /etc/alternatives/convert-im6
-rwxr-xr-x 1 jetty jetty 14544 Jul 11 2024 /usr/bin/convert-im6.q16
-rwxr-xr-x 1 root root 14544 Jul 11 2024 /usr/bin/convert-im6.q16hdri

Dans les logs voici l’erreur :
6770 ImageMagick not found.
6771
6772 4— Exception : Tue Feb 04 16:54:34 CET 2025[188] - chain/xxxx (qtp1072601481-475) —
6773 Cannot run program « /usr/bin/convert-im6.q16 »: error=0, Failed to exec spawn helper: pid: 669009, exit value: 1
6774 java.io.IOException: Cannot run program « /usr/bin/convert-im6.q16 »: error=0, Failed to exec spawn helper: pid: 669009, exit value: 1
6775 at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1143)
6776 at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1073)
6777 at java.base/java.lang.Runtime.exec(Runtime.java:594)
6778 at eu.scenari.transform.img.TfmImgScale.xConvertTransform(TfmImgScale.java:234)
6779 at eu.scenari.transform.img.TfmImgScale.transform(TfmImgScale.java:172)
6780 at com.scenari.m.bdp.item.fs.XItemCacheData.transformAsStream(XItemCacheData.java:478)
6781 at com.scenari.m.bdp.item.fs.XItemCacheData.transformAsNode(XItemCacheData.java:514)
6782 at com.scenari.m.bdp.item.fs.WspSrcNodeItem.transformAsNode(WspSrcNodeItem.java:945)
6783 at com.scenari.src.feature.transform.SrcFeatureTransform.transformAsNode(SrcFeatureTransform.java:122)
6784 at com.scenari.m.ge.generator.dyn.DynGenerator.getXxxPath(DynGenerator.java:360)
6785 at com.scenari.m.ge.generator.dyn.DynGenerator.execute(DynGenerator.java:155)
6786 at eu.scenari.wsp.service.itemdyngen.SvcItemDynGenDialog.xExecuteDialog(SvcItemDynGenDialog.java:371)
6787 at eu.scenari.core.dialog.DialogBase.executeDialog(DialogBase.java:93)
6788 at eu.scenari.core.execframe.httpservlet.HttpRequestConnectorBase.handleRequest(HttpRequestConnectorBase.java:94)
6789 at eu.scenari.core.execframe.httpservlet.servlets.ServiceServlet.service(ServiceServlet.java:163)
6790 at javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
6791 at org.eclipse.jetty.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1450)
6792 at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799)

Sauriez vous me dire ce qui cloche?
Merci

Vous utilisez quel OS exactement et quelle mode de déploiement de quelle application serveur SCENARI ?

c’est un serveur sous debian 12.9, avec openjdk version 17.0.14. scenarichain-server6.3 est installé avec les packages du dépôt Deb SCENARI (version Jetty)

1— Error : Thu Feb 06 09:59:47 CET 2025[744] - chain/xxxxxxx (qtp1072601481-489) —
Echec à la transformation ‹ transform=img2img&outType=AUTO&sizeRules=Px(ScSCS()ScDpi(targetDpi’96 ›)Sc(ratio’0.35’)Bounds(maxW’630’maxH’630’))’ sur l’item

2— Error : Thu Feb 06 09:59:47 CET 2025[744] - chain/xxxxxxx (qtp1072601481-489) —
Scaling image failed.

3— Warning : Thu Feb 06 09:59:47 CET 2025[743] - chain/xxxxxxxxxxxxx (qtp1072601481-489) —
ImageMagick not found.

4— Exception : Thu Feb 06 09:59:47 CET 2025[743] - chain/xxxxxxxxx (qtp1072601481-489) —
Cannot run program « /usr/bin/convert-im6.q16 »: error=0, Failed to exec spawn helper: pid: 1814526, exit value: 1
java.io.IOException: Cannot run program « /usr/bin/convert-im6.q16 »: error=0, Failed to exec spawn helper: pid: 1814526, exit value: 1
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1143)
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1073)
at java.base/java.lang.Runtime.exec(Runtime.java:594)
at eu.scenari.transform.img.TfmImgScale.xConvertTransform(TfmImgScale.java:234)
at eu.scenari.transform.img.TfmImgScale.transform(TfmImgScale.java:172)
at com.scenari.m.bdp.item.fs.XItemCacheData.transformAsStream(XItemCacheData.java:478)
at com.scenari.m.bdp.item.fs.XItemCacheData.transformAsNode(XItemCacheData.java:514)
at com.scenari.m.bdp.item.fs.WspSrcNodeItem.transformAsNode(WspSrcNodeItem.java:945)
at com.scenari.src.feature.transform.SrcFeatureTransform.transformAsNode(SrcFeatureTransform.java:122)
at com.scenari.m.ge.generator.dyn.DynGenerator.getXxxPath(DynGenerator.java:360)
at com.scenari.m.ge.generator.dyn.DynGenerator.execute(DynGenerator.java:155)
at eu.scenari.wsp.service.itemdyngen.SvcItemDynGenDialog.xExecuteDialog(SvcItemDynGenDialog.java:371)
at eu.scenari.core.dialog.DialogBase.executeDialog(DialogBase.java:93)
at eu.scenari.core.execframe.httpservlet.HttpRequestConnectorBase.handleRequest(HttpRequestConnectorBase.java:94)
at eu.scenari.core.execframe.httpservlet.servlets.ServiceServlet.service(ServiceServlet.java:163)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
at org.eclipse.jetty.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1450)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799)
at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1656)
at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:292)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:552)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:600)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:505)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:234)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.Server.handle(Server.java:516)
at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: java.io.IOException: error=0, Failed to exec spawn helper: pid: 1814526, exit value: 1
at java.base/java.lang.ProcessImpl.forkAndExec(Native Method)
at java.base/java.lang.ProcessImpl.(ProcessImpl.java:314)
at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:244)
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1110)
… 54 more

c’est résolu, j’ai mis jetty comme propriétaire de /usr/bin/convert-im6.q16 et relancé le service jetty.
cela fonctionne
Bonne journée

Ce n’est pas normal de devoir faire ça.

Je viens d’installer une VM Debian 12.9 totalement vierge, puis scserver 6.3 deb avec UNIQUEMENT les commandes :

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/scenari-software-keyring.gpg] https://deb.scenari.software stable main" | sudo tee /etc/apt/sources.list.d/scenari.list
apt-get -y install curl gpg; curl -fsSL 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x0b77ecb798bedf66' | gpg --dearmor -o /usr/share/keyrings/scenari-software-keyring.gpg
apt update
apt install scenarichain-server6.3.fr-fr-jetty9

et j’ai aucun problème de conversion d’images avec ImageMagick.

Chez vous /usr/lib/jvm/java-17-openjdk-amd64/lib/jspawnhelper existe bien et il est bien exécutable ?

oui il est présent et exécutable
ll /usr/lib/jvm/java-17-openjdk-amd64/lib/jspawnhelper
-rwxr-xr-x 1 root root 18560 Jan 31 00:01 /usr/lib/jvm/java-17-openjdk-amd64/lib/jspawnhelper

On dirait que votre installation interdit à Jetty de spawn des exécutables tierces. Dans ce cas vous allez avoir d’autres problèmes, par exemple pour lancer un publication PDF.

ho, je vais investiguer. Merci

en effet, la génération de pdf ne fonctionne pas. cela génère un fichier wspGen.htm à la place sans message d’erreur.

C.a.d. ? on peut avoir une copie d’écran ?

la génération se passe sans erreur apparente

mais au final le pdf n’est pas généré

et il y a quoi dans ce fichier ?

le fichier n’existe pas
image
et si je clique sur « consulter » https://scenari.univ-xxx.fr/web/u/pub/FofU3or44PKvFT6EFCcYrQ/BQHTM0/6MIKTD/P7RRQG/NM7P13/3ET/guideP/?auth c’est page vide .
Ca vient forcément du soucis sur mon serveur que vous aviez déceler mais je ne vois pas là

Bonjour,
Je viens de tester sur un atelier migré sur opale24 et la publication pdf fonctionne.
La génération de pdf ne fonctionne pas sur les documents migrés en dokiel 6
après la génération dans le rapport technique j’ai ces erreurs:

        • Echec à la transformation de la ressource ‹ src=src:/image_02.png;transform=imageMagick&command=convert%20%24src%20-background%20%22#FFFFFF%22%20-flatten%20-alpha%20off%20%24dst&outType=AUTO&transform=img2img&sizeRules=Dim(maxDpi’300’ScSCS(fontPt’11 ›)Sc(ratio’1’srcDpi’96’)Bounds(unit’cm’maxW’18’maxH’12’Rotate(ifExplicitlyAllowed’true’)))&outType=AUTO&’ dans .
          • Echec à la transformation ‹ transform=imageMagick&outType=AUTO&command=convert%20%24src%20-background%20%22#FFFFFF%22%20-flatten%20-alpha%20off%20%24dst › sur l’item
            • ImageMagick transform failed transform=imageMagick&outType=AUTO&command=convert%20%24src%20-background%20%22#FFFFFF%22%20-flatten%20-alpha%20off%20%24dst Command : /usr/bin/convert-im6.q16 -quiet /var/lib/scenarichain-server6.3/data/prl-chain/blobs/mp.b -background #FFFFFF -flatten -alpha off /var/lib/scenarichain-server6.3/working/prl-chain/cache/BQHTM06MIKTDP7RRQGNM7P1H13C/BQHTM0/6MIKTD/P7RRQG/NM7P0I/3GS/cach1517915870051801341
              • ImageMagick process failed : 1 convert-im6.q16: no decode delegate for this image format ' @ error/constitute.c/ReadImage/580. convert-im6.q16: no images defined /var/lib/scenarichain-server6.3/working/prl-chain/cache/BQHTM06MIKTDP7RRQGNM7P1H13C/BQHTM0/6MIKTD/P7RRQG/NM7P0I/3GS/cach1517915870051801341’ @ error/convert.c/ConvertImageCommand/3229.
        • Echec à la transformation de la ressource ‹ src:/image_02.png?transform=imageMagick&command=convert%20%24src%20-background%20%22#FFFFFF%22%20-flatten%20-alpha%20off%20%24dst&outType=AUTO&transform=img2img&sizeRules=Dim(maxDpi’300’ScSCS(fontPt’11 ›)Sc(ratio’1’srcDpi’96’)Bounds(unit’cm’maxW’18’maxH’12’Rotate(ifExplicitlyAllowed’true’)))&outType=DIMS&outRules=Str(pattern’!wcm_!hcm’)’ dans .
          • Echec à la transformation ‹ transform=imageMagick&outType=AUTO&command=convert%20%24src%20-background%20%22%23FFFFFF%22%20-flatten%20-alpha%20off%20%24dst › sur l’item
            • ImageMagick transform failed transform=imageMagick&outType=AUTO&command=convert%20%24src%20-background%20%22%23FFFFFF%22%20-flatten%20-alpha%20off%20%24dst Command : /usr/bin/convert-im6.q16 -quiet /var/lib/scenarichain-server6.3/data/prl-chain/blobs/mp.b -background #FFFFFF -flatten -alpha off /var/lib/scenarichain-server6.3/working/prl-chain/cache/BQHTM06MIKTDP7RRQGNM7P1H13C/BQHTM0/6MIKTD/P7RRQG/NM7P0I/3GS/cach6140234096113638542
              • ImageMagick process failed : 1 convert-im6.q16: no decode delegate for this image format ' @ error/constitute.c/ReadImage/580. convert-im6.q16: no images defined /var/lib/scenarichain-server6.3/working/prl-chain/cache/BQHTM06MIKTDP7RRQGNM7P1H13C/BQHTM0/6MIKTD/P7RRQG/NM7P0I/3GS/cach6140234096113638542’ @ error/convert.c/ConvertImageCommand/3229.

L’erreur et anomalie n’apparait pas tout le temps avec dokiel, mais jamais le pdf n’est généré avec ce modele.

Pourtant j’ai installé la derniere version qui est compatible avec ma version scenarichain-server 6.3.13


et les habillages graphiques:

Il y a t’il quelque chose à faire en + pour dokiel?

Je peut avoir un scar de votre contenu de test ?

Bonjour,
oui bien sûr, le voici
essai dokiel6_2025-02-21_10-01-37.scwsp (1,5 Ko)

Avec vote image ? Les logs parle de l’image… sans je vais pas pouvoir comprendre.

merci pour votre aide, c’était celui ci, mais il n’y a plus d’anomalies affichées à la généréation du pdf, et pas de rapport technique visible.
La generation PDF se passe sans erreur apparante pour tous les modèles dokiel sans images également. D’ailleurs peut on augmenter le niveau de log de scenari pour le debug?
tests carole_2025-02-21_10-50-26.scwsp (753,9 Ko)

ce n’est pas un problème de droit, pour m’en assurer j’ai mis temporairement jetty dans le groupe systeme root, et le problème est le même.