gpt4 book ai didi

stream - CCL Lisp 中的破管错误

转载 作者:太空宇宙 更新时间:2023-11-03 18:59:59 24 4
gpt4 key购买 nike

我正在使用 CCL Lisp 并行运行批量实验。在我的机器上,一切运行良好。但是,我想在服务器上使用它。当我在服务器上执行此操作时,我总是收到以下错误消息:

> Error: on #<BASIC-CHARACTER-OUTPUT-STREAM UTF-8 (PIPE/7) #x302001C2725D> : 
> Broken pipe during write
> While executing: #<CCL::STANDARD-KERNEL-METHOD CCL::STREAM-IO-ERROR (STREAM T T)>, in process listener(1).

当抛出这个错误时,我的代码总是到达相同的点。代码摘录如下:

    ;; ... A really long function
;; write commands to processes
(format t ".. writing commands to process ~a:~%" counter)
(loop for c in commands
do
(format t " ~a~%" c)
(write-string c output-stream)
(princ #\lf output-stream))
(force-output t)
(force-output output-stream)
(finish-output output-stream)
#-lispworks
(close output-stream))

我认为这个错误发生在 loop 语句中,因为并非所有的 commands 都被写入输出流。

如何进一步调试并解决这个问题?

最佳答案

“损坏的管道”意味着当 Lisp 进程正在写入管道时,应该从管道读取的进程已经死了。

IOW,问题可能在 Lisp 之外。您需要查看其他进程发生了什么。

附言。您可以将 write-stringprinc 组合成一个 write-line .此外,如果您调用 finish-output,则不需要 force-output立即。

关于stream - CCL Lisp 中的破管错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42791455/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com