Re: XWin.exe segmentation fault on Windows 7

2012-08-14 Thread Corinna Vinschen
On Aug 14 16:41, Chris LeBlanc wrote:
> > Now the question is, if the same problem occurs, why?  Please paste
> > the contents of /etc/fstab and, if it exists, /etc/fstab.d/$USER
> > into your reply.
> 
> Thanks for the information, I think we're getting closer to finding the 
> problem.
> 
> /etc/fstab doesn't have anything in it apart from comments, and the
> /etc/fstab.d directory is empty.
> 
> Here is the output from the mount command:
> C:/cygwin/bin on /usr/bin type ntfs (binary,auto)
> C:/cygwin/lib on /usr/lib type ntfs (binary,auto)
> C:/cygwin on / type ntfs (binary,auto)
> C: on /cygdrive/c type ntfs (binary,posix=0,user,noumount,auto)
> E: on /cygdrive/e type ntfs (binary,posix=0,user,noumount,auto)
> Segmentation fault (core dumped)
> 
> It fails when it reaches a network share.  Looking at them in Windows
> Explorer, they're all NcFsd network shares ...

That was the essential information to find the bug.  For the last
Cygwin version I added support for the new ReFS filesystem and I
changed one datastructure without also changing another, closely
related datastructure.  The bug would have shown for other FSes
as well, but it would only have resulted in printing the wrong
FS type in mount.  Only for NcFsd it was bound to crash.

This will be fixed in the (soon to come) Cygwin 1.7.17.


Thanks,
Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader  cygwin AT cygwin DOT com
Red Hat

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://x.cygwin.com/docs/
FAQ:   http://x.cygwin.com/docs/faq/



Re: XWin.exe segmentation fault on Windows 7

2012-08-13 Thread Corinna Vinschen
On Aug 13 13:17, Jon TURNEY wrote:
> On 13/08/12 05:23, Chris LeBlanc wrote:
> >I compiled xorg with debugging from the source packages, and that
> >shows the same behaviour.  I can step through the debugger, but the
> >output is the same as what Jon found in the previous email, failing on
> >the call to strcpy().  I've logged the gdb output to a file and can
> >attach it if anyone is interested.
> 
> Yes, please.
> 
> Assuming for the moment this is a defect in the cygwin DLL, it would
> be interesting to see the output of 'mount'.  You might also want to
> install the cygwin-debuginfo package and see if you can debug the
> problem in getmntent().
> 
> It might be worthwhile installing the latest cygwin snapshot [1] to
> see if the problem still exists.
> 
> [1] http://cygwin.com/snapshots/

First step is to take XWin out of the picture.  If this is a generic
problem with getmntent, then a standard getmntent loop should show the
same behaviour:

  #include 
  #include 

  int main ()
  {
FILE *fp;
struct mntent *mnt;

fp = setmntent ("/etc/mtab", "r");
while ((mnt = getmntent (fp)) != NULL)
  printf ("name: <%s> mount point: <%s> type: %s flags: <%s>\n",
  mnt->mnt_fsname, mnt->mnt_dir, mnt->mnt_type, mnt->mnt_opts);
endmntent (fp);
return 0;
  }

Now the question is, if the same problem occurs, why?  Please paste
the contents of /etc/fstab and, if it exists, /etc/fstab.d/$USER
into your reply.


Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader  cygwin AT cygwin DOT com
Red Hat

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://x.cygwin.com/docs/
FAQ:   http://x.cygwin.com/docs/faq/



Re: XWin.exe segmentation fault on Windows 7

2012-08-13 Thread Jon TURNEY

On 13/08/12 05:23, Chris LeBlanc wrote:

I compiled xorg with debugging from the source packages, and that
shows the same behaviour.  I can step through the debugger, but the
output is the same as what Jon found in the previous email, failing on
the call to strcpy().  I've logged the gdb output to a file and can
attach it if anyone is interested.


Yes, please.

Assuming for the moment this is a defect in the cygwin DLL, it would be 
interesting to see the output of 'mount'.  You might also want to 
install the cygwin-debuginfo package and see if you can debug the 
problem in getmntent().


It might be worthwhile installing the latest cygwin snapshot [1] to see 
if the problem still exists.


[1] http://cygwin.com/snapshots/


--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://x.cygwin.com/docs/
FAQ:   http://x.cygwin.com/docs/faq/



Re: XWin.exe segmentation fault on Windows 7

