Custom Query (1030 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (613 - 615 of 1030)

Ticket Resolution Summary Owner Reporter
#1048 fixed trace :inside option broken Valeriy Zamarayev
Description

Clozure CL's documentation mentions a very useful option to trace, :inside

:inside outside-spec | ({outside-spec}*)

Inhibits all trace actions unless the current invocation of the function being traced is inside one of the outside-spec's, i.e. unless a function named by one of the outside-spec's is currently on the stack. outside-spec can name a function, a method, or a package, as above.

However, it doesn't work, neither in trunk nor in 1.8, tried on linuxx86 and darwinx86.

Welcome to Clozure Common Lisp Version 1.9-dev-r15573M-trunk  (DarwinX8632)!
? (defun a ())
A
? (defun b () (a))
B
? (trace :inside b a)
NIL
? (b)
> Error: Too many arguments in call to #<Compiled-function (:INTERNAL CCL::TRACE-INSIDE-FRAME-P) (Non-Global)  #x49B1DDE>:
>        2 arguments provided, at most 1 accepted. 
> While executing: (:INTERNAL CCL::TRACE-INSIDE-FRAME-P), in process listener(1).
> Type :POP to abort, :R for a list of available restarts.
> Type :? for other options.
1 > :B
*(605C4C) : 0 (FUNCALL #'#<(:INTERNAL CCL::TRACE-INSIDE-FRAME-P)> NIL -335179012) 5
 (605C88) : 1 (%MAP-CALL-FRAMES-INTERNAL #<COMPILED-LEXICAL-CLOSURE (:INTERNAL CCL::TRACE-INSIDE-FRAME-P) #xD0CEF5E> NIL 1578821 536870911 0 NIL) 311
 (605CB4) : 2 (MAP-CALL-FRAMES #<COMPILED-LEXICAL-CLOSURE (:INTERNAL CCL::TRACE-INSIDE-FRAME-P) #xD0CEF5E> :CONTEXT NIL :PROCESS NIL :ORIGIN NIL :COUNT 536870911 :START-FRAME-NUMBER 0 :TEST NIL) 495
 (605D14) : 3 (TRACE-INSIDE-FRAME-P B) 487
 (605D2C) : 4 (FUNCALL #'#<(CCL::TRACED A)>) 151
 (605D3C) : 5 (CALL-CHECK-REGS B) 247
 (605D58) : 6 (TOPLEVEL-EVAL (B) NIL) 711
 (605D98) : 7 (READ-LOOP :INPUT-STREAM #<SYNONYM-STREAM to *TERMINAL-IO* #xC33E06E> :OUTPUT-STREAM #<SYNONYM-STREAM to *TERMINAL-IO* #xC33DF96> :BREAK-LEVEL 0 :PROMPT-FUNCTION #<Compiled-function (:INTERNAL CCL::READ-LOOP) (Non-Global)  #x44774C6>) 2039
 (605EBC) : 8 (RUN-READ-LOOP :BREAK-LEVEL 0) 183
 (605ED0) : 9 (TOPLEVEL-LOOP) 71
 (605ED8) : 10 (FUNCALL #'#<(:INTERNAL (TOPLEVEL-FUNCTION (CCL::LISP-DEVELOPMENT-SYSTEM T)))>) 71
 (605EE8) : 11 (FUNCALL #'#<(:INTERNAL CCL::MAKE-MCL-LISTENER-PROCESS)>) 559
 (605F34) : 12 (RUN-PROCESS-INITIAL-FORM #<TTY-LISTENER listener(1) [Active] #xC33D686> (#<COMPILED-LEXICAL-CLOSURE # #xC33D3BE>)) 639
 (605F78) : 13 (FUNCALL #'#<(:INTERNAL (CCL::%PROCESS-PRESET-INTERNAL (PROCESS)))> #<TTY-LISTENER listener(1) [Active] #xC33D686> (#<COMPILED-LEXICAL-CLOSURE # #xC33D3BE>)) 519
 (605FCC) : 14 (FUNCALL #'#<(:INTERNAL CCL::THREAD-MAKE-STARTUP-FUNCTION)>) 255
1 > 
#1049 fixed Bug in construct-setf-function-name Francois-Rene Rideau
Description

In level-1/l1-aprims.lisp, construct-setf-function-name should also test for #\" in the package-name, or it will confuse packages named ":" and "\":\"".

#1050 fixed Bad file descriptor error in accept or bind or listen James M. Lawrence
Description
(defun run-server (host port out)
  (with-open-stream (server (ccl:make-socket :connect :passive
                                             :local-host host
                                             :local-port port
                                             :reuse-address t))
    (with-open-stream (stream (ccl:accept-connection server))
      (format out "~s~%" (read stream))
      (print :pong stream)
      (finish-output stream))))

(defun make-socket/retry (host port tries)
  (loop (handler-case (return (ccl:make-socket :remote-host host
                                               :remote-port port))
          (ccl:socket-creation-error (err)
            (unless (plusp (decf tries)) (error err))
            (format t "retry~%")
            (sleep 0.1)))))

(defun test (host port)
  (ccl:process-run-function "server" #'run-server
                            host port *standard-output*)
  ;(sleep 0.001)
  (with-open-stream (stream (make-socket/retry host port 5))
    (print :ping stream)
    (finish-output stream)
    (format t "~s~%" (read stream))))

(defun run ()
  (loop for port from 10000 to 20000 do (test "localhost" port)))

Failure happens within three iterations on my machine.

retry
:PING
:PONG
retry
> Error: on #<CCL::LISTENER-SOCKET #x1866FB36> : 
>        Bad file descriptor (error #9) during accept
> While executing: SOCKET-ERROR, in process server(3).

or

retry
:PING
:PONG
retry
> Error: Bad file descriptor (error #9) during socket creation operation in bind
> While executing: SOCKET-ERROR, in process server(3).

or

retry
:PING
:PONG
retry
:PING
:PONG
retry
> Error: Bad file descriptor (error #9) during socket creation operation in listen
> While executing: SOCKET-ERROR, in process server(4).

Adding the SLEEP call after PROCESS-RUN-FUNCTION prevents all errors.

Tested on 1.9-dev-r15576M-trunk (LinuxX8632). Failure on Darwin has happened but is very rare; I've only seen it twice.

I can work around this issue by handling/retrying, however CCL is the only implementation which requires this special attention.

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