X-Spam-Check-By: sourceware.org Message-ID: <4473C5C9.50104@cygwin.com> Date: Tue, 23 May 2006 22:32:41 -0400 From: "Larry Hall (Cygwin)" Reply-To: cygwin AT cygwin DOT com User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8) Gecko/20051223 Fedora/1.5-0.2.fc4.remi Thunderbird/1.5 Mnenhy/0.7.3.0 MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: 1.15.19 dlopen() dies with no dlerror() References: <4472AF3B DOT 2050300 AT kleckner DOT net> <4473B387 DOT 2020905 AT kleckner DOT net> In-Reply-To: <4473B387.2020905@kleckner.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Jim Kleckner wrote: > Jim Kleckner wrote: >> Michael McKerns wrote: >>> Yes, yes... I've not given you enough information... >>> ... >>> See: >>> http://cygwin.com/cygwin-ug-net/dll.html >>> http://cygwin.com/faq.html#faq.programming.dll-relocatable >>> >> I'm seeing a similar problem with python and 1.5.19 and also tried the >> snapshot of 22-May. >> >> CYGWIN_NT-5.1 kleckner2 1.5.20s(0.155/4/2) 20060522 00:51:23 i686 Cygwin >> >> A simple test case doesn't fail in dlopen(). >> >> My code is not simple but has been working prior to the most recent >> update (which also updated python and other packages). >> A downrev of python does not make the problem go away. If I downrev >> cygwin, I get complaints about missing entry points. >> >> What do you recommend as the best way to isolate this? > > I tried using "prev" with setup.exe but that didn't make the problem go > away. > > A simple test case with python access to a trivial function works fine > (can supply if anyone wants). > The complex dll that used to work simply doesn't return from dlopen. > > I downloaded the 20060522 snapshot with debug symbols to get a backtrace > with GDB. > GDB says there is a seg fault and somehow this is preventing any > information from reaching dlerror(). > Without the dlerror() info, it is hard to figure out what needs to > change with the dll. > It appears that some constructors are having trouble. > > Let me know if there is some single stepping that could be helpful. > > ==================== Trivial program to use dlopen on a non-trivial dll > > #include > #include > > int main( int argc, char **argv) > { > fprintf( stderr, "Error: %s\n", dlerror()); > void *dlp = dlopen("_pycode.dll", RTLD_NOW); > fprintf( stderr, "Error: %s\n", dlerror()); > return 0; > } > > ==================== GDB Traceback > > $ gdb a.exe > GNU gdb 6.3.50_2004-12-28-cvs (cygwin-special) > Copyright 2004 Free Software Foundation, Inc. > GDB is free software, covered by the GNU General Public License, and you > are > welcome to change it and/or distribute copies of it under certain > conditions. > Type "show copying" to see the conditions. > There is absolutely no warranty for GDB. Type "show warranty" for details. > This GDB was configured as "i686-pc-cygwin"... > (gdb) run > Starting program: .../Programs/a.exe > Error: (null) > > Program received signal SIGSEGV, Segmentation fault. > 0x610b1ff8 in pthread_key_create () from /usr/bin/cygwin1.dll > (gdb) add-symbol-file /bin/cygwin1-20060522.dbg > add symbol table from file "/bin/cygwin1-20060522.dbg" at > (y or n) y > Reading symbols from /bin/cygwin1-20060522.dbg...warning: no loadable > sections found in added symbol-file /bin/cygwin1-20060522.dbg > done. > Current language: auto; currently c++ > (gdb) bt > #0 0x610b1ff8 in pthread_key_create (key=0x6622f8, destructor=0) at ^^^^^^^^^^^^^^^^^^^ Known issue already fixed in the Cygwin snapshot and in GDB's CVS. This is not fatal. Just continue until you stop seeing this complaint. -- Larry Hall http://www.rfk.com RFK Partners, Inc. (508) 893-9779 - RFK Office 838 Washington Street (508) 893-9889 - FAX Holliston, MA 01746 -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/