[argyllcms] colprof: segmentation fault (v1.9.2, v1.8.3)

  • From: Emanuele Olivetti <emanuele.olivetti@xxxxxxxxx>
  • To: argyllcms@xxxxxxxxxxxxx
  • Date: Thu, 16 Feb 2017 00:20:23 +0100

Hi,

First of all, big thanks for ArgyllCMS: the software is extremely good.
Thanks to ArgyllCMS I am re-discovering my passion for printing!

Today I found a bug, or at least an unexpected behavior. When running
colprof and applying gamut mapping ("-S AdobeRGB1998.icc"), I get
"segmentation fault - core dumped" after a few seconds of execution. The
problem is the file AdobeRGB1998.icc which, according to iccgamut, has "ICC
v4" header, which is unsupported. Such icc file is distributed with colord
- I have it installed in /usr/share/color/icc/colord/AdobeRGB1998.icc on
Ubuntu 16.04. I thought it was good...
The unexpected thing is that colprof does not complain about the ICC header
version but just breaks with segmentation fault. It would be nicer to catch
this corner case and get a more informative error message. It took me a
while to understand where the issue was :)
Anyway, using AdobeRGB.icc taken from here
  https://www.ludd.ltu.se/~torger/photography/files/AdobeRGB.icc
solved the issue.

I observe this behavior both with colprof v1.9.2 and v1.8.3.
Here is the full log of the error:
----

colprof -v -qh -S AdobeRGB.icc -cmt -dpp -A "Epson" -M "Stylus Photo 950"
-D"EpsonStylusPhoto 950 Druck premium glossy" i1proTarget
No total ink limit being used
No black ink limit being used
No of test patches = 1110
Estimating white point
Approximate White point XYZ = 0.81971880 0.83818651 0.82020530, Lab =
93.371679 2.232659 -11.047567
Creating optimised per channel curves
Initial White Point XYZ 0.819719 0.838187 0.820205, Lab 93.371679 2.232659
-11.047567
About to optimise temporary matrix
 100%
About to optimise a common ord 0 input curve and matrix
 100%
About to optimise a common input curve and matrix
 100%
About to optimise input curves and matrix
 100%
About to optimise output curves and matrix
 100%
About to optimise input curves and matrix again
 100%
About to optimise input, matrix and output together
 100%
About to adjust a and b output curves for white point
About to create grid position input curves
Create final clut from scattered data
*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
Doing White point fine tune:
Before fine tune, rel WP = XYZ 0.964372 1.000158 0.825013, Lab 100.006113
0.002795 0.001814
After fine tune, rel WP = XYZ 0.964203 1.000000 0.824905, Lab 100.000000
-0.000000 0.000000
                 abs WP = XYZ 0.81986118 0.83831880 0.82031264, Lab
93.377433 2.235281 -11.046355
Creating fast inverse input lookups
White point XYZ = 0.81986118 0.83831880 0.82031264, Lab = 93.377433
2.235281 -11.046355
Find black point
Black point XYZ = 0.01096381 0.00983272 0.00796904, Lab = 8.851307 5.317157
0.251558
Done A to B table creation
Setting up B to A table lookup
Segmentation fault (core dumped)
---

Hope this helps.

Best,

Emanuele

Other related posts: