Bug 20013 - Runtime.ConnectMethod () throws KeyNotFoundException
Summary: Runtime.ConnectMethod () throws KeyNotFoundException
Status: RESOLVED FIXED
Alias: None
Product: iOS
Classification: Xamarin
Component: XI runtime ()
Version: 7.2.3
Hardware: PC Mac OS
: Normal normal
Target Milestone: Untriaged
Assignee: Rolf Bjarne Kvinge [MSFT]
URL:
Depends on:
Blocks:
 
Reported: 2014-05-23 10:56 UTC by Jeffrey Stedfast
Modified: 2014-06-23 07:14 UTC (History)
4 users (show)

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

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:
RESOLVED FIXED

Description Jeffrey Stedfast 2014-05-23 10:56:19 UTC
I've started working on my FlightLog iOS app again which uses MonoTouch.SQLite.

The problem is that MonoTouch.SQLite's AllInOneTableViewController dynamically registers methods at runtime using Runtime.ConnectMethod() and when run on device, this seems to throw a KeyNotFoundException on line 128 of DynamicRegistrar.cs (in GetMethods).

This works fine in the simulator unless I add "--registrar:static" to the additional mtouch args.

Somehow method_map is not being updated and so even after DynamicRegistrar.GetMethods() calls RegisterType(), it still does not contain the type in the method_map dictionary.
Comment 2 Rolf Bjarne Kvinge [MSFT] 2014-05-27 13:28:17 UTC
Fixed.

monotouch/master: e5d76301aa95ee6493c8a0d10f3463c28e3a66cf
Comment 3 Saurabh 2014-06-02 13:59:59 UTC
I am trying to verify this issue but I don't have the correct steps to verify this issue.

Could you please provide a testcase or a sample application to verify this issue?

XS 5.1 (build 307)
X.iOS 7.2.99.420
Mono 3.4.0.204
Comment 4 Rolf Bjarne Kvinge [MSFT] 2014-06-23 07:06:06 UTC
QA: I've added a unit test for this bug

monotouch/master: 41386a11b77a2bd622aefaa9e498e1276d8051ed
Comment 5 Jeffrey Stedfast 2014-06-23 07:14:43 UTC
Awesome - thanks, Rolf!