Bug 87519

Summary: When calibrating / profiling with ColorMunki Design, colord-session crashes / core dumps at 3/4
Product: colord Reporter: Jean-François Fortin Tam <nekohayo>
Component: daemonAssignee: Richard Hughes <richard>
Status: NEW --- QA Contact:
Severity: major    
Priority: medium CC: fdsfgs
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
URL: https://bugzilla.redhat.com/show_bug.cgi?id=1190720
Whiteboard:
i915 platform: i915 features:
Attachments: core dump
screenshot
screenshot

Description Jean-François Fortin Tam 2014-12-20 04:01:49 UTC
Created attachment 111067 [details]
core dump

With Fedora 20 and Fedora 21 and a colormunki design, I can calibrate only if doing it in "quick" mode.

When run in normal or slow/high-precision mode, colord crashes around 75%. As far as I can tell, in the normal mode (haven't checked slow mode) it always chokes at the exact same spot, which happens to be a purple color.

Luckily, it seems systemd caught the crash for me. Core dump attached. Is this sufficient?
Comment 1 Jean-François Fortin Tam 2014-12-20 04:14:06 UTC
Created attachment 111068 [details]
screenshot

This is the frame at which the process always hangs
Comment 2 Jean-François Fortin Tam 2014-12-20 04:48:05 UTC
Hm, actually in Fedora 21 it seems to do that even in "quick" mode, so I can't calibrate at all.
Comment 3 Jean-François Fortin Tam 2015-01-13 03:21:48 UTC
Ping? Do you see something going on with that core dump?

FWIW, this happens on different computers with different graphic drivers (radeonsi, intel).


So, as far as I can tell:

- With Fedora 20: only "quick" mode worked (if I recall correctly)

- With Fedora 21: nothing works, always hangs on that same frame

- Also, if I try with ye olde Fedora 18 "201312052008"
  from http://dl.ambiweb.de/mirrors/www.hughski.com/
  it all works (slow and fast calibration), but takes 3-4 times longer
  and yields pretty significantly different results
  (but afaict it predates colord).
Comment 4 Jean-François Fortin Tam 2015-03-25 21:04:31 UTC
A part of this seems to have been fixed through https://bugzilla.redhat.com/show_bug.cgi?id=1190720 - the Colormunki Design is now able to do a "quick" and "normal" calibration, but it fails to do a "slow"/accurate calibration. Colord/g-c-m now detects the error and lets the user know, though.
Comment 5 Jean-François Fortin Tam 2016-01-21 17:01:15 UTC
Created attachment 121188 [details]
screenshot

Still happens to this day with an up-to-date Fedora 23 workstation. "Normal" calibration works but "accurate" calibration still fails at ~75% (though on a different color this time).
Comment 6 Jean-François Fortin Tam 2016-01-21 23:33:41 UTC
Some more thinking and investigation on IRC led to a potential insight into the cause:

<nekohayo> it's interesting that it used to always hang on the same purple color target but now it's a white one... yet always around the 75% mark
<hughsie> it's probably at the point it switches from calibration to charicterisation
<nekohayo> oh I didn't know there were such different phases
 are those also present in the quick/medium modes?
<hughsie> yes, but the other modes use less nodes, and so if it's a problem with maths overflowing somewhere (my suspicion) it might not happen so frequently

And then I looked at the journalctl logs, below (the "Gamma correction table was non-monotonic" part is suspicious):



# journalctl --since=11:00|grep -i color
jan 21 11:01:41 computer org.freedesktop.ColorHelper[6031]: steps were set as [ 3, 97, -1 ] but should have been: [ 3, 97, -1 ] at cd-main.c:475
jan 21 11:04:43 computer org.freedesktop.ColorHelper[6031]: steps were set as [ 3, 97, -1 ] but should have been: [ 3, 97, -1 ] at cd-main.c:475
jan 21 11:07:27 computer org.freedesktop.ColorHelper[6031]: child is at 19/20 steps and parent done [cd-main.c:788]
jan 21 11:07:27 computer org.freedesktop.ColorHelper[6031]: 2) cd-main.c:1341 (0/3)
jan 21 11:07:27 computer org.freedesktop.ColorHelper[6031]: 1) cd-main.c:682 (2/5)
jan 21 11:07:27 computer org.freedesktop.ColorHelper[6031]: 0) cd-main.c:766 (19/20)
jan 21 11:07:27 computer org.freedesktop.ColorHelper[6031]: steps were set as [ 3, 97, -1 ] but should have been: [ 4, 96, -1 ] at cd-main.c:475
jan 21 11:07:30 computer org.freedesktop.ColorHelper[6031]: child is at 19/20 steps and parent done [cd-main.c:800]
jan 21 11:07:30 computer org.freedesktop.ColorHelper[6031]: 2) cd-main.c:1341 (0/3)
jan 21 11:07:30 computer org.freedesktop.ColorHelper[6031]: 1) cd-main.c:682 (2/5)
jan 21 11:07:30 computer org.freedesktop.ColorHelper[6031]: 0) cd-main.c:766 (19/20)
jan 21 11:07:30 computer gnome-settings-daemon.desktop[6130]: (gnome-control-center:7701): color-cc-panel-WARNING **: calibration failed with code 5: Gamma correction table was non-monotonic: 0,000000,0,000000,0,000000 0,046875,0,050000,0,046875 0,093750,0,100000,0,043750 0,140625,0,150000,0,090625 0,187500,0,200000,0,137500 0,234375,0,200000,0,184375 0,281250,0,300000,0,281250 0,353125,0,400000,0,353125 0,350000,0,400000,0,350000 0,421875,0,450000,0,396875 0,468750,0,500000,0,443750 0,540625,0,575000,0,528125 0,550000,0,600000,0,537500 0,609375,0,650000,0,584375 0,643750,0,700000,0,625000 0,678125,0,750000,0,678125 0,750000,0,800000,0,734375 0,784375,0,862500,0,790625 0,831250,0,900000,0,831250 0,890625,0,950000,0,890625 0,937500,1,000000,0,937500

