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 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-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 stdio.h
  #include mntent.h

  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-12 Thread Chris LeBlanc
On Thu, Aug 9, 2012 at 4:55 PM, Chris LeBlanc crlebl...@gmail.com 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 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 Address 0x40010006 out of bounds, 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 Address 0x40010006 out of bounds, src0=0x0)
 at /usr/src/debug/cygwin-1.7.16-1/newlib/libc/string/strcpy.c:86
 dst = 0x40010006 Address 0x40010006 out of bounds
 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/



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 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 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/