https://bugzilla.novell.com/show_bug.cgi?id=655872
https://bugzilla.novell.com/show_bug.cgi?id=655872#c0 Summary: Passing null for string[] Parameters in Activity.ManagedQuery and ContentProvider.Query Causes System.ArgumentNullException Classification: Mono Product: MonoDroid Version: unspecified Platform: x86-64 OS/Version: Windows 7 Status: NEW Severity: Major Priority: P5 - None Component: Runtime AssignedTo: [email protected] ReportedBy: [email protected] QAContact: [email protected] Found By: --- Blocker: --- Created an attachment (id=402095) --> (http://bugzilla.novell.com/attachment.cgi?id=402095) Solution that demonstrates problem User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12 If you pass a null for the projection or selectionArgs parameters in the Activity.ManagedQuery() or ContentResolver.Query() methods, a System.ArgumentNullException is thrown. The methods work as expected by replacing null with new string[]{}. Passing null in the equivalent Java methods in an Eclipse project execute successfully. By inspecting the error logs, it appears that the Android.Runtime.JNIEnv.CopyArray() method is called before checking to see if the array is null. Reproducible: Always Steps to Reproduce: 1. In a MonoDroid project, implement a ContentProvider 2. In your activity, call the Activity.ManagedQuery() method passing null as the selectionArgs parameter. 3. Run the application (F5 or Ctrl-F5) 4. Wait for exception Actual Results: The system throws a runtime error. The relevant log entries: E/AndroidRuntime( 671): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.contentprovidersandbox/com.example.contentprovidersandbox.MyActivity}: java.lang.IllegalArgumentException: System.ArgumentNullException: Argument cannot be null. E/AndroidRuntime( 671): Parameter name: src E/AndroidRuntime( 671): at Android.Runtime.JNIEnv.CopyArray (System.String[] src, IntPtr dest) [0x00006] in /home/jpobst/Desktop/mondroid/Mono.Android/src/Runtime/JNIEnv.cs:1426 E/AndroidRuntime( 671): at Android.Content.ContentProvider.n_Query_Landroid_net_Uri_arrayLjava_lang_String_Ljava_lang_String_arrayLjava_lang_String_Ljava_lang_String_ (IntPtr jnienv, IntPtr native__this, IntPtr native_uri, IntPtr native_projection, IntPtr native_selection, IntPtr native_selectionArgs, IntPtr native_sortOrder) [0x0006e] in /home/jpobst/Desktop/mondroid/Mono.Android/src/generated/Android.Content.ContentProvider.cs:489 Expected Results: Runtime execution w/o exceptions. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug. _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
