-
Type: Bug
-
Status: Resolved
-
Priority: Critical
-
Resolution: Incomplete
-
Affects Version/s: 10.10, 2021.0
-
Fix Version/s: None
-
Component/s: BlobManager
In a Nuxeo cluster using S3 with KMS and direct upload, the following error occasionally occurs when drag and dropping a set of images (e.g. 28 images) in the Web UI:
2021-09-03T16:20:16,985 ERROR [Nuxeo-Work-pictureViewsGeneration-2:default:c2a9a063-fbdd-48fb-b168-4869894e6ba9:file:content:pictureView] [org.nuxeo.ecm.platform.picture.ImagingComponent] Failed to get ImageInfo for file 03641 (17th copy).jpg org.nuxeo.ecm.platform.commandline.executor.api.CommandException: Error code 1 after 0.02s for command: identify -define registry:temporary-path=#{nuxeo.tmp.dir} -quiet -ping -format '%m %w %h %z %[colorspace]' #{inputFilePath}[0], parameters: java.io.tmpdir=/opt/nuxeo/server/tmp, nuxeo.tmp.dir=/opt/nuxeo/server/tmp, inputFilePath=/opt/nuxeo/server/tmp/nuxeoImage7689413249240676552.jpg output: identify: insufficient image data in file `/opt/nuxeo/server/tmp/nuxeoImage7689413249240676552.jpg' @ error/jpeg.c/ReadJPEGImage/1156. at org.nuxeo.ecm.platform.commandline.executor.api.ExecResult.<init>(ExecResult.java:62) ~[nuxeo-platform-commandline-executor-10.10-HF49.jar:?] at org.nuxeo.ecm.platform.commandline.executor.service.executors.ShellExecutor.exec(ShellExecutor.java:98) ~[nuxeo-platform-commandline-executor-10.10-HF49.jar:?] at org.nuxeo.ecm.platform.commandline.executor.service.CommandLineExecutorComponent.execCommand(CommandLineExecutorComponent.java:190) ~[nuxeo-platform-commandline-executor-10.10-HF49.jar:?] at org.nuxeo.ecm.platform.picture.magick.utils.ImageIdentifier.getIdentifyResult(ImageIdentifier.java:60) ~[nuxeo-platform-imaging-core-10.10-HF51.jar:?] at org.nuxeo.ecm.platform.picture.magick.utils.ImageIdentifier.getInfo(ImageIdentifier.java:45) ~[nuxeo-platform-imaging-core-10.10-HF51.jar:?] at org.nuxeo.ecm.platform.picture.ImagingComponent.getImageInfo(ImagingComponent.java:180) [nuxeo-platform-imaging-core-10.10-HF51.jar:?] at org.nuxeo.ecm.platform.picture.api.adapters.AbstractPictureAdapter.getImageInfo(AbstractPictureAdapter.java:375) [nuxeo-platform-imaging-api-10.10.jar:?] at org.nuxeo.ecm.platform.picture.api.adapters.DefaultPictureAdapter.fillPictureViews(DefaultPictureAdapter.java:85) [nuxeo-platform-imaging-api-10.10.jar:?] at org.nuxeo.ecm.platform.picture.PictureViewsHelper.computePictureViews(PictureViewsHelper.java:88) [nuxeo-platform-imaging-core-10.10-HF51.jar:?] at org.nuxeo.ecm.platform.picture.PictureViewsGenerationWork.work(PictureViewsGenerationWork.java:97) [nuxeo-platform-imaging-core-10.10-HF51.jar:?] at org.nuxeo.ecm.core.work.AbstractWork.runWorkWithTransaction(AbstractWork.java:493) [nuxeo-core-event-10.10-HF44.jar:?] at org.nuxeo.ecm.core.work.AbstractWork.run(AbstractWork.java:383) [nuxeo-core-event-10.10-HF44.jar:?] at org.nuxeo.ecm.core.work.WorkHolder.run(WorkHolder.java:57) [nuxeo-core-event-10.10-HF44.jar:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_292] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_292] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_292]
Activating the following logs seems to show that the computeDigest work replaces the key after the pictureViewsGeneration has already started:
<Logger name="org.nuxeo.ecm.blob.s3.S3BlobStore" level="trace" /> <Logger name="org.nuxeo.ecm.core.blob.AbstractBlobStore" level="trace" /> <Logger name="org.nuxeo.ecm.core.blob.ComputeDigestHelper" level="debug" />
This happens with picture conversions but could happen with other kind of processes I guess.
See the attached ZIP file for the set of images to import.