X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW X-Spam-Check-By: sourceware.org Message-ID: <4E64BE96.5020107@gmail.com> Date: Mon, 05 Sep 2011 14:20:38 +0200 From: Marco atzeri 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 Subject: debugging SIGSEV on pclose Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes 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 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)]; 4025 4026 if (fh->get_device () != FH_PIPEW && fh->get_device () != FH_PIPER) 4027 { 4028 set_errno (EBADF); 4029 return -1; 4030 } the pclose is relative to a single popen call: Breakpoint 1, popen ( command=0x207e969c "/usr/bin/gs -dQUIET -dNOPAUSE -dBATCH -dSAFER -sDEVICE=png16m -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -r150x150 -dEPSCrop -sOutputFile=fltk.png -", in_type=0x1a45b18 "w") at /pub/cygwin/cvs/src_new/winsup/cygwin/syscalls.cc:3920 3920 { and the SIGSEV seems to happen inside NTDLL Program received signal SIGSEGV, Segmentation fault. 0x7c90e514 in ntdll!LdrAccessResource () from /cygdrive/c/WINDOWS/system32/ntdll.dll (gdb) bt #0 0x7c90e514 in ntdll!LdrAccessResource () from /cygdrive/c/WINDOWS/system32/ntdll.dll #1 0x7c90df5a in ntdll!ZwWaitForSingleObject () from /cygdrive/c/WINDOWS/system32/ntdll.dll #2 0x7c8025db in WaitForSingleObjectEx () from /cygdrive/c/WINDOWS/system32/kernel32.dll #3 0x0000046c in ?? () #4 0x00000000 in ?? () (gdb) At this point I am really lost as I have no clue of the popen/pclose internal interaction, so any suggestion is really appreciated thanks 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