2012-08-12 Thread Chris LeBlanc
On Thu, Aug 9, 2012 at 4:55 PM, Chris LeBlanc  wrote:
> Hi Mark,
>
>> As Jon's reference [1] explains, merely disabling the BLODA might not be
>> sufficient.  You may have to completely uninstall it to be rid of its 
>> effects.
>>
>> *Especially* if it has processes that re-launch themselves on kill; I mean, 
>> how
>> can you know whether you've ruled this particular BLODA out as an explanation
>> for the issue unless you've completely uninstalled it?
>> HTH,
>

In an effort to track down this bug, we tried completely uninstalling
the virus scanner.  XWin.exe is still failing in the same way (even
after another reinstall and rebase).

I compiled xorg with debugging from the source packages, and that
shows the same behaviour.  I can step through the debugger, but the
output is the same as what Jon found in the previous email, failing on
the call to strcpy().  I've logged the gdb output to a file and can
attach it if anyone is interested.

This machine has previously had the NoMachine client installed on it.
I noticed that it used it's own copy of cygwin1.dll, so I uninstalled
this program.  Is there any chance that this is still causing a
problem, even though it's been uninstalled?

Cheers,
Chris

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://x.cygwin.com/docs/
FAQ:   http://x.cygwin.com/docs/faq/



Re: XWin.exe segmentation fault on Windows 7

2012-08-08 Thread Chris LeBlanc
Hi Mark,

> As Jon's reference [1] explains, merely disabling the BLODA might not be
> sufficient.  You may have to completely uninstall it to be rid of its effects.
>
> *Especially* if it has processes that re-launch themselves on kill; I mean, 
> how
> can you know whether you've ruled this particular BLODA out as an explanation
> for the issue unless you've completely uninstalled it?
> HTH,

I agree completely.  My preference was to try a reinstall and go from
there since we know Cygwin works fine on a clean Windows 7 install.
Unfortunately our sysadmins don't want to reinstall the OS.

Being a corporate environment there's no chance of running this
machine without the approved virus scanner running.  I'll talk to the
them again and see if they will temporarily uninstall McAfee so we can
see if it's the cause of the problem.

Cheers,
Chris

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://x.cygwin.com/docs/
FAQ:   http://x.cygwin.com/docs/faq/



Re: XWin.exe segmentation fault on Windows 7

2012-08-08 Thread Mark Geisert
> The only software I found on her computer that is also on that list
> was the McAfee virus scanner.  We disabled this and still saw the
> problem (though I noticed the process was still running, and
> re-launched itself if you killed it!).

As Jon's reference [1] explains, merely disabling the BLODA might not be
sufficient.  You may have to completely uninstall it to be rid of its effects. 

*Especially* if it has processes that re-launch themselves on kill; I mean, how
can you know whether you've ruled this particular BLODA out as an explanation
for the issue unless you've completely uninstalled it?
HTH,

..mark



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://x.cygwin.com/docs/
FAQ:   http://x.cygwin.com/docs/faq/



Re: XWin.exe segmentation fault on Windows 7

2012-08-08 Thread Chris LeBlanc
Hi Jon,

Thanks for the excellent response.

> Given you were getting fork problems before this upgrade, this might well be a
> problem with some other software interfering with cygwin's operation. So you
> should take a look at [1], and probably try running XWin with CYGWIN including
> detect_bloda [2]

The only software I found on her computer that is also on that list
was the McAfee virus scanner.  We disabled this and still saw the
problem (though I noticed the process was still running, and
re-launched itself if you killed it!).  I also tried uninstalling some
other software that might have been interfering; such as DVD burning
software, etc. but still saw the problem (even after a reboot and
rebaseall).

I then set the environment variable CYGWIN=detect_bloda  and launched
a bash instance but didn't see any messages about BLODA detected.
This is a nice feature, I'll be sure to use it if I find any more
forking issues in the future.

Our IT staff is pretty good at quick reinstalls, so I've asked them to
reinstall Windows 7 on this machine.  I'm hopeful this will solve the
problem, but if not I'll continue with debugging XWin.

Thanks,
Chris

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://x.cygwin.com/docs/
FAQ:   http://x.cygwin.com/docs/faq/



Re: XWin.exe segmentation fault on Windows 7

2012-08-08 Thread Jon TURNEY
On 08/08/2012 05:51, Chris LeBlanc wrote:
> I'm trying to help a coworker get Cygwin running on her Windows 7
> (64b) machine, but we're seeing a segmentation fault with XWin.exe.
> Previous versions of X11 worked fine on this machine, but recently it
> has been unable to fork processes.  It's been giving the error "fork:
> child -1 - forked process died unexpectedly ...", which is why I've
> been trying to upgrade to the most recent version of Cygwin.

