<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel about="http://permalink.gmane.org/gmane.lisp.cmucl.devel">
    <title>gmane.lisp.cmucl.devel</title>
    <link>http://permalink.gmane.org/gmane.lisp.cmucl.devel</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10670"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10668"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10667"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10665"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10664"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10663"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10662"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10661"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10660"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10659"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10658"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10657"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10656"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10655"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10654"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10653"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10652"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10650"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10649"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10648"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10670">
    <title>Re: Bug in 19d when declaiming (safety 3) (debug 3)</title>
    <link>http://permalink.gmane.org/gmane.lisp.cmucl.devel/10670</link>
    <description>
Thanks for the report.  This bug exists in current CVS too,
unfortunately.  I believe there are quite a few issues with various
combinations of optimize qualities, especially with high safety and or
debug.

Ray


</description>
    <dc:creator>Raymond Toy</dc:creator>
    <dc:date>2008-10-09T15:11:27</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10668">
    <title>Re: Octoberfest snapshots</title>
    <link>http://permalink.gmane.org/gmane.lisp.cmucl.devel/10668</link>
    <description>Ok.  The Linux issue has been fixed and the snapshot has been tagged. 
Binaries coming soon.

Ray




</description>
    <dc:creator>Raymond Toy</dc:creator>
    <dc:date>2008-10-08T00:44:50</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10667">
    <title>Bug in 19d when declaiming (safety 3) (debug 3)</title>
    <link>http://permalink.gmane.org/gmane.lisp.cmucl.devel/10667</link>
    <description>Hi,

the following code results in a compile-time failure on CMUCL 19d
(debian etch build):
--- xx.lisp ---
(declaim (optimize  (safety 3) (debug 3)))

(defun foo ()
  (make-string 0))
---------------

When doing
* (handler-case (compile-file "xx.lisp") (error (e) (format nil "~A" e)))

; Python version 1.1, VM version Intel x86 on 07 OCT 08 06:11:40 pm.
; Compiling: /home/haus/work/cl-opossum/xx.lisp 07 OCT 08 06:11:03 pm

; Converted FOO.
; Compiling DEFUN FOO:

; Compilation unit aborted.

; Compilation aborted after 0:00:01.

"Type-error in KERNEL::OBJECT-NOT-TYPE-ERROR-HANDLER:
   NIL is not of type C::CONTINUATION"


I did not have time to check other versions (19d is old, admittedly).
Reducing to (safety 2) fixes the problem; (declare ...) inside the
definition of FOO does not have the problem that the (declaim ...) has.

Yours,
Utz

</description>
    <dc:creator>Utz-Uwe Haus</dc:creator>
    <dc:date>2008-10-07T16:13:26</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10665">
    <title>Octoberfest snapshots</title>
    <link>http://permalink.gmane.org/gmane.lisp.cmucl.devel/10665</link>
    <description>
The snapshots for October have been tagged.  Binaries will be
available soon.

Ray


</description>
    <dc:creator>Raymond Toy</dc:creator>
    <dc:date>2008-10-01T16:29:37</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10664">
    <title>Re: Octoberfest snapshots</title>
    <link>http://permalink.gmane.org/gmane.lisp.cmucl.devel/10664</link>
    <description>
    Ray&gt; The snapshots for October have been tagged.  Binaries will be
    Ray&gt; available soon.

No they won't.  I am unable to build on Linux right now, so I need to
investigate why.  For some reason it's linking with undefineds.c but I
don't think it used to do that.

So the Octoberfest snapshots will be delayed.  I'm deleting the
current tag, and will retag at at later time.

I wish I could say it was because I had too much beer, but I didn't.

Ray


</description>
    <dc:creator>Raymond Toy</dc:creator>
    <dc:date>2008-10-01T16:50:59</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10663">
    <title>[CfPart] Lisp50&lt; at &gt;OOPSLA</title>
    <link>http://permalink.gmane.org/gmane.lisp.cmucl.devel/10663</link>
    <description>Lisp50&lt; at &gt;OOPSLA
...celebrating the 50th birthday of Lisp at OOPSLA 2008

Monday, October 20, 2008
Nashville, Tennessee, USA
co-located with OOPSLA 2008
participation is free for all OOPSLA participants
registration for at least one conference day at OOPSLA is required

URL: http:www.lisp50.org
Feed: http://lisp50.blogspot.com


Invited Speakers

+ William Clinger, Northeastern University, USA
+ Pascal Costanza, Vrije Universiteit Brussel, Belgium
+ Richard Gabriel, IBM Research, USA
+ Rich Hickey, Independent Consultant, USA
+ Alan Kay, Viewpoints Research Institute, USA
+ Fritz Kunze, USA
+ Ora Lassila, Nokia Research Center, USA
+ John McCarthy, USA
+ Kent Pitman, PTC, USA
+ Guy Steele, Sun Microsystems Laboratories, USA
+ Herbert Stoyan, University of Erlangen, Germany
+ Warren Teitelman, Google Inc., USA
+ JonL White, USA

Titles, abstracts, biographies and schedule will be announced at the
Lisp50 webpage and blog in the coming days and weeks.


Abstract

In October 1958, John McCarthy published one in a s</description>
    <dc:creator>Pascal Costanza</dc:creator>
    <dc:date>2008-09-18T18:53:40</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10662">
    <title>Re: wait-until-fd-usable</title>
    <link>http://permalink.gmane.org/gmane.lisp.cmucl.devel/10662</link>
    <description>
I had a pretty repeatable test case before, but now that I took out the
wait-until-fd-usable change, I can't seem to cause the issue again.


I occasionally type stuff into *inferior-lisp*, but haven't ever seen
this issue.  I guess I didn't have the slime debugger open.


Your test case shows pretty clearly something bad happens with the
current scheme.  100% CPU without your change, and essentially 0% CPU
with it.

Ray


</description>
    <dc:creator>Raymond Toy</dc:creator>
    <dc:date>2008-09-16T13:06:37</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10661">
    <title>Re: wait-until-fd-usable</title>
    <link>http://permalink.gmane.org/gmane.lisp.cmucl.devel/10661</link>
    <description>
  |From:  Helmut Eller &lt;heller&lt; at &gt;common-lisp.net&gt;
  |Date:  Tue, 16 Sep 2008 08:45:21 +0200
  |
  |* Madhu [2008-09-16 02:09+0200] writes:
  |
  |&gt; I'm not saying Helmut is wrong, but there have been
  |&gt; misunderstandings in the past like Luke Gorries' article on
  |&gt; serve-event.  Concurrency is tricky; I'd exercise caution when
  |&gt; using use expertise/skill in other areas as clues to judge
  |&gt; soundness/skill on other tricky areas. :)
  |
  |Which misunderstandings?

[Please forgive me for being too general and using too many scare
 quotes: that assumptions, experience, or "expectations" from
 "pthreads" or "java thread" style programming carry over when youre
 doing Asynchronous Programming.]

  |A problem is that there are no guidlelines how serve-event should
  |or can be used or what can and can't done in fd-handlers.  E.g. is
  |it allowed to call read-char or any other operation on a fd-stream
  |in a fd-handler?

The only experience I have is with some cooperative multitasking
programs in the past</description>
    <dc:creator>Madhu</dc:creator>
    <dc:date>2008-09-16T11:21:17</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10660">
    <title>Re: wait-until-fd-usable</title>
    <link>http://permalink.gmane.org/gmane.lisp.cmucl.devel/10660</link>
    <description>

I'm not sure that the output issue in recent SLIME is related to the
wait-until-fd-usable problem.  Unfortunately, I can't reproduce your
problem just by printing something.

However, also in older versions of SLIME it was possible to consume 100%
cpu, by typing something to the terminal stream (in the *inferior-lisp*
buffer) while the SLIME debugger is open.  This _is_ the same issue as
in the example with the pipes, just replace pipe A with the terminal
input stream and pipe B with SLIME's socket.

Helmut.



</description>
    <dc:creator>Helmut Eller</dc:creator>
    <dc:date>2008-09-16T06:50:22</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10659">
    <title>Re: wait-until-fd-usable</title>
    <link>http://permalink.gmane.org/gmane.lisp.cmucl.devel/10659</link>
    <description>

Which misunderstandings?

A problem is that there are no guidlelines how serve-event should or can
be used or what can and can't done in fd-handlers.  E.g. is it allowed
to call read-char or any other operation on a fd-stream in a fd-handler?

The situation with interrupts is similar.  Is it safe to call read-char
in a interrupt handler?  (that would mean that the I/O subsystem is
interrupt safe/reentrant, which is rather unlikely.)

I think that those recursive calls are problematic.  But it's almost
impossible to write a debugger without them.


Sure.  But you can just paste the pipe example to your CMUCL to see the
problem.

Helmut.



</description>
    <dc:creator>Helmut Eller</dc:creator>
    <dc:date>2008-09-16T06:45:21</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10658">
    <title>Re: wait-until-fd-usable</title>
    <link>http://permalink.gmane.org/gmane.lisp.cmucl.devel/10658</link>
    <description>What I have been seeing with the use of multiple-processes in SLIME
causes concern.  Based on earlier experiences trying to use
asynchronously scheduled processes with a Lisp, I now avoid it like the
plague.   My first experience was with the mouse-process in Symbolics
Zeta-Lisp and Genera.   Any accesses to global data from the
mouse-process had be performed using the appropriate locking machinery
not only by the mouse process, but also by all other processes.  This
creates a minefield of bugs for code that was developed with the
assumption of a single process accessing the global data.


Madhu wrote:


</description>
    <dc:creator>Lynn Quam</dc:creator>
    <dc:date>2008-09-16T01:40:39</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10657">
    <title>Re: wait-until-fd-usable</title>
    <link>http://permalink.gmane.org/gmane.lisp.cmucl.devel/10657</link>
    <description>* Raymond Toy &lt;48CF008D.7070105&lt; at &gt;gmail.com&gt; :
Wrote on Mon, 15 Sep 2008 20:40:45 -0400:

| I'm hoping someone with more experience/knowledge in this area will look
| at it.  I, however, am happy to see it fix the problem I was having with
| slime.

I've not looked at it but My experience has been that slime itself is a
moving target. Stuff works, gets fixed, sometimes gets broken on purpose
so a whole portion can be replaced, etc...

The impact to be considered should be the other s/w that is affected,
not the s/w that is motivating the change in the first place.  That is
bound to work, by definition.

There were earlier MP patches that I tested but found caused serious
problems in other modes of operation which CMUCL supported.

--
Madhu



</description>
    <dc:creator>Madhu</dc:creator>
    <dc:date>2008-09-16T01:02:50</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10656">
    <title>Re: wait-until-fd-usable</title>
    <link>http://permalink.gmane.org/gmane.lisp.cmucl.devel/10656</link>
    <description>Yes, the issue showed up somewhere around 2008-09-11 or so.  A few days
earlier was working, but the output was getting completely flusdhed.
Oh, there was no actual patch.  There was Helmut's new
with-one-shot-fd-handler, and a comment on replacing with-fd-handler in
wait-until-fd-usable with with-one-shot-fd-handler.
I'm hoping someone with more experience/knowledge in this area will look
at it.  I, however, am happy to see it fix the problem I was having with
slime.

Ray




</description>
    <dc:creator>Raymond Toy</dc:creator>
    <dc:date>2008-09-16T00:40:45</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10655">
    <title>Re: wait-until-fd-usable</title>
    <link>http://permalink.gmane.org/gmane.lisp.cmucl.devel/10655</link>
    <description> 
  |From: Raymond Toy &lt;raymond.toy&lt; at &gt;ericsson.com&gt;
  |Date: Mon, 15 Sep 2008 10:50:03 -0400
  |
  |I'm not all familiar with serve-event, but I've patched my running
  |lisp with this and the problems I had with recent slime CVS and
  |hanging cmucl are now apparently gone.  Without this I could pretty
  |easily get cmucl to hang by doing lots of output like compiling.
  |This
  |doesn't happen anymore.

