Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Message-ID: <3AA6A73D.311560E1@mip.sdu.dk> Date: Wed, 07 Mar 2001 22:25:17 +0100 From: =?iso-8859-1?Q?Ren=E9=20M=F8ller?= Fonseca Organization: MIP, University of Southern Denmark X-Mailer: Mozilla 4.76 [en] (Windows NT 5.0; U) X-Accept-Language: en MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: CYGWIN - GCC - C++ - multi-threaded apps - ACCESS VIOLATION Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Hi, I'm currently trying to make working multi threaded C++ applications that utilize the win32 api directly (I do not use the POSIX threads implementation). I'm getting ACCESS VIOLATIONs (win32 exception 0xc0000005) nearly on every run of my applications. Looking at the assembler code generated from the C++ code it seems to me that the threads use a shared table for exception handling. At some point an entry of the table is read and dereferenced a number of times and finally . Its the dereference that allways results in the ACCESSS VIOLATION (mostly a dereference of a zero pointer but not allways). Can anyone confirm or deny this? Additional notes: 1. The problem seems to occur only at the end of a scope. 2. The problem gets worse if I instantiate temporary objects on the stack. 3. The problem seems to disappear when the threads do not call the win32 api (calling Sleep(0) will most likely result in an access violation). Can I do something to make the C++ code multi thread safe by providing each thread context its own table for exception handling (if thats the problem) by calling some functions in libgcc.a at the entry point of the threads. Are there anyone out there who have built working multi threaded C++ apps in the cygwin environment? I have tried different versions of GCC 2.95... (all based on 19991024) including prebuilt MINGW distributions and have found no differences in the behaviour. I'm running similar apps under Linux (using "gcc version 2.96 20000731 (Red Hat Linux 7.0)") without experiencing any segmentation faults. Hope, somebody can help me out. Thanks, René -- Want to unsubscribe from this list? Check out: http://cygwin.com/ml/#unsubscribe-simple