🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.chess
Article #4755

gnuchess on linux

#4755
From: Tim Mann
Date: Fri, 28 Oct 1994 20:20
35 lines
2657 bytes
Last night I tried looking into all the problems I could find reported with
gnuchess running on linux.  I did this on the Summer 1994 Yggdrasil CDROM
distribution of linux.

Using gnuchess-4.0.pl73, I built gnuchessr, gnuchessx, the book, and the eco
database with no problems.  I didn't try building the other tools and
gnuchess configurations.

I tried some fairly deep searches with gnuchessr, using a couple of positions
that had previously triggered gnuchess crashes.  There were no problems.  So
tentatively, I would say that the "gnuchess exited unexpectedly" problem is
fixed in patchlevel 73.  If anyone still sees this problem in 73, please
report it to bug-gnu-chess@prep.ai.mit.edu, including the position(s) gnuchess
was searching when the crash(es) occurred.

I also tried "make test", which Thomas Heiling reported a problem with.  I did
reproduce this problem, and I also found out what is causing it.  Evidently,
on linux, applying the FIONREAD ioctl to a pipe sometimes returns a nonzero
value, whereas on other versions of Unix FIONREAD always returns 0 on pipes.
gnuchess uses this ioctl to determine whether the user has typed a command
while it was thinking, in which case it stops thinking and (if it is
gnuchess's turn) moves immediately.  Unfortunately that messes things up when
gnuchess is being fed a long stream of commands through a pipe; each test is
interrupted by the commands for the next test.

You can work around this problem by disabling the use of FIONREAD in gnuchess:
change the two "#ifdef FIONREAD" lines in dspcom.c to "#ifdef NOTDEF".  This
also disables the feature I just mentioned; you will then have to type ^C if
you want to interrupt gnuchess when it is thinking.  xboard 3.1 already
(effectively) sends these ^C's when necessary, by the way.

The gnuchess team will have to think about how to handle this problem in the
next patchlevel.

	--Tim
Technical Details
Message-ID: <9410282003.AA22974@lakeview.pa.dec.com>
Path: arc1-ca.pugleaf.net!nntp.gmd.de!xlink.net!fauern!news.th-darmstadt.de!terra.wiwi.uni-frankfurt.de!zeus.rbi.informatik.uni-frankfurt.de!news.dfn.de!Germany.EU.net!EU.net!news.sprintlink.net!howland.reston.ans.net!math.ohio-state.edu!magnus.acs.ohio-state.edu!cis.ohio-state.edu!pa.dec.com!mann

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: 10d71d,590209ebe26896cb,start
X-Google-Attributes: gid10d71d,public
X-Google-ArrivalTime: 1994-10-28 03:00:37 PST
Path: arc1-ca.pugleaf.net!nntp.gmd.de!xlink.net!fauern!news.th-darmstadt.de!terra.wiwi.uni-frankfurt.de!zeus.rbi.informatik.uni-frankfurt.de!news.dfn.de!Germany.EU.net!EU.net!news.sprintlink.net!howland.reston.ans.net!math.ohio-state.edu!magnus.acs.ohio-state.edu!cis.ohio-state.edu!pa.dec.com!mann
From: mann@pa.dec.com (Tim Mann)
Newsgroups: gnu.chess
Subject: gnuchess on linux
Date: 28 Oct 1994 16:20:30 -0400
Organization: GNUs Not Usenet
Lines: 36
Sender: daemon@cis.ohio-state.edu
Distribution: gnu
Message-ID: <9410282003.AA22974@lakeview.pa.dec.com>