X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00,SPF_PASS X-Spam-Check-By: sourceware.org Message-ID: <4A8D9F58.20707@gmail.com> Date: Thu, 20 Aug 2009 20:09:12 +0100 From: Dave Korn User-Agent: Thunderbird 2.0.0.17 (Windows/20080914) MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: [1.7.0-60] crash on exit on c++ program (octave) References: <206392 DOT 72071 DOT qm AT web25503 DOT mail DOT ukl DOT yahoo DOT com> In-Reply-To: <206392.72071.qm@web25503.mail.ukl.yahoo.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: 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 Marco Atzeri wrote: > Hi, > I was building the latest octave-3.2.2 on cygwin-1.7.0-60 > and I found that the program crash on exit. > A single command "exit" is enough to core dump the program; for the rest it is working as expected and pass all the build test. > > Also the previous octave-3.2.0 that I build/released > on 29th June (probably 1.7.0-50 time) is crashing with > cygwin 1.7.0-60. > Testing previous cygwin versions I found that octave-3.2.0 > works fine with 1.7.0-52 and crashes with 1.7.0-56. > > Could Dave's change mentioned here > http://cygwin.com/snapshots/winsup-changelog-20090724-20090801 > be the cause ? The problem is related to termination sequence. octave calls dlclose() for all the modules it loads, from octave_dld_function::~octave_dld_function() at shutdown time. The modules in question have already had their dtors run, and dlclose() causes them to be run a second time. We should probably make running the dtors idempotent, or unlink each dll from the dll_list as we go. I need to think about this for a little while, more later. cheers, DaveK -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple