Missing dependency in image processing tool
The packages and container images built until now for the Heptapod 0.34 series lack a Perl library needed by exiftool
,
which is used by GitLab Workhorse to strip the EXIF metadata from all image uploads.
This breaks all image uploads.
From the API, one gets a 422 HTTP Error with message "Failed to process image". Here is the error seen in GitLab Workhorse logs (gitlab-ctl tail gitlab-workhorse
):
{"correlation_id":"01GMC4BCTTNYMRG9XA8H2YZ2T5","filename":"OrderAccounts1.jpg","level":"info","msg":"running exiftool to remove any metadata","time":"2022-12-16T00:11:39Z"}
{"command":["exiftool","-all=","--IPTC:all","--XMP-iptcExt:all","-tagsFromFile","@","-ResolutionUnit","-XResolution","-YResolution","-YCbCrSubSampling","-YCbCrPositioning","-BitsPerSample","-ImageHeight","-ImageWidth","-ImageSize","-Copyright","-CopyrightNotice","-Orientation","-"],"correlation_id":"01GMC4BCTTNYMRG9XA8H2YZ2T5","error":"exit status 2","level":"info","msg":"exiftool command failed","stderr":"Can't locate mro.pm in @INC (you may need to install the mro module) (@INC contains: /opt/gitlab/embedded/bin/lib /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.0 /usr/local/share/perl/5.30.0 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base /opt/gitlab/embedded/lib/exiftool-perl) at /usr/lib/x86_64-linux-gnu/perl-base/overload.pm line 123.\n","time":"2022-12-16T00:11:39Z"}
One cannot reproduce by running the same exiftool
command with a file argument in a terminal within the container, it is only the command that reads from stdin
(the final -
argument) that exhibits the issue.