[Mono-bugs] [Bug 655872] New: Passing null for string[] Parameters in Activity.ManagedQuery and ContentProvider.Query Causes System.ArgumentNullException
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Wed Nov 24 17:42:20 EST 2010
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: mkestner at novell.com
ReportedBy: danomania at gmail.com
QAContact: mono-bugs at lists.ximian.com
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.
More information about the mono-bugs
mailing list