Bug 50791 - CodesignVerify execution failed
Summary: CodesignVerify execution failed
Status: VERIFIED FIXED
Alias: None
Product: iOS
Classification: Xamarin
Component: MSBuild (show other bugs)
Version: XI 10.4 (C9)
Hardware: Macintosh Mac OS
: Highest blocker
Target Milestone: (C9)
Assignee: Jeffrey Stedfast
URL:
Depends on:
Blocks:
 
Reported: 2016-12-25 21:36 UTC by Shay
Modified: 2017-01-27 12:35 UTC (History)
5 users (show)

See Also:
Tags:
Is this bug a regression?: ---
Last known good build:


Attachments
Failed Rebuild log (336.82 KB, text/plain)
2016-12-27 06:37 UTC, Shay
Details
Successful build log (582.13 KB, text/plain)
2016-12-27 06:39 UTC, Shay
Details

Description Shay 2016-12-25 21:36:48 UTC
I have a large project that compiles after "Clean Up".
However, whenever I try to rebuild the project, I get the following error:


	Target _CodesignVerify:
		CodesignVerify Task
		  CodesignAllocate: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate
		  Resource: bin/iPhone/Debug/build-iphone5.3-10.2/ClimbTagApp_iOS.app
		Tool /usr/bin/codesign execution started with arguments: --verify -vvvv -R='anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.1] exists and (certificate leaf[field.1.2.840.113635.100.6.1.2] exists or certificate leaf[field.1.2.840.113635.100.6.1.4] exists)' bin/iPhone/Debug/build-iphone5.3-10.2/ClimbTagApp_iOS.app 
		bin/iPhone/Debug/build-iphone5.3-10.2/ClimbTagApp_iOS.app: code object is not signed at all
		In architecture: armv7
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/iOS/Xamarin.iOS.Common.targets: error : Tool exited with code: 1. Output: bin/iPhone/Debug/build-iphone5.3-10.2/ClimbTagApp_iOS.app: code object is not signed at all
In architecture: armv7

	Task "CodesignVerify" execution -- FAILED
	Done building target "_CodesignVerify" in project "/Users/shayo/Projects/iOS/ClimbTagApp.iOS.csproj".-- FAILED
	
Done building project "/Users/shayo/Projects/iOS/ClimbTagApp.iOS.csproj".-- FAILED

Build FAILED.


----

Cleaning the project and recompiling leads to a successful compilation.
This is very annoying - I basically need to run full compilation for every tiny change of the code.


Xamarin Studio information below:

=== Xamarin Studio Business ===

Version 6.2 (build 1686)
Installation UUID: 07360e74-2c80-443b-94a1-6221c776bc97
Runtime:
	Mono 4.8.0 (mono-4.8.0-branch/df81fe4) (64-bit)
	GTK+ 2.24.23 (Raleigh theme)

	Package version: 408000395

=== NuGet ===

Version: 3.5.0.0

=== Xamarin.Profiler ===

Not Installed

=== Apple Developer Tools ===

Xcode 8.2 (11759)
Build 8C23

=== Xamarin.iOS ===

Version: 10.4.0.54 (Xamarin Business)
Hash: 4d85810
Branch: master
Build date: 2016-12-17 15:04:15-0500

=== Xamarin.Mac ===

Version: 3.0.0.324 (Xamarin Business)

=== Xamarin Inspector ===

Not Installed

=== Xamarin.Android ===

Version: 7.1.0.14 (Xamarin Business)
Android SDK: /Users/shayo/Library/Developer/Xamarin/android-sdk-macosx
	Supported Android versions:
		2.3    (API level 10)
		4.0.3  (API level 15)
		4.3    (API level 18)
		4.4    (API level 19)
		4.4.87 (API level 20)
		5.0    (API level 21)
		5.1    (API level 22)
		6.0    (API level 23)
		7.0    (API level 24)

SDK Tools Version: 25.2.2
SDK Platform Tools Version: 24.0.3
SDK Build Tools Version: 23.0.2

