| delorie.com/archives/browse.cgi | search |
| X-Recipient: | archive-cygwin AT delorie DOT com |
| X-SWARE-Spam-Status: | No, hits=-2.1 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW |
| X-Spam-Check-By: | sourceware.org |
| Message-ID: | <4E68CE13.6010106@gmail.com> |
| Date: | Thu, 08 Sep 2011 16:15:47 +0200 |
| From: | Marco atzeri <marco DOT atzeri AT gmail DOT com> |
| User-Agent: | Mozilla/5.0 (Windows NT 5.1; rv:6.0.1) Gecko/20110830 Thunderbird/6.0.1 |
| MIME-Version: | 1.0 |
| To: | cygwin <cygwin AT cygwin DOT com> |
| Subject: | Re: debugging SIGSEV on pclose |
| References: | <4E64BE96 DOT 5020107 AT gmail DOT com> |
| In-Reply-To: | <4E64BE96.5020107@gmail.com> |
| X-IsSubscribed: | yes |
| Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
| List-Id: | <cygwin.cygwin.com> |
| List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
| List-Archive: | <http://sourceware.org/ml/cygwin/> |
| List-Post: | <mailto:cygwin AT cygwin DOT com> |
| List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs> |
| Sender: | cygwin-owner AT cygwin DOT com |
| Mail-Followup-To: | cygwin AT cygwin DOT com |
| Delivered-To: | mailing list cygwin AT cygwin DOT com |
On 9/5/2011 2:20 PM, Marco atzeri wrote:
> Hi,
> I am trying to identify the octave segfault, last reported on
> http://cygwin.com/ml/cygwin-announce/2011-08/msg00003.html
>
> To reproduce: run octave from xterm and at prompt
> -------------------------
> graphics_toolkit ("fltk")
> x=1:10;
> plot(x,x)
> print("fltk.png","-dpng")
> -------------------------
> the plot is built and printed as file but octave crashes.
>
>
> After builiding cygwin (cvs), octave and fltk with
> gcc-4.5.3 I was able to identify the SIGSEV in cygwin pclose.
>
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 5980.0x164c]
> pclose (fp=0x7ffdf000) at
> /pub/cygwin/cvs/src_new/winsup/cygwin/syscalls.cc:4026
> 4026 if (fh->get_device () != FH_PIPEW && fh->get_device () != FH_PIPER)
> (gdb) l
> 4021 int
> 4022 pclose (FILE *fp)
> 4023 {
> 4024 fhandler_pipe *fh = (fhandler_pipe *) cygheap->fdtab[fileno(fp)];
Answering myself while kicking the head on the wall
the SIGSEV on 4026 is obvious as fh is NULL
(gdb) p fh
$7 = (fhandler_pipe *) 0x0
(gdb) p fp
$8 = (FILE *) 0x20204f94
> 4025
> 4026 if (fh->get_device () != FH_PIPEW && fh->get_device () != FH_PIPER)
Question:
is a mistake in pclose to assume that fh could be invalid
or something is just trashing cygheap->fdtab ?
Regards
Marco
--
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
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |