This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: debugging SIGSEV on pclose


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]