Hello,   it seems that a child process does not see the initialization of a static const std::string variable if it is defined in a dll. Instead this corrupt variable lead to a STATUS_ACCESS_VIOLATION.   The following 4 example files demonstrate this behaviour:   1) dllif.h:      (define the dll's interface) #include class cTestIf { public:   virtual std::string get() = 0; };     2) dll.h:        (member variable t will cause the child's stackdump) #include "dllif.h" class cTest : public cTestIf { public:   static const std::string t;   virtual std::string get() {       return cTest::t;   } };     3) dll.cpp      (definition of dll including initializer of t) #include "dll.h" const std::string cTest::t = "Test";   extern "C" cTest* getTest() {    return new cTest(); }     4) test.cpp    (fork child, load dll and print cTest::t both in parent and child) #include #include #include "dllif.h" #include   typedef cTestIf *(*tFunc)();   void load(const char *p) {   void* lib = dlopen("libdll.dll", RTLD_NOW|RTLD_GLOBAL);   tFunc func = (tFunc)dlsym(lib, "getTest");   cTestIf* test = func();   std::cerr << p << ":" << test->get() << "\n"; }   main() {    if (fork())       load("parent");    else {       sleep(30);  // keep child alive to enable attachment from gdb       load("child");    } }       commands used to create dll and test program: g++ -g -c dll.cpp -o dll.o g++ -shared -o libdll.dll dll.o g++ -g -c test.cpp -o test.o g++ -o test test.o -L. -ldll     ./test.exe prints only 'parent:Test' - parent works as expected - and gives a test.exe.stackdump - after 30 seconds.     an example gdb session looks like: attach b load c           (needs up to 30 seconds for return) n n n s           (step into dll's cTest::get method) p t         (print cTest::t, _M_p seems to be corrupt) $1 = {static npos = ,   _M_dataplus = {> = {<__gnu_cxx::new_allocator> = {< No data fields>}, }, _M_p = 0x0}} n Program received signal SIGSEGV, Segmentation fault. 0x6c4b95be in cygstdc++-6!_ZNSsC1ERKSs () from /usr/bin/cygstdc++-6.dll    Any idea to fix or circumvent this error? Regards, Werner ___________________________________________________________ Schon gehört? WEB.DE hat einen genialen Phishing-Filter in die Toolbar eingebaut! http://produkte.web.de/go/toolbar