DotGNU Portable.NET - Bugs: bug #11212, Marshalling bug - code pointer in...
You are not allowed to post comments on this tracker with your current authentication level.
bug #11212: Marshalling bug - code pointer in struct marshalled to unmanaged becomes invalid
Submitter: | Ilyak <Ilyak> | ||
Submitted: | Sat 04 Dec 2004 08:04:08 AM UTC | ||
Category: | None | Severity: | 3 - Normal |
Item Group: | None | Status: | None |
Privacy: | Public | Assigned to: | None |
Open/Closed: | Open |
Sun 12 Dec 2004 09:47:19 AM UTC, comment #3: |
Ilyak <Ilyak> |
Sun 12 Dec 2004 09:16:41 AM UTC, comment #2: I remember that when i traced this bug with gdb, i end up rith segfault when trying to execute code at something like 0x00000006. |
Ilyak <Ilyak> |
Sat 11 Dec 2004 02:45:40 PM UTC, comment #1: I added WriteLines for cbi.callback in the code and this is what it threw up.
|
Gopal.V <t3rmin4t0r> |
Sat 04 Dec 2004 08:04:08 AM UTC, original submission:
There is an example that shows problem: If i have a struct with Delegate in it, and i pass ref ThisStruct to unmanaged method twice, on second pass Delegate becomes invalid and ilrun crashes. |
Ilyak <Ilyak> |
Depends on the following items: None found
Items that depend on this one: None found
There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.
Follows 1 latest change.
Date | Changed by | Updated Field | Previous Value | => | Replaced by |
---|---|---|---|---|---|
2004-12-04 | Ilyak | Attached File | - | Added bug.tar.gz, #1942 |
Powered by Savane 3.13-f8d8.
Corresponding source code
(gdb) run call.exe
Starting program: /usr/local/bin/ilrun call.exe
[Thread debugging using libthread_db enabled]
[New Thread 1073879904 (LWP 1429)]
First time
Proceed to emitter
Proceed to callback
Second time
Proceed to emitter
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1073879904 (LWP 1429)]
0x0000ffe9 in ?? ()
(gdb) bt
#0 0x0000ffe9 in ?? ()
#1 0x405fb675 in EmitCallback () from /home/ilyak/bug/libcall.so
#2 0x080d78d3 in ffi_call_SYSV () at src/x86/sysv.S:59
#3 0x080d7899 in ffi_raw_call (cif=0x0, fn=0x405fb658 <EmitCallback>,
rvalue=0x13, fake_avalue=0xffe9) at src/x86/ffi.c:515
#4 0x08094b8e in _ILCVMInterpreter (thread=0x8157e70) at cvm_call.c:889
#5 0x0804c3d8 in _ILCallMethod (thread=0x8157e70, method=0x40296578,
unpack=0x804c25c <_ILCallUnpackVResult>, result=0xbffff710, isCtor=0,
_this=0x0, pack=0x804bfa4 <_ILCallPackVParams>, userData=0xbffff720)
at call.c:706
#6 0x0804c6ad in ILExecThreadCallV (thread=0x8157e70, method=0x40296578,
result=0xbffff710, args=0xbffff720) at call.c:928
#7 0x0804bb6c in main (argc=2, argv=0xbffff7d4) at ilrun.c:494
Not quite a NULL, while sure this is not a real pointer :)