Thanks for the detailed bug report.

Given you were getting fork problems before this upgrade, this might well be a
problem with some other software interfering with cygwin's operation. So you
should take a look at [1], and probably try running XWin with CYGWIN including
detect_bloda [2]

> Any advice on how to get more debug info?  How hard is it to build
> XWin from source?  If it's a minor strcpy() issue it could be a pretty
> easy fix.  Any other advice?

Instructions on building the X server from source are in [3], but with the
debug info package installed you have source and symbols, so you should be
able to set a breakpoint on main and step through the code anyhow.

>   0 [main] XWin 6164 exception::handle: Exception: STATUS_ACCESS_VIOLATION
> 454 [main] XWin 6164 open_stackdumpfile: Dumping stack trace to
> XWin.exe.stackdump
> 
> Program received signal SIGSEGV, Segmentation fault.
> strcpy (dst0=0x40010006 , src0=0x0)
> at /usr/src/debug/cygwin-1.7.16-1/newlib/libc/string/strcpy.c:86
> 86while (!DETECTNULL(*aligned_src))
> (gdb) bt full
> #0  strcpy (dst0=0x40010006 , src0=0x0)
> at /usr/src/debug/cygwin-1.7.16-1/newlib/libc/string/strcpy.c:86
> dst = 0x40010006 
> src = 0x0
> aligned_dst = 0x40010006
> aligned_src = 0x28a026
> #1  0x751d2ad6 in OutputDebugStringA () from
> /cygdrive/c/Windows/syswow64/KERNELBASE.dll
> No symbol table info available.
> #2  0x40010006 in ?? ()
> No symbol table info available.
> #3  0x in ?? ()
> No symbol table info available.
> (gdb)

This stack trace looks highly suspicious:
- The presence of the invalid address 0x40010006 as src for strcpy and in the
backtrace
- I think cygwin is supposed to notice it is being debugged and give control
to the debugger and not write a stackdump file
- I don't think OutputDebugStringA() should ever end up calling cygwin's 
strcpy()

So all this suggests to me some kind of stack corruption has happened.

> Output from XWin.exe.stackdump:
> Exception: STATUS_ACCESS_VIOLATION at eip=61129F8B
> eax=0028D624 ebx= ecx= edx= esi=0028D624 edi=0028AB5C
> ebp=0028A968 esp=0028A95C program=C:\cygwin\bin\XWin.exe, pid 6164, thread 
> main
> cs=0023 ds=002B es=002B fs=0053 gs=002B ss=002B
> Stack trace:
> Frame Function  Args
> 0028A968  61129F8B  (0028D624, , 0028FF14, 771170D5)
> 0028AA28  6108E2BA  (0028AA58, 611DF23B, 60FE8510, 0068)
> 0028AB78  6108EB57  (60FE000C, 0005, 0028ABC4, 005C2DE9)
> 0028AB98  61091F56  (005C2DCE, 005C2DCC, , )
> 0028ABF8  610D5F05  (6C34, 0001, 0028FD24, 0002)
> 0028AC38  00528F43  (0002, 0028AC60, 800280E8, 8003A441)
> 0028ACF8  61007535  (, 0028CD78, 61006B20, )
> End of stack trace

Processing this with "awk '/^[0-9]/{print $2}' XWin.exe.stackdump | addr2line
-asf -e /usr/bin/cygwin1.dll", and cleaning up the output by hand a bit, 
gives...

0x61129f8b  strcpy  strcpy.c:86
0x6108e2ba  fillout_mntent  mount.cc:1636
0x6108eb57  cygdrive_getmntent  mount.cc:1720
0x61091f56  getmntent   mount.cc:1900
0x610d5f05  ??  ??:0
0x00528f43  mainmain.c:145
0x61007535  _Z10dll_crt0_1Pvdcrt0.cc:982

... which looks a bit more reasonable, and suggests something in the cygwin
DLL is exploding when XWin uses getmntent() in winCheckMount() to check for
FAT and textmode mounts.

[1] http://cygwin.com/faq/faq.using.html#faq.using.bloda
[2] http://cygwin.com/ml/cygwin/2012-02/msg00797.html
[2] http://x.cygwin.com/docs/cg/

-- 
Jon TURNEY
Volunteer Cygwin/X X Server maintainer

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://x.cygwin.com/docs/
FAQ:   http://x.cygwin.com/docs/faq/



XWin.exe segmentation fault on Windows 7

