Bug 1036317

Summary: gnome-color-manager fails with "failed to match display"
Product: [Fedora] Fedora Reporter: Gareth Williams <gareth>
Component: gnome-color-managerAssignee: Richard Hughes <rhughes>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 20CC: awilliam, gareth, rhughes
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-12-10 10:05:39 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Gareth Williams 2013-11-30 21:38:22 UTC
User-Agent:       Mozilla/5.0 (X11; Linux x86_64; rv:25.0) Gecko/20100101 Firefox/25.0
Build Identifier: 

gnome-color-manager fails at the 'Action' stage of the wizard with "failed to match display".  Argyll is installed.



Reproducible: Always

Steps to Reproduce:
1. Install gnome-color-manager (which pulls in argyll)
2. Attempt to calibrate (I'm using a Huey Pantone Pro)
3. Click on 'Continue' to run through the wizard
Actual Results:  
At the 'Action' stage, gnome-color-manager errors with "failed to match display".

Expected Results:  
gnome-color-manager should call argyll to calibrate the display.

I have compiled from the src RPM with the optimization set to -g in order to debug with GDB.

As far as I can see (and I'm no expert!) it fails because at line 178 of gcm-calibrate-argyll.c the call to g_spawn_sync() returns with an empty &data as the output of dispcal is in stderr and not stdout.

Comment 1 Gareth Williams 2013-12-01 13:57:12 UTC
I've just downloaded and compiled the latest version of gnome-color-manager from launchpad and it also failed with the same error.

I then manually undid some of version 2060 'Do not use g_spawn_command_line_sync() when spawning executables' by editing gcm-calibrate-argyll.c to use g_spawn_command_line_sync() instead of g_spawn_sync() and after recompiling, calibration now works.

While no doubt I could now send a patch to restore the original use of g_spawn_command_line_sync(), I'm assuming that there was a reason it was replaced in the first place.  But as I'm not a programmer, I don't consider myself qualified to make that decision.

Comment 2 Adam Williamson 2013-12-06 03:50:37 UTC
nice debugging job! for future reference, you don't need to do a manual compile to debug: you just need to do 'debuginfo-install gnome-color-manager'. the debugging symbols are built, then shipped in a separate package to save space; that command should install all the ones needed for the app.

hughsie: let me know if you want this as a final freeze exception.

Comment 3 Gareth Williams 2013-12-06 06:27:55 UTC
Thank you :-)

I tried sing the debuginfo package but the variables showed up as 'value optimized out' (or similar).  A quick Google told me it was due to the fact that it had been compiled with optimization set (ie the -O flag).  The advice was to compile with the flag set to 'g' (ie -Og) in order to optimize it for debugging.  I did this and the variables behaved correctly.

Comment 4 Adam Williamson 2013-12-06 06:29:22 UTC
ah, sorry, guess you had something to teach me rather than vice versa ;)

Comment 5 Gareth Williams 2013-12-06 06:32:56 UTC
LOL - I doubt that very much!!

While this isn't exactly the correct forum for my question, but - shouldn't all debuginfo packages be compiled without optimization?

Comment 6 Adam Williamson 2013-12-06 07:23:28 UTC
When building a package we only compile once, then we strip the debugging symbols from the compiled code and stick them in debuginfo, AIUI. There aren't two compilation runs. We couldn't really ship debuginfo from a different build, it would sorta defeat the point, as it wouldn't match the binaries we were shipping...

Comment 7 Gareth Williams 2013-12-06 08:28:28 UTC
I get the logic there, but doesn't shipping a package that can't really be debugged also defeat the point?  In fact, doesn't shipping debuginfo packages for anything compiled with optimization flags set rather a pointless exercise as you can't actually debug them?

Comment 8 Adam Williamson 2013-12-06 10:05:40 UTC
What I know about C you can fit in a matchbox without taking the matches out first, but I can tell you the system works, damnit - I (and lots of other people) file bugs using the debuginfo packages all the time, and the devs look at them and find out what's wrong and fix it. Don't ask me how the system works, but it does. :P

Comment 9 Gareth Williams 2013-12-06 10:31:23 UTC
Fair point - obviously designed and operated by people with far more intelligence than me! It also explains why I'm not a programmer!

Comment 10 Richard Hughes 2013-12-10 10:05:39 UTC
Okay, fixed, thanks guys: http://koji.fedoraproject.org/koji/buildinfo?buildID=483077