opengl - MacOS 上 SLIME 下的 cl-opengl 使 SBCL 崩溃...错误?

标签 opengl common-lisp sbcl slime

我想在 Emacs 和 SLIME 下用 Common Lisp 做一些 OpenGL 编程。我还没准备好,但我目前正在尝试使用 SBCL。如果我从一开始就打开 emacs,则创建一个仅包含这一行的新文件:

(ql:quickload :cl-opengl)

然后我做 M-x slime(并等待它加载),然后 C-c C-c 编译并运行该行,SBCL 每次都立即崩溃,提示一个对话框,显示 sbcl quit unexpectedly :

error dialog: sbcl quit unexpectedly

我已经保存了可通过单击“报告...”按钮访问的输出;如果这有用,我可以在此处添加(或将其放在 pastebin 或其他东西上)...简短版本是它得到了 SIGTRAP .

每次我尝试在 SLIME 下运行它时都会发生这种情况……但是,有趣的是,如果我从命令行运行 SBCL,则不会发生这种情况。

那么,问题是:这是 SBCL 中的错误吗?在 cl-opengl 中?我配置错误的东西?其他?任何见解将不胜感激。

备注 :

我做了一些谷歌搜索,我找到了 a page它提供了一种将以下内容放入 ~/.swank.lisp 的解决方法:
(setf swank:*communication-style* :fd-handler)

事实上,这让我摆脱了直接的崩溃,让我能够做一些工作。如果这只是答案,请有人将其作为答案发布,并解释为什么要这样做,以便其他人可以找到它。否则,我认为这是一个错误,但可以修复,而不是解决……和/或至少可以帮助我更好地理解的东西;我的当前代码(基本上在 brian's brain 上,作为测试用例)仍然没有响应式 REPL 正在运行(通过 run ),这可能是也可能不是一个单独的问题?更改 swank 配置是否改变了我的情况?

平台详情:

操作系统: MacOS 10.6.8

SBCL: sbcl@1.1.10_0+花式来自 MacPorts;启动标题这是 SBCL 1.1.10,ANSI Common Lisp 的一个实现。

Emacs:macports 安装的 Emacs 版本 24.3 (9.0) (根据关于窗口的 GUI,或 GNU Emacs 24.3.1 (x86_64-apple-darwin10.8.0, NS apple-appkit-1038.36) of 2013-04-07 每个 Mx 版本,或 |79106| emacs-app@24.3_1 端口)

史莱姆:史莱姆@20130630 来自 MacPorts

最佳答案

这听起来像是 SWANK 的线程支持问题

:fd-handler 选项将 SWANK 的通信方式从默认使用单独的线程进行通信更改为使用循环方法( http://www.common-lisp.net/projects/slime/doc/html/Communication-style.html )。

曾经有很多关于在 Mac OS 上使用带线程的 SBCL 的提示,从外观上看,这些基本上是固定的;也许 SWANK 也有类似的问题?

我不是 100% 确定这是您问题的唯一原因,但这是我能找到的最佳解释。

关于opengl - MacOS 上 SLIME 下的 cl-opengl 使 SBCL 崩溃...错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18345464/

相关文章:

common-lisp - 如何加载和使用quicklisp程序

opengl - 通过计算着色器在 OpenGL 中进行光线追踪

c++ - 粒子系统的点 Sprite

lisp - 为什么 LISP defun 在其参数参数之前不需要引号?

file-io - 使用 Common Lisp 读取文件

LISP:帮助将输入流(带空格)读入字符列表

emacs - SLIME 和 SWANK 入门 : Lisp connection closed unexpectedly: connection broken by remote peer

opengl - 用CG代替GLSL可行吗?

c++ - glVertexAttribPointer - 顶点法线或颜色

common-lisp - 如何判断一个列表是否为列表