I am still using earlier version of slime, presumably one in which
helmut' has not added the serve-event code which causes the above
problem.  This version works fine without requiring any change to the fd
handler code, so I have not investigated the issue

I did not see a patch posted.  Was it sent to you privately?

  |Based on just this one test and Helmut's previous contributions to
  |cmucl, I would like to include this change.

I'm not saying Helmut is wrong, but there have been misunderstandings in
the past like Luke Gorries' article on serve-event.  Concurrency is
tricky; I'd exercise caution when usi</description>
    <dc:creator>Madhu</dc:creator>
    <dc:date>2008-09-16T00:09:54</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10654">
    <title>Re: wait-until-fd-usable</title>
    <link>http://permalink.gmane.org/gmane.lisp.cmucl.devel/10654</link>
    <description>
    Helmut&gt; Blocking reads in fd-handlers can cause repeated calls to
    Helmut&gt; to serve-event without making progress.

[snip test code and with-one-shot-fd-handler]

    Helmut&gt; The idea behind with-one-shot-fd-handler is that the handler is called
    Helmut&gt; at most once.  We could use it instead of the ordinary with-fd-handler
    Helmut&gt; in wait-until-fd-usable.

I'm not all familiar with serve-event, but I've patched my running
lisp with this and the problems I had with recent slime CVS and
hanging cmucl are now apparently gone.  Without this I could pretty
easily get cmucl to hang by doing lots of output like compiling.  This
doesn't happen anymore.

Based on just this one test and Helmut's previous contributions to
cmucl, I would like to include this change.

Ray


</description>
    <dc:creator>Raymond Toy</dc:creator>
    <dc:date>2008-09-15T14:50:03</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10653">
    <title>wait-until-fd-usable</title>
    <link>http://permalink.gmane.org/gmane.lisp.cmucl.devel/10653</link>
    <description>
Blocking reads in fd-handlers can cause repeated calls to
to serve-event without making progress.

To illustrate the problem, consider the following example:

