Bug 27021 - Double-clicking incompatible component in solution pane generates blank tab. Closing blank tab crashes Xamarin Studio with "Fatal Error"
Summary: Double-clicking incompatible component in solution pane generates blank tab. ...
Status: VERIFIED FIXED
Alias: None
Product: Xamarin Studio
Classification: Desktop
Component: Component Store ()
Version: 5.7
Hardware: Macintosh Mac OS
: Normal normal
Target Milestone: master
Assignee: Matt Ward
URL:
Depends on:
Blocks:
 
Reported: 2015-02-12 22:54 UTC by Kent Green [MSFT]
Modified: 2016-09-19 06:40 UTC (History)
3 users (show)

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


Attachments
Logs & sample to reproduce bug (806.60 KB, application/zip)
2015-02-12 22:54 UTC, Kent Green [MSFT]
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 on Developer Community or GitHub with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:
Status:
VERIFIED FIXED

Description Kent Green [MSFT] 2015-02-12 22:54:15 UTC
Created attachment 9811 [details]
Logs & sample to reproduce bug

---Overview---
Screencast: http://screencast.com/t/xgNyj2W19Xm

I'm sure this is a little bit of an unusual scenario, but I came across it when testing for an unrelated issue. Essentially, I noticed that if I added an incompatible component from the component store; Xamarin Studio opens up an empty tab; that if closed, triggers a "Fatal Error" and crashes the IDE. It didn't look to me like it was particular to just one component, but I don't know which all components are compatible vs. incompatible to run more tests.

As such, I've included the specific steps to reproduce in the scenario I noticed, though I suspect they may be generalized.

---Steps to reproduce---
1) Create a new iOS -> Classic API -> Universal -> Single-View App.
2) Add the IBM MobileFirst SDK v. 1.1.0 Component to the app.

(Note regarding step 2: The Component store itself doesn't show the component when loaded via the project. However, if the component has been previously used by being added to, for example, a Unified project, then the Component can be added via the "edit components" dialog. This itself might *arguably* be a bug, but Xamarin Studio does correctly identify in the error message that the Component is incompatible when it is added).

3) When the component is added, a blank tab is spawned; if you close the blank tab, that triggers the "Fatal Error" and crash.
4) Alternatively, if you open an app that was previously created with the invalid component, double clicking it in the solution pane similarly spawns a blank tab which when closed, triggers the crash.

---Behavior---
Incompatible component (perhaps) shouldn't be possible to add, double-clicking on incompatible component shouldn't open a blank tab, closing blank tab shouldn't trigger a Fatal Error and crash.

---Build Information---
=== Xamarin Studio ===

Version 5.7.1 (build 17)
Installation UUID: 8ef63a7c-1b18-40de-a334-7f78777fcb55
Runtime:
	Mono 3.12.0 ((detached/de2f33f)
	GTK+ 2.24.23 (Raleigh theme)

	Package version: 312000076

=== Xamarin.Android ===

Version: 4.20.0.28 (Business Edition)
Android SDK: /Users/kentgreen/Library/Developer/Xamarin/android-sdk-macosx
	Supported Android versions:
		2.1    (API level 7)
		2.2    (API level 8)
		2.3    (API level 10)
		3.1    (API level 12)
		4.0    (API level 14)
		4.0.3  (API level 15)
		4.1    (API level 16)
		4.2    (API level 17)
		4.3    (API level 18)
		4.4    (API level 19)
		4.4.87 (API level 20)
		5.0    (API level 21)
Java SDK: /usr
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)

=== Apple Developer Tools ===

Xcode 6.1.1 (6611)
Build 6A2008a

=== Xamarin.iOS ===

Version: 8.6.1.20 (Business Edition)
Hash: 3b3ef43
Branch: 
Build date: 2015-01-24 09:42:21-0500

=== Xamarin.Mac ===

Version: 1.10.0.18 (Business Edition)

=== Build Information ===

Release ID: 507010017
Git revision: 0bc7d3550b6b088ac25b08dcf7bbe73bcc8658b3
Build date: 2015-02-03 19:43:29-05
Xamarin addins: f7b7d34419c9ec24501bfa7c658e80a6305613e0

=== Operating System ===

Mac OS X 10.10.2
Darwin Kents-MacBook-Pro.local 14.1.0 Darwin Kernel Version 14.1.0
    Mon Dec 22 23:10:38 PST 2014
    root:xnu-2782.10.72~2/RELEASE_X86_64 x86_64

---Additional Information---
Including sample that already has the offending component added, so it should only require the "last" step to reproduce. The full steps to reproduce cover from a new project though. 

