Re: crashing socket tests

Bruno Haible <[email protected]>
Newsgroups gmane.lisp.clisp.devel
Message-ID <7445265.jTcN7N3V2V@omega>
> Meanwhile, I'm seeing a different crash (in a build-porting64-gcc-debug_gcsafety
> build with -DOLD_GC), but also related to socket streams:
> 
> 
> (MULTIPLE-VALUE-BIND (RUN ARGS) (CMD-ARGS) (LET ((SE (SOCKET-SERVER))) (RUN-PROGRAM RUN :ARGUMENTS (APPEND ARGS (LIST "-q" "-q" "-x" (FORMAT NIL "(close (socket:socket-connect ~D))" (SOCKET-SERVER-PORT SE)))) :WAIT NIL :INPUT NIL :OUTPUT NIL) (UNWIND-PROTECT (WITH-OPEN-STREAM (SO (SOCKET-ACCEPT SE)) (LIST (SOCKET-STATUS SO) (WRITE-LINE "foo" SO) (SOCKET-STATUS SO) (CHECK-OS-ERROR (READ-CHAR SO) (:ECONNRESET 104)) (NULL (MEMBER (SOCKET-STATUS SO) '(:EOF :APPEND))) (CHECK-OS-ERROR (WRITE-LINE "bar" SO) (:EPIPE 32)) (NULL (MEMBER (SOCKET-STATUS SO) '(:EOF :APPEND))) (HANDLER-CASE (READ-CHAR SO) (END-OF-FILE (C) (PRINC 'READ-CHAR) (PRINC-ERROR C) 'END-OF-FILE)))) (SOCKET-SERVER-CLOSE SE))))
> STACK size: 98238 [0x300000bfe00 0x30000000010]
> 
> [../src/stream.d:6199] [OS-STREAM-ERROR]: OS-STREAM-ERROR(104): Connection reset by peer
> Makefile:25: die Regel für Ziel „tests“ scheiterte

The reason here seems to be a stream of type enum_strmtype_twoway_socket, of
the correct reclength, where the last element, ->strm_twoway_socket_output,
has not been updated by GC. Whereas the second-to-last element,
->strm_twoway_socket_input has been updated.

Bruno


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
clisp-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/clisp-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.