(defun test-wait-until-readable ()
  (flet ((pipe ()
           (multiple-value-bind (in out) (unix:unix-pipe)
             (values (sys:make-fd-stream in :input t)
                     (sys:make-fd-stream out :output t :buffering :none)))))
    (multiple-value-bind (a-in a-out) (pipe)
      (multiple-value-bind (b-in b-out) (pipe)
        (sys:add-fd-handler (sys:fd-stream-fd b-in) :input 
                            (lambda (fd)
                              (declare (ignore fd))
                              (format t "b readable~%") (finish-output)
                              (read-char b-in)
                              (format t "b read 1~%") (finish-output)
                              (write-char #\x a-out)
                              (read-char b-in)
                              (format t "b read 2~%") (finish-output)))
        (write-</description>
    <dc:creator>Helmut Eller</dc:creator>
    <dc:date>2008-09-14T05:48:31</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10652">
    <title>Re: CMUCL Timers</title>
    <link>http://permalink.gmane.org/gmane.lisp.cmucl.devel/10652</link>
    <description>
What to you mean supported?  It seems to be supported.
Do you have any quick examples of using serve-timer?  Yes, it's
unfortunate the author is unreachable.  I would think he wouldn't mind
having it included, since he posted the code.  But the only way to know
is to ask him.

Ray



</description>
    <dc:creator>Raymond Toy</dc:creator>
    <dc:date>2008-09-13T17:44:55</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10650">
    <title>Snapshot tagged</title>
    <link>http://permalink.gmane.org/gmane.lisp.cmucl.devel/10650</link>
    <description>
The Labor Day snapshot (2008-09) has been tagged.  Binaries will be
uploaded soon.

Ray


</description>
    <dc:creator>Raymond Toy</dc:creator>
    <dc:date>2008-09-02T17:09:56</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10649">
    <title>Re: run-program: find-a-pty: Newer systems do not support /dev/ttyXX PTYs</title>
    <link>http://permalink.gmane.org/gmane.lisp.cmucl.devel/10649</link>
    <description>


Is there any reason not to use this method exclusively on Linux?  According
to the manual pages this functionality has been available for a while on
Linux as well as all of the other operating systems CMUCL supports. Having a
single code path through find-a-pty shared by all systems would be
preferable.
</description>
    <dc:creator>Carl Shapiro</dc:creator>
    <dc:date>2008-08-18T06:48:55</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10648">
    <title>run-program: find-a-pty: Newer systems do not support /dev/ttyXX PTYs</title>
    <link>http://permalink.gmane.org/gmane.lisp.cmucl.devel/10648</link>
    <description>Recent linux distributions (like os_11.0) which mount devpts on
/dev/pts do not seem to support /dev/ttyp0 style ptys.  This cause
EXT:RUN-PROGRAM :PTY T to barf in FIND-A-PTY.  The attached patch
which supports opening a POSIX pty is ported over from SBCL.  (In SBCL
the new api is tried first) --Madhu

diff --git a/code/run-program.lisp b/code/run-program.lisp
index f465a74..bfdac84 100644
--- a/code/run-program.lisp
+++ b/code/run-program.lisp
&lt; at &gt;&lt; at &gt; -258,7 +258,6 &lt; at &gt;&lt; at &gt;
 (defvar *handlers-installed* nil
   "List of handlers installed by RUN-PROGRAM.")
 
-
 ;;; FIND-A-PTY -- internal
 ;;;
 ;;;   Finds a pty that is not in use. Returns three values: the file descriptor
&lt; at &gt;&lt; at &gt; -297,7 +296,30 &lt; at &gt;&lt; at &gt;
    slave-fd
    slave-name)))
   (unix:unix-close master-fd))))))
-  (error "Could not find a pty."))
+  ;; could not find a PTY.. Try the unix98 api
+  (find-a-unix98-pty))
+
+#-irix
+(defun find-a-unix98-pty ()
+  "Returns the master fd, the slave fd, and the name of the tty"
+  (let* ((master-name (coerce (format nil</description>
    <dc:creator>Madhu</dc:creator>
    <dc:date>2008-08-17T14:31:16</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.lisp.cmucl.devel/10647">
    <title>Re: Solaris users?</title>
    <link>http://permalink.gmane.org/gmane.lisp.cmucl.devel/10647</link>
    <description>On Sat, Aug 9, 2008 at 10:38 AM, Chun Tian (binghe)
&lt;binghe.lisp&lt; at &gt;gmail.com&gt;wrote:



Whatever you want, as long as it's available, is okay.

I forgot to mention that you will need to update the x86-validate.h file
with the parameters you specified in parms.lisp.  However, I think you
discovered this on your own.

If you don't know what values to specify in those files (they should be the
same) the best way to start is to look at the address space of a running
program.  I think you can retrieve this information with a call to "pmap -s
&lt;pid&gt;" on Solaris systems.  Look for the free regions of memory find unused
space that can be reserved by CMUCL for its core file segments.

After you have identified some candidate regions of memory you may want to
write a small program that includes your x86-validate.h and tries to map all
of those regions.  Anyway, once you have confirmed those values are good you
are ready to update parms.lisp and x86-validate.h and continue with the rest
of your port.



As part of the boot</description>
    <dc:creator>Carl Shapiro</dc:creator>
    <dc:date>2008-08-09T22:16:42</dc:date>
  </item>
  <textinput about="http://search.gmane.org/?group=$group=gmane.lisp.cmucl.devel">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.lisp.cmucl.devel</link>
  </textinput>
</rdf:RDF>
