jamesmontemagno / Xamarin.Plugins

Cross-platform Native API Access from Shared Code!
MIT License
1.3k stars 380 forks source link

Contacts Plugin - Throws Exception When Attempting to Iterate #329

Closed aherrick closed 7 years ago

aherrick commented 8 years ago

This is a

Which plugin does this impact:

Version Number of Plugin:

2.0.2-beta1

Device Tested On:

galaxy note 5 - 6.0.1 (samsung sm-n920V)

Expected Behavior

Should be able to loop over contacts.

Actual Behavior

Throws exception when looping over contacts.

Steps to reproduce the Behavior

CrossContacts.Current.PreferContactAggregation = false;

var contacts = CrossContacts.Current.Contacts;

// Does work
var contactsCount = contacts.Count();

// Does not work 
// throws when attempting to iterate
foreach (var contact in contacts)
{
}

6-9-2016 12-36-38 pm

hyderlyger commented 8 years ago

Waiting for this to be fixed :)

NiklasRaab commented 8 years ago

Same Problem, also wait to fix. Stacktrace: ` System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.

07-15 10:29:12.587 D/Mono (17350): DllImport attempting to load: '/system/lib/liblog.so'. 07-15 10:29:12.587 D/Mono (17350): DllImport loaded library '/system/lib/liblog.so'. 07-15 10:29:12.587 D/Mono (17350): DllImport searching in: '/system/lib/liblog.so' ('/system/lib/liblog.so'). 07-15 10:29:12.587 D/Mono (17350): Searching for 'android_log_print'. 07-15 10:29:12.587 D/Mono (17350): Probing 'android_log_print'. 07-15 10:29:12.587 D/Mono (17350): Found as 'android_log_print'. 07-15 10:29:12.591 I/MonoDroid(17350): UNHANDLED EXCEPTION: 07-15 10:29:12.594 I/MonoDroid(17350): System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> Java.Lang.IllegalArgumentException: the bind value at index 174 is null 07-15 10:29:12.594 I/MonoDroid(17350): at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /Users/builder/data/lanes/3415/7db2aac3/source/mono/external/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:143 07-15 10:29:12.594 I/MonoDroid(17350): at Java.Interop.JniEnvironment+InstanceMethods.CallNonvirtualObjectMethod (JniObjectReference instance, JniObjectReference type, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x000a8] in /Users/builder/data/lanes/3415/7db2aac3/source/Java.Interop/src/Java.Interop/Java.Interop/JniEnvironment.g.cs:11687 07-15 10:29:12.594 I/MonoDroid(17350): at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeNonvirtualObjectMethod (System.String encodedMember, IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x00022] in /Users/builder/data/lanes/3415/7db2aac3/source/Java.Interop/src/Java.Interop/Java.Interop/JniPeerMembers.JniInstanceMethods_Invoke.cs:365 07-15 10:29:12.594 I/MonoDroid(17350): at Android.Content.ContentResolver.Query (Android.Net.Uri uri, System.String[] projection, System.String selection, System.String[] selectionArgs, System.String sortOrder) [0x000a2] in /Users/builder/data/lanes/3415/7db2aac3/source/monodroid/src/Mono.Android/platforms/android-23/src/generated/Android.Content.ContentResolver.cs:926 07-15 10:29:12.594 I/MonoDroid(17350): at Plugin.Contacts.ContactHelper+d2.MoveNext () [0x000ae] in C:\projects\xamarin-plugins\Contacts\Contacts\Contacts.Plugin.Android\ContactsHelper.cs:127 07-15 10:29:12.594 I/MonoDroid(17350): at Plugin.Contacts.ContactHelper+d1.MoveNext () [0x001e0] in C:\projects\xamarin-plugins\Contacts\Contacts\Contacts.Plugin.Android\ContactsHelper.cs:97 07-15 10:29:12.594 I/MonoDroid(17350): at Plugin.Contacts.ContactHelper+d__0.MoveNext () [0x000c2] in C:\projects\xamarin-plugins\Contacts\Contacts\Contacts.Plugin.Android\ContactsHelper.cs:53 07-15 10:29:12.594 I/MonoDroid(17350): at System.Linq.Buffer1[TElement]..ctor (IEnumerable1 source) [0x00083] in /Users/builder/data/lanes/3415/7db2aac3/source/mono/external/referencesource/System.Core/System/Linq/Enumerable.cs:2568 07-15 10:29:12.594 I/MonoDroid(17350): at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source) [0x00011] in /Users/builder/data/lanes/3415/7db2aac3/source/mono/external/referencesource/System.Core/System/Linq/Enumerable.cs:830 07-15 10:29:12.594 I/MonoDroid(17350): at Schuldenplanner.ViewModels.ContactsViewModel..ctor () [0x00031] in C:\Users\NiklasRaab\Desktop\Schuldenplanner\Schuldenplanner\ViewModels\ContactsViewModel.cs:29 07-15 10:29:12.594 I/MonoDroid(17350): at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (System.Reflection.MonoCMethod,object,object[],System.Exception&) 07-15 10:29:12.594 I/MonoDroid(17350): at System.Reflection.MonoCMethod.InternalInvoke (System.Object obj, System.Object[] parameters) [0x00002] in /Users/builder/data/lanes/3415/7db2aac3/source/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:644 07-15 10:29:12.594 I/MonoDroid(17350): --- End of managed exception stack trace --- 07-15 10:29:12.594 I/MonoDroid(17350): java.lang.IllegalArgumentException: the bind value at index 174 is null 07-15 10:29:12.594 I/MonoDroid(17350): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:165) 07-15 10:29:12.594 I/MonoDroid(17350): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:135) 07-15 10:29:12.595 I/MonoDroid(17350): at android.content.ContentProviderProxy.query(ContentProviderNative.java:421) 07-15 10:29:12.595 I/MonoDroid(17350): at android.content.ContentResolver.query(ContentResolver.java:491) 07-15 10:29:12.595 I/MonoDroid(17350): at android.content.ContentResolver.query(ContentResolver.java:434) 07-15 10:29:12.595 I/MonoDroid(17350): at md56d0b74dae7897f4581aa1762933c9ec6.MainActivity.n_onCreate(Native Method) 07-15 10:29:12.595 I/MonoDroid(17350): at md56d0b74dae7897f4581aa1762933c9ec6.MainActivity.onCreate(MainActivity.java:29) 07-15 10:29:12.595 I/MonoDroid(17350): at android.app.Activity.performCreate(Activity.java:6245) 07-15 10:29:12.595 I/MonoDroid(17350): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1130) 07-15 10:29:12.595 I/MonoDroid(17350): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2379) 07-15 10:29:12.595 I/MonoDroid(17350): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2490) 07-15 10:29:12.595 I/MonoDroid(17350): at android.app.ActivityThread.-wrap11(ActivityThread.java) 07-15 10:29:12.595 I/MonoDroid(17350): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1354) 07-15 10:29:12.595 I/MonoDroid(17350): at android.os.Handler.dispatchMessage(Handler.java:102) 07-15 10:29:12.595 I/MonoDroid(17350): at android.os.Looper.loop(Looper.java:148) 07-15 10:29:12.595 I/MonoDroid(17350): at android.app.ActivityThread.main(ActivityThread.java:5443) 07-15 10:29:12.595 I/MonoDroid(17350): at java.lang.reflect.Method.invoke(Native Method) 07-15 10:29:12.595 I/MonoDroid(17350): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728) 07-15 10:29:12.595 I/MonoDroid(17350): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 07-15 10:29:12.595 I/MonoDroid(17350): --- End of inner exception stack trace --- 07-15 10:29:12.595 I/MonoDroid(17350): at System.Reflection.MonoCMethod.InternalInvoke (System.Object obj, System.Object[] parameters) [0x00016] in /Users/builder/data/lanes/3415/7db2aac3/source/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:650 07-15 10:29:12.595 I/MonoDroid(17350): at System.RuntimeType.CreateInstanceMono (Boolean nonPublic) [0x000ca] in /Users/builder/data/lanes/3415/7db2aac3/source/mono/mcs/class/corlib/ReferenceSources/RuntimeType.cs:115 07-15 10:29:12.595 I/MonoDroid(17350): at System.RuntimeType.CreateInstanceSlow (Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, System.Threading.StackCrawlMark& stackMark) [0x0001a] in /Users/builder/data/lanes/3415/7db2aac3/source/mono/mcs/class/corlib/ReferenceSources/RuntimeType.cs:89 07-15 10:29:12.595 I/MonoDroid(17350): at System.RuntimeType.CreateInstanceDefaultCtor (Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, System.Threading.StackCrawlMark& stackMark) [0x0002a] in /Users/builder/data/lanes/3415/7db2aac3/source/mono/external/referencesource/mscorlib/system/rttype.cs:5599 07-15 10:29:12.595 I/MonoDroid(17350): at System.Activator.CreateInstance (System.Type type, Boolean nonPublic) [0x00040] in /Users/builder/data/lanes/3415/7db2aac3/source/mono/external/referencesource/mscorlib/system/activator.cs:201 07-15 10:29:12.595 I/MonoDroid(17350): at System.Activator.CreateInstance (System.Type type) [0x00000] in /Users/builder/data/lanes/3415/7db2aac3/source/mono/external/referencesource/mscorlib/system/activator.cs:134 07-15 10:29:12.595 I/MonoDroid(17350): at Xamarin.Forms.Xaml.CreateValuesVisitor.Visit (Xamarin.Forms.Xaml.ElementNode node, INode parentNode) [0x001ff] in :0 07-15 10:29:12.595 I/MonoDroid(17350): --- End of inner exception stack trace --- 07-15 10:29:12.595 I/MonoDroid(17350): at System.Reflection.MonoCMethod.InternalInvoke (System.Object obj, System.Object[] parameters) [0x00016] in /Users/builder/data/lanes/3415/7db2aac3/source/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:650 07-15 10:29:12.595 I/MonoDroid(17350): at System.RuntimeType.CreateInstanceMono (Boolean nonPublic) [0x000ca] in /Users/builder/data/lanes/3415/7db2aac3/source/mono/mcs/class/corlib/ReferenceSources/RuntimeType.cs:115 07-15 10:29:12.595 I/MonoDroid(17350): at System.RuntimeType.CreateInstanceSlow (Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, System.Threading.StackCrawlMark& stackMark) [0x0001a] in /Users/builder/data/lanes/3415/7db2aac3/source/mono/mcs/class/corlib/ReferenceSources/RuntimeType.cs:89 07-15 10:29:12.595 I/MonoDroid(17350): at System.RuntimeType.CreateInstanceDefaultCtor (Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, System.Threading.StackCrawlMark& stackMark) [0x0002a] in /Users/builder/data/lanes/3415/7db2aac3/source/mono/external/referencesource/mscorlib/system/rttype.cs:5599 07-15 10:29:12.595 I/MonoDroid(17350): at System.Activator.CreateInstance (System.Type type, Boolean nonPublic) [0x00040] in /Users/builder/data/lanes/3415/7db2aac3/source/mono/external/referencesource/mscorlib/system/activator.cs:201 07-15 10:29:12.595 I/MonoDroid(17350): at System.Activator.CreateInstance (System.Type type) [0x00000] in /Users/builder/data/lanes/3415/7db2aac3/source/mono/external/referencesource/mscorlib/system/activator.cs:134 07-15 10:29:12.595 I/MonoDroid(17350): at Xamarin.Forms.Xaml.CreateValuesVisitor.Visit (Xamarin.Forms.Xaml.ElementNode node, INode parentNode) [0x001ff] in :0 07-15 10:29:12.604 W/art (17350): JNI RegisterNativeMethods: attempt to register 0 native methods for android.runtime.JavaProxyThrowable 07-15 10:29:12.608 D/Mono (17350): DllImport searching in: 'Internal' ('(null)'). 07-15 10:29:12.608 D/Mono (17350): Searching for 'java_interop_jnienv_throw'. 07-15 10:29:12.608 D/Mono (17350): Probing 'java_interop_jnienv_throw'. 07-15 10:29:12.608 D/Mono (17350): Found as 'java_interop_jnienv_throw'. An unhandled exception occured.

Thread finished: #5 07-15 10:29:42.399 D/Mono (17350): [0x9e2e3930] worker finishing Der Thread 'Unknown' (0x5) hat mit Code 0 (0x0) geendet. `

jamesmontemagno commented 7 years ago

I believe this is now fixed in the 2.1.0 beta. I have also moved the repo to: https://github.com/jamesmontemagno/ContactsPlugin

if you can test again let me know and feel free to open a new issue there.