jan 21 11:07:30 computer gnome-settings-daemon.desktop[6130]: (gnome-control-center:7701): color-cc-panel-WARNING **: /var/lib/gdm/.local/share/icc/edid-0b5711f7bfac0f3dd7b84ac931620244.icc is not usable by this user
jan 21 11:40:36 computer gnome-settings-daemon.desktop[6130]: (gnome-settings-daemon:6130): housekeeping-plugin-WARNING **: Failed to enumerate children of /var/tmp/systemd-private-cc968cfc233b42cdbcbbaa234f3bdaa0-colord.service-a5hwqM: Permission non accordée
jan 21 11:40:36 computer gnome-settings-daemon.desktop[6130]: (gnome-settings-daemon:6130): housekeeping-plugin-WARNING **: Failed to enumerate children of /var/tmp/systemd-private-b9b89e14684c4c94927139f56432f2f9-colord.service-RKhE40: Permission denied
jan 21 11:40:36 computer gnome-settings-daemon.desktop[6130]: (gnome-settings-daemon:6130): housekeeping-plugin-WARNING **: Failed to enumerate children of /tmp/systemd-private-cc968cfc233b42cdbcbbaa234f3bdaa0-colord.service-bIHHuy: Permission denied
jan 21 11:46:28 computer gnome-settings-daemon.desktop[6130]: (gnome-control-center:7701): color-cc-panel-WARNING **: failed to start calibrate: failed to calibrate
jan 21 11:46:31 computer gnome-settings-daemon.desktop[6130]: (gnome-control-center:7701): color-cc-panel-WARNING **: /var/lib/gdm/.local/share/icc/edid-0b5711f7bfac0f3dd7b84ac931620244.icc is not usable by this user
jan 21 11:46:34 computer gnome-settings-daemon.desktop[6130]: (gnome-control-center:7701): color-cc-panel-WARNING **: /var/lib/gdm/.local/share/icc/edid-0b5711f7bfac0f3dd7b84ac931620244.icc is not usable by this user
jan 21 11:46:35 computer gnome-settings-daemon.desktop[6130]: (gnome-control-center:7701): color-cc-panel-WARNING **: /var/lib/gdm/.local/share/icc/edid-0b5711f7bfac0f3dd7b84ac931620244.icc is not usable by this user
jan 21 11:46:42 computer gnome-control-center.desktop[9508]: (gnome-control-center:9508): color-cc-panel-WARNING **: /var/lib/gdm/.local/share/icc/edid-0b5711f7bfac0f3dd7b84ac931620244.icc is not usable by this user
jan 21 12:04:33 computer sudo[10496]:     jeff : TTY=pts/0 ; PWD=/home/jeff ; USER=root ; COMMAND=/bin/dnf info colord
jan 21 12:40:36 computer gnome-settings-daemon.desktop[6130]: (gnome-settings-daemon:6130): housekeeping-plugin-WARNING **: Failed to enumerate children of /tmp/systemd-private-cc968cfc233b42cdbcbbaa234f3bdaa0-colord.service-bIHHuy: Permission denied
jan 21 12:40:36 computer gnome-settings-daemon.desktop[6130]: (gnome-settings-daemon:6130): housekeeping-plugin-WARNING **: Failed to enumerate children of /var/tmp/systemd-private-cc968cfc233b42cdbcbbaa234f3bdaa0-colord.service-a5hwqM: Permission denied
jan 21 12:40:36 computer gnome-settings-daemon.desktop[6130]: (gnome-settings-daemon:6130): housekeeping-plugin-WARNING **: Failed to enumerate children of /var/tmp/systemd-private-b9b89e14684c4c94927139f56432f2f9-colord.service-RKhE40: Permission denied
Comment 7 Jean-François Fortin Tam 2016-03-04 16:08:17 UTC
I tried doing a "normal" (medium) calibration just now and it failed the same way (usually it would fail only on the "high quality" calibration), maybe because I chose D65 instead of "native" this time:


