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 From: "Chris January" To: "Boris Schaeling" Cc: "Cygwin AT Cygwin DOT Com" Subject: RE: Bug in g++: Testcase exits with segmentation fault Date: Tue, 14 Jan 2003 17:01:15 -0000 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal In-Reply-To: X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106 Importance: Normal > The testcase attached to this mail compiled with g++ 2.95.3-10 or g++ 3.2 > 20020927 under Cygwin 1.3.18 exits with segmentation fault. It seems to be > an error in g++ as the testcase doesn't work under Linux either. > Can anyone > help or do I have to report this error to the GCC website? > > BTW I found two ways to make the testcase work: > 1) Change line 64 (and 70 respectively) and use "observer > *Observer" instead > of "std::list". I compiled the testcase with STLport-4.5.3 under > Linux to see if it's a bug in the Standard Library but got again > segmentation fault. > 2) Remove line 75 which is a simple "poll(NULL, 0, 2000)". It > works without > this line but I don't know why. The bug is actually in your testcase. The line: Observers.push_back(observer()); creates a temporary observer object. So when the line observer::observer() { Select.give(this); } calls give(), it leaves a dangling pointer. Chris -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/