Bug 60455 - BTouch task fails, even though btouch-native succeeds in iOS binding project
Summary: BTouch task fails, even though btouch-native succeeds in iOS binding project
Status: CONFIRMED
Alias: None
Product: Visual Studio Extensions
Classification: Xamarin
Component: iOS ()
Version: unspecified
Hardware: PC Windows
: Normal normal
Target Milestone: 15.6
Assignee: Bugzilla
URL:
Depends on:
Blocks:
 
Reported: 2017-10-31 15:30 UTC by Antony Male
Modified: 2017-11-01 17:35 UTC (History)
5 users (show)

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


Attachments
Failing build output (sanitised) -- see line 1617 (146.76 KB, text/plain)
2017-10-31 15:30 UTC, Antony Male
Details
Succeeding build output (337.54 KB, text/plain)
2017-10-31 15:31 UTC, Antony Male
Details
Version information (2.96 KB, text/plain)
2017-10-31 15:31 UTC, Antony Male
Details


Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.


Please create a new report for Bug 60455 on Developer Community if you have new information to add and do not yet see a matching new report.

If the latest results still closely match this report, you can use the original description:

  • Export the original title and description: Developer Community HTML
  • Copy the title and description into the new report. Adjust them to be up-to-date if needed.
  • Add your new information.
Related Links:
Status:
CONFIRMED

Description Antony Male 2017-10-31 15:30:37 UTC
Created attachment 25518 [details]
Failing build output (sanitised) -- see line 1617

Hi,

I'm seeing an issue when trying to build an iOS bindings project from a Windows machine. It looks like the BTouch task fails (with "one or more errors occurred"), when receiving one of the GetItemMessages, following successful completion of the btouch-native tool. 

What's odd is that this project builds fine with one computer (Windows 7), but we see the problem on another (Windows 10). Both computers are running the same versions of VS and Xamarin. Both are connected to the same Mac. The project builds fine on Visual Studio for Mac.

The relevant part of the diagnostic build on the failing machine is:

1>  Tool /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/bin/btouch-native execution finished. (TaskId:36)
1>  BTouch: 2017-10-30T14:57:13.7177560+00:00 - Deserializing outputs (TaskId:36)
1>  BTouch: 2017-10-30T14:57:13.7177560+00:00 - Creating output items (TaskId:36)
1>  BTouch: 2017-10-30T14:57:13.7177560+00:00 - Finished (TaskId:36)
1>  Sending Message Xamarin.Messaging.MessageStatusMessage to topic xma/message-status (TaskId:36)
1>  Sending Request Xamarin.Messaging.Build.Contracts.GetItemMessage to topic xvs/Build/4.7.10.22/get-item/<ProjectName>/f258073%2Fsources.list (TaskId:36)
1>  Sending Message Xamarin.Messaging.MessageStatusMessage to topic xma/message-status (TaskId:36)
1>  Received Response of Xamarin.Messaging.Build.Contracts.GetItemMessage to topic build13872<Redacted>/response/xvs/Build/4.7.10.22/get-item/<ProjectName>/f258073%2Fsources.list (TaskId:36)
1>  Sending Message Xamarin.Messaging.MessageStatusMessage to topic xma/message-status (TaskId:36)
1>  Sending Request Xamarin.Messaging.Build.Contracts.GetItemMessage to topic xvs/Build/4.7.10.22/get-item/<ProjectName>/f258073%2FAttribute.g.cs (TaskId:36)
1>  Sending Message Xamarin.Messaging.MessageStatusMessage to topic xma/message-status (TaskId:36)
1>  Received Response of Xamarin.Messaging.Build.Contracts.GetItemMessage to topic build13872<Redacted>/response/xvs/Build/4.7.10.22/get-item/<ProjectName>/f258073%2FAttribute.g.cs (TaskId:36)
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Xamarin\iOS\Xamarin.iOS.ObjCBinding.CSharp.targets(57,3): error : One or more errors occurred.
1>Done executing task "BTouch" -- FAILED. (TaskId:36)
1>Done building target "_GenerateBindings" in project "<ProjectName>.csproj" -- FAILED.: (TargetId:49)

(If I run btouch-native myself, with the parameters which msbuild calls it with, it exits cleanly).

I've attached a (sanitised) diagnostic build output from the succeeding and failing machines.

I haven't been able to find any differences in the files present in ~/Library/Caches/Xamarin/mtbs (the .frameworks aren't transferred to this tree on the failing build, but it looks like this step happens after the BTouch task so it never reached).

Looking at the source for BTouchTaskBase, I can see how it runs btouch-native, but not what triggers the GetItemMessages.

Does anyone have any ideas, or suggestions to get more output?

Thanks,
Antony
Comment 1 Antony Male 2017-10-31 15:31:05 UTC
Created attachment 25519 [details]
Succeeding build output
Comment 2 Antony Male 2017-10-31 15:31:36 UTC
Created attachment 25520 [details]
Version information
Comment 3 Antony Male 2017-10-31 16:00:21 UTC
(Another colleague's computer, running Windows 10, also sees the same issue).
Comment 4 Antony Male 2017-10-31 16:05:15 UTC
Turns out this this is caused by IntermediateOutputPath starting with ..\ (we like to put the bin and obj directories outside of the source tree). Also odd that this appears to only affect Windows 10.