Also including the log files, definitely some interesting exceptions in there; but I don't know what's relevant or not.
Comment 1 Atin 2015-02-13 03:44:21 UTC
I have tried to reproduce this issue with attached sample project but not able to reproduce it.
When I open the attached project and double click on the IBM MobileFirst SDK
component then I observe that tab is open but not blank and after closing the tab no error comes.
 I also observed that component is missing. I tried to get this component from 'Component Store' but it not available there. Then I found that this component 'IBM MobileFirst SDK' is available . I download it from google 'https://components.xamarin.com/view/ibm-worklight' but unfortunately I am not able to reproduce this issue. Here is the screencast regarding same :

Screencast:http://www.screencast.com/t/XrpLrWkMHE

Environment Info:

=== Xamarin Studio ===

Version 5.7.1 (build 17)
Installation UUID: 3d25a767-a003-4a7d-9f5e-e57987cf6cf0
Runtime:
	Mono 3.12.0 ((detached/de2f33f)
	GTK+ 2.24.23 (Raleigh theme)

	Package version: 312000076

=== Xamarin.Android ===

Version: 4.20.0.28 (Business Edition)
Android SDK: /Users/mac360_xamarin/Library/Developer/Xamarin/android-sdk-macosx
	Supported Android versions:
		2.1   (API level 7)
		2.2   (API level 8)
		2.3   (API level 10)
		3.1   (API level 12)
		4.0.3 (API level 15)
		4.4   (API level 19)
		5.0   (API level 21)
Java SDK: /usr
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)

=== Apple Developer Tools ===

Xcode 6.1 (6602)
Build 6A1052c

=== Xamarin.iOS ===

Version: 8.6.1.20 (Business Edition)
Hash: 3b3ef43
Branch: 
Build date: 2015-01-24 09:42:21-0500

=== Xamarin.Mac ===

Version: 1.10.0.18 (Business Edition)

=== Build Information ===

Release ID: 507010017
Git revision: 0bc7d3550b6b088ac25b08dcf7bbe73bcc8658b3
Build date: 2015-02-03 19:43:29-05
Xamarin addins: f7b7d34419c9ec24501bfa7c658e80a6305613e0

=== Operating System ===

Mac OS X 10.10.0
Darwin mac360-xamarins-Mac-mini.local 14.0.0 Darwin Kernel Version 14.0.0
    Fri Sep 19 00:26:44 PDT 2014
    root:xnu-2782.1.97~2/RELEASE_X86_64 x86_64
Comment 3 Matt Ward 2015-09-15 10:10:38 UTC
There are three problems that I can reproduce in XS 5.9.

1) In the iOS Classic project you should show a Component that only supports iOS Unified.

Currently on the Edit Components page you seem to be able to do this if the component has been installed on the machine. One example is the SNMP component which supports iOS unified and Android but not iOS classic. The SNMP component should be displayed. Currently it only seems to filter out Components that only support Android.

2) Xamarin Studio should not crash even if the component is not compatible.

Even if 1) is fixed you can break a component by deleting its lib directory. Then trying to show the details for that component will open a blank tab, which when closed kills Xamarin Studio.

3) Components that have been downloaded to the local machine do not show up when you double click the Components folder or right click it and select Edit Components.

The Components page that opens should show Components installed into that project but also Components that have been downloaded to the local machine (i.e. are in the cache) and are compatible with the project.
Comment 5 Matt Ward 2015-09-16 09:28:46 UTC
This is now fixed in master. Moving to in progress until monodevelop's reference to md-addins is updated.
Comment 6 Matt Ward 2015-09-16 09:29:53 UTC
Should have been more specific. The crash is now fixed in master in md-addins. Items 1) and 3) are covered by bug #33971
Comment 7 xamarin-release-manager 2015-09-16 11:34:15 UTC
Fixed in version 5.10.0.852 (xcode7)

Author: Matt Ward
Commit: a94be6ed75c9335c5a41b1985026102d4607f44d (xamarin/md-addins)
Included in Commit: e734d886c36a36daada6b94d79a944a3ce36cc1e (mono/monodevelop)
Comment 8 xamarin-release-manager 2015-09-16 12:05:07 UTC
Fixed in version 5.10.0.778 (cycle6)

Author: Matt Ward
Commit: a94be6ed75c9335c5a41b1985026102d4607f44d (xamarin/md-addins)
Included in Commit: db49ca6e0900ba0f687781176526fc08d26ffbaa (mono/monodevelop)