[Mono-list] dlopen problem on Mono 2.4.4
batuakan
batuakan at sabanciuniv.edu
Thu Jan 27 01:43:15 EST 2011
Hello,
I have been trying to write a simple c# program to dynamically load a shared
object file under mono 2.4.4, in linux environment. My call to dlload
function ends up a SIGSEGV and the application exits I tried with several
shared objects, the system seems to be able find them, but still unable to
load. What might be the problem?
Thanks
Batu
c# source code
-----------------
using System;
using System.ComponentModel;
using System.Runtime.InteropServices;
namespace swi
{
class MainClass
{
[DllImport("libdl.so", CallingConvention = CallingConvention.Cdecl,
CharSet = CharSet.Auto)]
private static extern IntPtr dlopen([In] string filename, [In] int flags);
public static void Main (string[] args)
{
IntPtr handle = dlopen("libc.so.6", 0x02);
if (handle == null)
Console.WriteLine("Unable to load shared object");
else
Console.WriteLine("Shared object successfully loaded");
}
}
}
Application Output
---------------------
Module loaded: swi, Version=1.0.4044.28138, Culture=neutral,
PublicKeyToken=null.
Stacktrace:
at (wrapper managed-to-native) swi.MainClass.dlopen (string,int) <0x00004>
at (wrapper managed-to-native) swi.MainClass.dlopen (string,int)
<0xffffffff>
at swi.MainClass.Main (string[]) [0x00000] in
/home/batuakan/Projects/swi/Main.cs:16
at (wrapper runtime-invoke) swi.MainClass.runtime_invoke_void_object
(object,intptr,intptr,intptr) <0xffffffff>
Native stacktrace:
/usr/bin/mono() [0x80ca6e4]
/usr/bin/mono() [0x80f6893]
[0xb77cd410]
/lib/ld-linux.so.2(+0x11688) [0xb77df688]
/usr/lib/libdl.so(+0xc0b) [0xb6ff0c0b]
/lib/ld-linux.so.2(+0xd7e6) [0xb77db7e6]
/usr/lib/libdl.so(+0x109c) [0xb6ff109c]
/usr/lib/libdl.so(dlopen+0x41) [0xb6ff0b41]
[0xb6ff53a9]
[0xb6ff52f9]
[0xb6ff525b]
/usr/bin/mono(mono_runtime_exec_main+0xde) [0x8113b1e]
/usr/bin/mono(mono_runtime_run_main+0x15a) [0x811429a]
/usr/bin/mono(mono_debugger_main+0x77) [0x80f9e67]
/usr/bin/mono(mono_main+0x150c) [0x80b316c]
/usr/bin/mono() [0x805ad25]
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6) [0xb7551bd6]
/usr/bin/mono() [0x805ac61]
=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
Thread 2 exited.
Thread 3 exited.
Thread 1 exited.
Process 1 exited.
Target exited.
--
View this message in context: http://mono.1490590.n4.nabble.com/dlopen-problem-on-Mono-2-4-4-tp3241535p3241535.html
Sent from the Mono - General mailing list archive at Nabble.com.
More information about the Mono-list
mailing list