delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2004/03/21/12:00:24

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/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
Date: Sun, 21 Mar 2004 12:00:11 -0500
From: Christopher Faylor <cgf-no-personal-reply-please AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: sigfe/pthread bug on Win95 [Was: Re: Also 20040306 snapshot crashes in Win95]
Message-ID: <20040321170011.GD27006@redhat.com>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
References: <3 DOT 0 DOT 5 DOT 32 DOT 20040321093639 DOT 007f6730 AT verizon DOT net>
Mime-Version: 1.0
In-Reply-To: <3.0.5.32.20040321093639.007f6730@verizon.net>
User-Agent: Mutt/1.4.1i

On Sun, Mar 21, 2004 at 09:36:39AM -0500, Pierre A. Humblet wrote:
>There has been a report of a cygwin crash on Win95
>
>http://www.cygwin.com/ml/cygwin/2004-03/msg00507.html
>
>CYGWIN_95-4.0 erg 1.5.10(0.112/4/2) 2004-03-19 20:04 i586 unknown unknown
>Cygwin
>
>Gnuchess is a fairly simple program, so I looked into it.
>It uses pthreads and creates a thread that reads the input.
>This threads crashes almost immediately.
>
>input.c:  pthread_create(&input_thread, NULL, input_func, NULL);
>
>void *input_func(void *arg __attribute__((unused)) )
>{
>  char prompt[MAXSTR] = "";
>
>  while (!(flags & QUIT)) {
>    if (!(flags & XBOARD)) {
>      sprintf(prompt,"%s (%d) : ", 
>              RealSide ? "Black" : "White", 
>              (RealGameCnt+1)/2 + 1 );
>    }
>
> 
>gdb session after break at input_func
>*************************************
>123       while (!(flags & QUIT)) {
>(gdb) n
>124         if (!(flags & XBOARD)) {
>(gdb) n
>125           sprintf(prompt,"%s (%d) : ",
>(gdb) stepi
>0x00429950 in sprintf ()
>(gdb) stepi
>0x61091eda in _sigfe_sprintf ()
>    at ../../../../src/winsup/cygwin/cygserver.h:82
>82        ssize_t error_code () const { return _header.error_code; };
>Current language:  auto; currently c++
>(gdb) stepi
>0x61091edf in _sigfe_sprintf ()
>    at ../../../../src/winsup/cygwin/cygserver.h:82
>82        ssize_t error_code () const { return _header.error_code; };
>(gdb) stepi
>0x61090890 in _sigfe () at ../../../../src/winsup/cygwin/cygserver.h:82
>82        ssize_t error_code () const { return _header.error_code; };
>
>(gdb) stepi
>0x61090891      82        ssize_t error_code () const { return
>_header.error_code; };
><snip>
>
>0x610908ca      82        ssize_t error_code () const { return
>_header.error_code; };
>(gdb) stepi
>0x610908ce      82        ssize_t error_code () const { return
>_header.error_code; };
>(gdb) stepi
>
>Program received signal SIGSEGV, Segmentation fault.
>0x610908ce in _sigfe () at ../../../../src/winsup/cygwin/cygserver.h:82
>82        ssize_t error_code () const { return _header.error_code; };
>
>(gdb) disas 0x610908ca 0x610908de
>Dump of assembler code from 0x610908ca to 0x610908de:
>0x610908ca <_sigfe+58>: xchg   %edx,0xc(%esp,1)
>0x610908ce <_sigfe+62>: mov    %edx,(%eax)
>0x610908d0 <_sigfe+64>: incl   0xfffffbf4(%ebx)
>0x610908d6 <_sigfe+70>: decl   0xfffffbfc(%ebx)
>0x610908dc <_sigfe+76>: pop    %edx
>0x610908dd <_sigfe+77>: pop    %ebx
>End of assembler dump.
>(gdb) p $eax
>$4 = 0
>
>This is not something I know how to fix.

So, I guess it's broken for good, then.

Oh well.  I will put a notice on the main cygwin web page that it no
longer works on Windows 95.

cgf

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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019