mar 04 10:40:43 computer org.freedesktop.ColorHelper[16074]: steps were set as [ 3, 97, -1 ] but should have been: [ 3, 97, -1 ] at cd-main.c:475
mar 04 10:42:14 computer org.freedesktop.ColorHelper[16074]: steps were set as [ 3, 97, -1 ] but should have been: [ 3, 97, -1 ] at cd-main.c:475
mar 04 10:43:46 computer org.freedesktop.ColorHelper[16074]: steps were set as [ 3, 97, -1 ] but should have been: [ 3, 97, -1 ] at cd-main.c:475
mar 04 10:45:34 computer org.freedesktop.ColorHelper[16074]: steps were set as [ 3, 97, -1 ] but should have been: [ 3, 97, -1 ] at cd-main.c:475
mar 04 10:47:09 computer org.freedesktop.ColorHelper[16074]: steps were set as [ 3, 97, -1 ] but should have been: [ 4, 96, -1 ] at cd-main.c:475
mar 04 10:48:53 computer org.freedesktop.ColorHelper[16074]: steps were set as [ 3, 97, -1 ] but should have been: [ 3, 97, -1 ] at cd-main.c:475
mar 04 10:50:31 computer org.freedesktop.ColorHelper[16074]: steps were set as [ 3, 97, -1 ] but should have been: [ 3, 97, -1 ] at cd-main.c:475
mar 04 10:52:16 computer org.freedesktop.ColorHelper[16074]: steps were set as [ 3, 97, -1 ] but should have been: [ 3, 97, -1 ] at cd-main.c:475
mar 04 10:54:41 computer org.freedesktop.ColorHelper[16074]: steps were set as [ 3, 97, -1 ] but should have been: [ 4, 96, -1 ] at cd-main.c:475
mar 04 10:57:08 computer org.freedesktop.ColorHelper[16074]: steps were set as [ 3, 97, -1 ] but should have been: [ 4, 96, -1 ] at cd-main.c:475
mar 04 10:57:08 computer org.freedesktop.ColorHelper[16074]: child is at 9/10 steps and parent done [cd-main.c:788]
mar 04 10:57:08 computer org.freedesktop.ColorHelper[16074]: 2) cd-main.c:1341 (0/3)
mar 04 10:57:08 computer org.freedesktop.ColorHelper[16074]: 1) cd-main.c:682 (2/5)
mar 04 10:57:08 computer org.freedesktop.ColorHelper[16074]: 0) cd-main.c:766 (9/10)
mar 04 10:57:11 computer org.freedesktop.ColorHelper[16074]: child is at 9/10 steps and parent done [cd-main.c:800]
mar 04 10:57:11 computer org.freedesktop.ColorHelper[16074]: 2) cd-main.c:1341 (0/3)
mar 04 10:57:11 computer org.freedesktop.ColorHelper[16074]: 1) cd-main.c:682 (2/5)
mar 04 10:57:11 computer org.freedesktop.ColorHelper[16074]: 0) cd-main.c:766 (9/10)
mar 04 10:57:11 computer gnome-control-center.desktop[17049]: (gnome-control-center:17049): color-cc-panel-WARNING **: calibration failed with code 5: Gamma correction table was non-monotonic: 0,000000,0,000000,0,000000 0,095762,0,100000,0,043559 0,191525,0,200000,0,187118 0,337287,0,300000,0,280677 0,333050,0,400000,0,324236 0,478812,0,550000,0,467794 0,574574,0,600000,0,536353 0,695337,0,700000,0,629912 0,766099,0,800000,0,735971 0,874362,0,900000,0,829530 0,957624,1,000000,0,935589
mar 04 10:57:11 computer gnome-control-center.desktop[17049]: (gnome-control-center:17049): color-cc-panel-WARNING **: /var/lib/gdm/.local/share/icc/edid-0b5711f7bfac0f3dd7b84ac931620244.icc is not usable by this user
mar 04 11:02:12 computer gnome-control-center.desktop[17049]: (gnome-control-center:17049): color-cc-panel-WARNING **: failed to start calibrate: failed to calibrate
Comment 8 Jean-François Fortin Tam 2017-02-28 04:19:31 UTC
Fully updated Fedora 25, still happening with colord 1.3.4, as I tried a "high quality" (slow) calibration tonight on an IPS display with the colormunki. But at least this time journalctl provides a stack trace directly alongside the logs...

