[Mono-dev] glibc detected *** mono: double free or corruption

Stephen A 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  
> array
> memory, then StringTo* to create unmanaged versions of the string) to  
> see if
> that works.
>
> Rolf
>

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  
entirely.

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 mailing list