2012-08-07 Thread Chris LeBlanc
Hi,

I'm trying to help a coworker get Cygwin running on her Windows 7
(64b) machine, but we're seeing a segmentation fault with XWin.exe.
Previous versions of X11 worked fine on this machine, but recently it
has been unable to fork processes.  It's been giving the error "fork:
child -1 - forked process died unexpectedly ...", which is why I've
been trying to upgrade to the most recent version of Cygwin.

Here's a summary of what I've tried today:

-I cleaned up all traces of Cygwin, including all files under the
install directory and all registry keys.

-I Installed the latest version of Cygwin, using setup.exe from
cygwin.com.  I installed the base system plus gcc4, xinit, and
libX11-devel.  No problems with install, and the normal Cygwin
terminal comes up normally.

-the "startx" script won't launch, it gives the following error:
xinit: giving up
xinit: unable to connect to X server" Connection refused
xinit: server error

-It writes to XWin.exe.stackdump (see below).

-As per http://x.cygwin.com/devel/backtrace.html I installed the
tar.bz2 file for version 1.12.3-1 of xorg-server-debuginfo and ran
"gdb --args /usr/bin/XWin -multiwindow".  Here is the output,
unfortunately it seems to be missing symbols for the most important
part (see below).  It's indicating a problem with strcpy() copying
from a NULL source to an address that is out of bounds (presumably
both could cause a segfault), but unfortunately I can't see a line
number or filename for the code that causes this issue.

I tried reinstalling all of the packages, rebooting, and
rebaseall-ing, but none of this has fixed the problem.

Any advice on how to get more debug info?  How hard is it to build
XWin from source?  If it's a minor strcpy() issue it could be a pretty
easy fix.  Any other advice?

Thanks in advance for any help you can offer.

Cheers,
Chris




Output from XWin.exe.stackdump:
Exception: STATUS_ACCESS_VIOLATION at eip=61129F8B
eax=0028D624 ebx= ecx= edx= esi=0028D624 edi=0028AB5C
ebp=0028A968 esp=0028A95C program=C:\cygwin\bin\XWin.exe, pid 6164, thread main
cs=0023 ds=002B es=002B fs=0053 gs=002B ss=002B
Stack trace:
Frame Function  Args
0028A968  61129F8B  (0028D624, , 0028FF14, 771170D5)
0028AA28  6108E2BA  (0028AA58, 611DF23B, 60FE8510, 0068)
0028AB78  6108EB57  (60FE000C, 0005, 0028ABC4, 005C2DE9)
0028AB98  61091F56  (005C2DCE, 005C2DCC, , )
0028ABF8  610D5F05  (6C34, 0001, 0028FD24, 0002)
0028AC38  00528F43  (0002, 0028AC60, 800280E8, 8003A441)
0028ACF8  61007535  (, 0028CD78, 61006B20, )
End of stack trace



$ gdb --args /usr/bin/XWin -multiwindow
GNU gdb (GDB) 7.3.50.20111026-cvs (cygwin-special)
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-cygwin".
For bug reporting instructions, please see:
...
Reading symbols from /usr/bin/XWin...Reading symbols from
/usr/lib/debug/usr/bin/XWin.exe.dbg...done.
done.
(gdb) r
Starting program: /usr/bin/XWin -multiwindow
[New Thread 6164.0x1424]
[New Thread 6164.0x1380]
  0 [main] XWin 6164 exception::handle: Exception: STATUS_ACCESS_VIOLATION
454 [main] XWin 6164 open_stackdumpfile: Dumping stack trace to
XWin.exe.stackdump

Program received signal SIGSEGV, Segmentation fault.
strcpy (dst0=0x40010006 , src0=0x0)
at /usr/src/debug/cygwin-1.7.16-1/newlib/libc/string/strcpy.c:86
86while (!DETECTNULL(*aligned_src))
(gdb) bt full
#0  strcpy (dst0=0x40010006 , src0=0x0)
at /usr/src/debug/cygwin-1.7.16-1/newlib/libc/string/strcpy.c:86
dst = 0x40010006 
src = 0x0
aligned_dst = 0x40010006
aligned_src = 0x28a026
#1  0x751d2ad6 in OutputDebugStringA () from
/cygdrive/c/Windows/syswow64/KERNELBASE.dll
No symbol table info available.
#2  0x40010006 in ?? ()
No symbol table info available.
#3  0x in ?? ()
No symbol table info available.
(gdb)

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://x.cygwin.com/docs/
FAQ:   http://x.cygwin.com/docs/faq/