[Mono-dev] glibc detected *** mono: double free or corruption
stapostol at gmail.com
Tue Oct 16 15:58:19 EDT 2007
> C-code typically expects the string array to end with a null element, I
> can't see that you're doing that in your code.
> Otherwise you might want to try to create the array manually using the
> System.Runtime.Interop.Marshal class (use AllocHGlobal to create the
> memory, then StringTo* to create unmanaged versions of the string) to
> see if
> that works.
I thought that the default marshaller took care of that issue? According
to MSDN (http://msdn2.microsoft.com/en-us/library/75dwhxf7(VS.71).aspx), a
System.String is converted to a null terminated array of chars by default
(I assume this also happens to arrays of strings). In any case, adding a
\0 does not take care of the issue and, besides, the same code runs fine
under .Net - which leads me to believe that the error lies somewhere else
Now that I took a look again, it seems that my error message is a little
different: "*** glibc detected *** mono: corrupted double-linked list:
0x0000000001bed250 ***". Unfortunately, I don't have time to dig further
right now, but I'll try to isolate the issue at some point in the future.
- Stephen A
More information about the Mono-devel-list