http://bugzilla.novell.com/show_bug.cgi?id=590014

http://bugzilla.novell.com/show_bug.cgi?id=590014#c0


           Summary: Struct with linear layout containing IntPtr is not
                    marshaled properly
    Classification: Mono
           Product: Mono: Runtime
           Version: 2.6.x
          Platform: x86
        OS/Version: openSUSE 11.3
            Status: NEW
          Severity: Major
          Priority: P5 - None
         Component: interop
        AssignedTo: [email protected]
        ReportedBy: [email protected]
         QAContact: [email protected]
          Found By: ---
           Blocker: ---


Created an attachment (id=349655)
 --> (http://bugzilla.novell.com/attachment.cgi?id=349655)
Contains code and test to reproduce the problem

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.8)
Gecko/20100202 Firefox/3.5.8

Full source for the test attached.

C#
[StructLayout(LayoutKind.Sequential)]
public struct IntPtrHandle
{
    public IntPtr Handle;
}

[DllImport("dummy.so")]
static extern IntPtrHandle jni4net_zero();

// this returns uninitialized data
// should return Zero
// this works with MS.NET
IntPtrHandle test0 = jni4net_zero();


C/C++
void* jni4net_zero()
{
    return NULL;
} 

Reproducible: Always

Steps to Reproduce:
1. unzip attachment
2. call comp script to compile
3. call test script to execute
Actual Results:  
------------------------ struct ----------------------------
struct 0 IntPtr.Zero failed-1080660072
-1080660212
struct 1 IntPtr.Zero failed-1080660072
-1080660212
struct 2 IntPtr.One failed-1080660072
-1080660188
struct 3 IntPtr.Zero failed137681024
-1080660188
struct 4 IntPtr.One failed494976
++++++++++++++++++++++++ struct ++++++++++++++++++++++++++++


Expected Results:  
it should marshal the structure properly same way as MS.NET does

------------------------ struct ----------------------------
0
1
0
1
++++++++++++++++++++++++ struct ++++++++++++++++++++++++++++

-- 
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
_______________________________________________
mono-bugs maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-bugs

Reply via email to