Richard, does this tell you anything new? Could you please look into this? It's really killing me that I've been waiting for two years unable to use a device that used to work before with colord/g-c-m...


22:18:28 computer systemd[1448]: Starting Color management helper...
22:18:28 computer dbus-daemon[1469]: [session uid=1000 pid=1469] Successfully activated service 'org.freedesktop.ColorHelper'
22:18:28 computer systemd[1448]: Started Color management helper.
22:18:28 computer gnome-control-c[21974]: GtkDialog mapped without a transient parent. This is discouraged.
22:18:28 computer gnome-control-c[21974]: /var/lib/gdm/.local/share/icc/edid-7760919415afa7f26b60f1fd0c6d1471.icc is not usable by this user
22:19:45 computer colord-session[22489]: steps were set as [ 3, 97, -1 ] but should have been: [ 6, 94, -1 ] at cd-main.c:473
22:21:11 computer colord-session[22489]: steps were set as [ 3, 97, -1 ] but should have been: [ 3, 97, -1 ] at cd-main.c:473
22:23:08 computer colord-session[22489]: steps were set as [ 3, 97, -1 ] but should have been: [ 2, 98, -1 ] at cd-main.c:473
22:25:19 computer colord-session[22489]: steps were set as [ 3, 97, -1 ] but should have been: [ 2, 98, -1 ] at cd-main.c:473
22:27:41 computer colord-session[22489]: steps were set as [ 3, 97, -1 ] but should have been: [ 2, 98, -1 ] at cd-main.c:473
22:29:52 computer colord-session[22489]: steps were set as [ 3, 97, -1 ] but should have been: [ 3, 97, -1 ] at cd-main.c:473
22:32:31 computer colord-session[22489]: steps were set as [ 3, 97, -1 ] but should have been: [ 2, 98, -1 ] at cd-main.c:473
22:35:16 computer colord-session[22489]: steps were set as [ 3, 97, -1 ] but should have been: [ 2, 98, -1 ] at cd-main.c:473
22:37:27 computer colord-session[22489]: steps were set as [ 3, 97, -1 ] but should have been: [ 3, 97, -1 ] at cd-main.c:473
22:39:59 computer colord-session[22489]: steps were set as [ 3, 97, -1 ] but should have been: [ 2, 98, -1 ] at cd-main.c:473
22:43:01 computer colord-session[22489]: steps were set as [ 3, 97, -1 ] but should have been: [ 2, 98, -1 ] at cd-main.c:473
22:44:45 computer colord-session[22489]: steps were set as [ 3, 97, -1 ] but should have been: [ 3, 97, -1 ] at cd-main.c:473
22:47:00 computer colord-session[22489]: steps were set as [ 3, 97, -1 ] but should have been: [ 3, 97, -1 ] at cd-main.c:473
22:48:55 computer colord-session[22489]: steps were set as [ 3, 97, -1 ] but should have been: [ 3, 97, -1 ] at cd-main.c:473
22:51:00 computer colord-session[22489]: steps were set as [ 3, 97, -1 ] but should have been: [ 3, 97, -1 ] at cd-main.c:473
22:53:30 computer colord-session[22489]: steps were set as [ 3, 97, -1 ] but should have been: [ 3, 97, -1 ] at cd-main.c:473
22:56:29 computer colord-session[22489]: steps were set as [ 3, 97, -1 ] but should have been: [ 3, 97, -1 ] at cd-main.c:473
22:59:31 computer colord-session[22489]: steps were set as [ 3, 97, -1 ] but should have been: [ 3, 97, -1 ] at cd-main.c:473
23:02:33 computer colord-session[22489]: steps were set as [ 3, 97, -1 ] but should have been: [ 3, 97, -1 ] at cd-main.c:473
23:05:18 computer colord-session[22489]: steps were set as [ 3, 97, -1 ] but should have been: [ 4, 96, -1 ] at cd-main.c:473
23:05:18 computer colord-session[22489]: child is at 19/20 steps and parent done [cd-main.c:786]
23:05:18 computer colord-session[22489]: 2) cd-main.c:1339 (0/3)
23:05:18 computer colord-session[22489]: 1) cd-main.c:680 (2/5)
23:05:18 computer colord-session[22489]: 0) cd-main.c:764 (19/20)
23:05:21 computer colord-session[22489]: child is at 19/20 steps and parent done [cd-main.c:798]
23:05:21 computer colord-session[22489]: 2) cd-main.c:1339 (0/3)
23:05:21 computer colord-session[22489]: 1) cd-main.c:680 (2/5)
23:05:21 computer colord-session[22489]: 0) cd-main.c:764 (19/20)
23:05:21 computer gnome-control-c[21974]: calibration failed with code 5: Gamma correction table was non-monotonic: 0,000000,0,000000,0,000000 0,050000,0,050000,0,050000 0,100000,0,100000,0,100000 0,150000,0,150000,0,150000 0,200000,0,200000,0,200000 0,300000,0,300000,0,300000 0,300000,0,250000,0,300000 0,300000,0,350000,0,350000 0,375000,0,400000,0,412500 0,450000,0,450000,0,450000 0,525000,0,550000,0,562500 0,562500,0,575000,0,587500 0,600000,0,612500,0,625000 0,625000,0,637500,0,650000 0,675000,0,712500,0,725000 0,750000,0,762500,0,775000 0,800000,0,809375,0,825000 0,818750,0,850000,0,859375 0,850000,0,875000,0,887500 0,900000,0,950000,0,950000 1,000000,1,000000,1,000000
23:05:21 computer systemd[1]: Created slice system-systemd\x2dcoredump.slice.
23:05:21 computer systemd[1]: Started Process Core Dump (PID 27445/UID 0).
23:05:21 computer gnome-control-c[21974]: /var/lib/gdm/.local/share/icc/edid-7760919415afa7f26b60f1fd0c6d1471.icc is not usable by this user
23:05:21 computer systemd-coredump[27449]: Process 22543 (spotread) of user 993 dumped core.

   Stack trace of thread 22543:
   #0  0x00007ff5eddabc7d __nanosleep (libpthread.so.0)
   #1  0x00007ff5ef977983 msec_sleep (libargyll.so.0)
   #2  0x00007ff5ef936643 munki_imp_measure (libargyll.so.0)
   #3  0x00007ff5ef926c8d munki_read_sample (libargyll.so.0)
   #4  0x000055fed4c549d3 main (spotread)
   #5  0x00007ff5ed4d6401 __libc_start_main (libc.so.6)
   #6  0x000055fed4c58a49 _start (spotread)
   
   Stack trace of thread 22544:
   #0  0x00007ff5ed5b3d73 __select (libc.so.6)
   #1  0x00007ff5ef97803f pollem (libargyll.so.0)
   #2  0x00007ff5ef94c4d0 urb_reaper (libargyll.so.0)
   #3  0x00007ff5edda26ca start_thread (libpthread.so.0)
   #4  0x00007ff5ed5bdf7f __clone (libc.so.6)
   
   Stack trace of thread 22545:
   #0  0x00007ff5edda8809 pthread_cond_timedwait@@GLIBC_2.3.2 (libpthread.so.0)
   #1  0x00007ff5ef94b2cc icoms_usb_transaction (libargyll.so.0)
   #2  0x00007ff5ef94cbd5 icoms_usb_rw (libargyll.so.0)
   #3  0x00007ff5ef937c38 munki_waitfor_switch_th (libargyll.so.0)
   #4  0x00007ff5ef937f35 munki_switch_thread (libargyll.so.0)
   #5  0x00007ff5ef97745e threadproc (libargyll.so.0)
   #6  0x00007ff5edda26ca start_thread (libpthread.so.0)
   #7  0x00007ff5ed5bdf7f __clone (libc.so.6)
   
   Stack trace of thread 22546:
   #0  0x00007ff5eddabc7d __nanosleep (libpthread.so.0)
   #1  0x00007ff5ef977983 msec_sleep (libargyll.so.0)
   #2  0x00007ff5ef9270c2 munki_spos_thread (libargyll.so.0)
   #3  0x00007ff5ef97745e threadproc (libargyll.so.0)
   #4  0x00007ff5edda26ca start_thread (libpthread.so.0)
   #5  0x00007ff5ed5bdf7f __clone (libc.so.6)

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.