Java SDK: /usr
java version "1.8.0_112"
Java(TM) SE Runtime Environment (build 1.8.0_112-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.112-b16, mixed mode)

Android Designer EPL code available here:
https://github.com/xamarin/AndroidDesigner.EPL

=== Xamarin Android Player ===

Version: 0.6.5
Location: /Applications/Xamarin Android Player.app

=== Build Information ===

Release ID: 602001686
Git revision: 3e8b559b32962db4d3860072ce79dee44f0c6a88
Build date: 2016-12-15 09:09:49-05
Xamarin addins: d83d393881f04cf1f62093120f1ed619e3a13c5b
Build lane: monodevelop-lion-cycle9

=== Operating System ===

Mac OS X 10.12.1
Darwin Shays-MacBook-Pro.local 16.1.0 Darwin Kernel Version 16.1.0
    Thu Oct 13 21:26:57 PDT 2016
    root:xnu-3789.21.3~60/RELEASE_X86_64 x86_64
Comment 1 Sebastien Pouliot 2016-12-26 17:44:12 UTC
@Shay can you please attach a complete "rebuild" build log so we can see what went wrong (earlier) in the build ? thanks!
Comment 2 Shay 2016-12-27 06:37:42 UTC
Created attachment 19005 [details]
Failed Rebuild log
Comment 3 Shay 2016-12-27 06:39:17 UTC
Created attachment 19006 [details]
Successful build log
Comment 4 Sebastien Pouliot 2016-12-27 17:21:40 UTC
Thanks!
Comment 5 Sebastien Pouliot 2017-01-04 00:02:51 UTC
@Jeff any of the unit tests project in xamarin-macios shows the same issue. E.g.

1. Build monotouch-tests for iPhone/Release -> fine
2. Change a build option, e.g. switch LLVM;
3. Build monotouch-tests for iPhone/Release -> this error

The workaround is doing a Clean between builds.
Comment 6 Jeffrey Stedfast 2017-01-04 16:29:34 UTC
Based on the log, it looks like the timestamps on the files listed in the Inputs have not changed and so it is not resigning.

I probably just need to figure out what other file(s) need to be in that Inputs list.

Working on that now...
Comment 7 Jeffrey Stedfast 2017-01-04 17:31:07 UTC
Looks like I accidentally used "%(_NativeExecutable.Identity)" (which doesn't exist because _NativeExecutable is a *Property* and not an *Item*) instead of "$(_NativeExecutable)"
Comment 8 Jeffrey Stedfast 2017-01-04 17:34:41 UTC
That said, we should also add the Info.plist and embedded.mobileprovision to the Inputs as well as potentially the native libraries/frameworks (need more investigation into this...).
Comment 9 Jeffrey Stedfast 2017-01-04 19:07:31 UTC
When the .app contains frameworks, _CodeSignature/CodeResources includes hashes for them... so it looks like we need to include frameworks in the Inputs as well.
Comment 11 Rolf Bjarne Kvinge [MSFT] 2017-01-04 19:19:04 UTC
@Jeff, maybe we should read/parse _CodeSignature/CodeResources to get the list of inputs? If anything in that file listed in that file is changed, it will invalidate the signature.
Comment 12 Saurabh 2017-01-27 12:35:05 UTC
I can also reproduce this Issue with XI 10.4.0.54  with steps mentioned in comment#5 using iOS template project. Below is the build output for the same:
Build Output: https://gist.github.com/saurabh360/3a4a15f819441d2ac9deafa886294b91

I have checked the same Issue with latest Cycle 9 build(XI 10.4.0.96) and Master build (XI 10.5.0.403). This is working fine now.

Build Output: https://gist.github.com/saurabh360/0b7ce3b57d7205eccd9cad0014ff730a
Environment Info: https://gist.github.com/saurabh360/c7bc12cb288ca6f845445a5fd378bc92

Note You need to log in before you can comment on or make changes to this bug.