Custom Query (1030 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (976 - 978 of 1030)

Ticket Resolution Summary Owner Reporter
#1320 fixed I/O timeout arguments for TCP sockets are interpreted as milliseconds Max Rottenkolber
Description

(copied from openmcl-devel, see also #1247 as it seems to be related)

Hi folks,

(in Clozure CL 1.10)

could there be a bug in `l1-sockets.lisp:859-860', where timeout values (supposedly in seconds) are not converted to the proper millisecond values used by PROCESS-INPUT-WAIT (`l1-streams.lisp:5449')? The documentation says (emphasis added):

input-timeout---The number of seconds before an input operation times out. Must be a real number between zero and one million. If an input operation takes longer than the specified number of seconds, an input-timeout error is signalled. (see Section 10.1.4, “Stream Timeouts and Deadlines”)

output-timeout---The number of seconds before an output operation times out. Must be a real number between zero and one million. If an output operation takes longer than the specified number of seconds, an output-timeout error is signalled. (see Section 10.1.4, “Stream Timeouts and Deadlines”)

I have not followed the rabbit hole to full length, but I am getting I/O timeout conditions on streams with i/o-timeout == 10 way before 10 seconds. It being actually interpreted as 10 milliseconds would make sense.

Try this to verify (this blocks for 10 seconds when I run it):

(with-open-socket (s :remote-host "mr.gy"

:remote-port 80 :input-timeout (* 10 1000))

(read-line s))

Regards, max

#1330 fixed ~~ does not work properly in FORMAT kylebp
Description

(format nil "~:(a ~~) b~)") should evaluate to "A ~) B", but instead raises an error for premature end of control string.

#1331 fixed wrong results from probe-file/open on many symlinks R. Matthew Emerson Jared Davis
Description

Hi,

This is a very minor bug, but we ran into it in the context of a much larger system and it took awhile to figure out what was going on. This is on CCL 1.11-dev-r16394M-trunk on a Linux 2.6.32-431.el6.x86_64 system.

Setup: Create a file and several levels of symlinks to it. The following will work for this in bash:

    echo "Hello World" > 0
    for ((i=0;i < 30;i=i+1)) do ln -s $i $((i+1)) ; done

Once we get past enough symlinks, we find that CCL reports that the files do not exist:

   > (probe-file "8")
   #P"/home/users/jared/ccl-symlinks/0"
   ...
   > (probe-file "20")
   #P"/home/users/jared/ccl-symlinks/0"
   > (probe-file "21")
   NIL    ;; Bug?  Expected #P"/home/users/jared/ccl-symlinks/0"
   > (probe-file "22")
   NIL    ;; Bug?  Expected #P"/home/users/jared/ccl-symlinks/0"

We also run into problems when trying to open these files. For instance:

    (defun my-read (filename)
      (with-open-file (stream filename :direction :input)
        (read-line stream)))

    > (my-read "8")
    "Hello World"
    NIL
    > (my-read "20")
    "Hello World"
    NIL
    (my-read "21")  ;; Bug?  The file does exist...
    > Error: No such file or directory : "21"
    > While executing: CCL::MAKE-FILE-STREAM, in process listener(1).
    > Type :POP to abort, :R for a list of available restarts.
    > Type :? for other options.

From poking around, it seems like this may be due to the way that #_REALPATH is used in the implementation of %REALPATH, which is used by PROBE-FILE. It looks like the C realpath() function can return many kinds of error conditions, such as ELOOP, which don't necessarily mean that the file doesn't exist, but that the implementation of probe-file essentially just checks its return value without paying attention to the ERRNO.

FWIW, it seems that SBCL can PROBE-FILE all of these files without a problem, but it too fails to open files from "9" and above. Fortunately it provides a good error message instead of saying that the file does not exist:

    error opening #P"/home/users/jared/ccl-symlinks/9":
      Too many levels of symbolic links

Anyway this is all minor, but it would be nice if probe-file would either report that the file does indeed exist or give a "too many symlinks" error, and similarly it would be nice if opening the file either worked or produced a "too many symlinks" error instead of saying the file doesn't exist.

Thanks!

Jared

Batch Modify
Note: See TracBatchModify for help on using batch modify.
Note: See TracQuery for help on using queries.