CMUCL crashes when loading foreign library
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
cmucl (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: cmucl
Ubuntu intrepid 8.10
cmucl 19a-release-
i686
cmucl gets a segmentation violation on the second call to ext:load-foreign.
Example:
(ext:load-foreign "/lib/libc.so.6")
;;; Opening shared library /lib/libc.so.6 ...
;;; Done.
(ext:load-foreign "/lib/libc.so.6")
;;; Opening shared library /lib/libc.so.6 ...
Error in function UNIX::SIGSEGV-
[Condition of type SIMPLE-ERROR]
At this stage cmucl becomes unusable. Selecting restart abort just results in an new segv.
It does not matter which library is loaded, it always fails on the second call, even when loading two different libraries.
I have tracked this down to dlopen. The bug can also be reproduced like this:
(system::dlopen "/lib/libc.so.6" (logior system::rtld-lazy system:
(system::dlopen "/lib/libc.so.6" (logior system::rtld-lazy system:
The binary release of version 19e downloaded from http:// common- lisp.net/ project/ cmucl/downloads /release/ works.
Any older version does not work. This might be due to a bug fixed in 19e or because the old version has been built on too old system.