Steel Bank Common Lisp

Crashes on Ubuntu / Xen

Reported by mcandre on 2011-02-27
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Undecided
Unassigned

Bug Description

When I try to install or run SBCL on a Ubuntu Xen virtual host, SBCL crashes.

SBCL works fine on MacPorts / Mac OS X.

SBCL works fine on VMware hosts.

SBCL fails with "CATS ARE NICE" on Xen hosts.

Specs:

SBCL 1.0

Ubuntu 10.10 Maverick

Xen

Trace:

$ sbcl
This is SBCL 1.0.40.0.debian, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.
fatal error encountered in SBCL pid 25850(tid 3085133504):
CATS. CATS ARE NICE.

Welcome to LDB, a low-level debugger for the Lisp runtime environment.

I have also posted this bug on StackOverflow: http://superuser.com/questions/250766/sbcl-fails-to-install-on-ubuntu-xen

Tags: xen Edit Tag help
Nikodemus Siivola (nikodemus) wrote :

This is an Ubuntu/Xen issue: some versions of Xen do not support threads properly. The crash is a symptom of something going wrong in the initial thread trampoline, which should never return.

Nothing SBCL can do about this, unfortunately. I recommend filing this as a bug against the Xen package you use.

As workaround, you can use a single-threaded SBCL instead. If you cannot build one your self, you can use for example http://random-state.net/tmp/sbcl-1.0.46.13-x86-linux-binary.tar.bz2.

Changed in sbcl:
status: New → Invalid
mcandre (andrew-pennebaker) wrote :

SBCL can do something about it. It can test for Xen and either refuse to install, or install without thread support.

Nikodemus Siivola (nikodemus) wrote :

No, it can't.

* On many versions of Xen threads work just fine. On even more versions of Xen threads don't work fine, but SBCL itself works fine unless you start spawning extra threads.

* Having threads or not is a build-time decision, not install-time.

Sorry. That said, it _is_ true that CATS ARE NICE is pretty opaque as error messages go, and we should provide official not-terribly-old unthreaded linux binaries as well: bug 728247, bug 728248, and bug 728249.

tags: removed: crash debian host machine ubuntu virtual vm
mcandre (andrew-pennebaker) wrote :

I got some people on #scheme to test this issue. It seems that ulimit -v ANYTHING_LESS_THAN_9G will prevent SBCL from operating normally.

Can you confirm?

Nikodemus Siivola (nikodemus) wrote :

On x86-64 Linux? Something like that is expected, yes:

 CL-USER> (+ (- sb-vm::read-only-space-end sb-vm::read-only-space-start)
             (- sb-vm::static-space-end sb-vm::static-space-start)
             (- sb-vm::dynamic-space-end sb-vm::dynamic-space-start)
             (- sb-vm::linkage-table-space-end sb-vm::linkage-table-space-start))
 8593002496

Most of that is dynamic space, though, so you can easily run SBCL under way smaller virtual memory limit as long as you shrink dynamic space enough -- here's SBCL under 100 megs:

> uname -a
Linux solipsist 2.6.35-27-generic #48-Ubuntu SMP Tue Feb 22 20:25:46 UTC 2011 x86_64 GNU/Linux
[nikodemus@solipsist:~/src/maxima-5.23.2/src]
> ulimit -v 100000
[nikodemus@solipsist:~/src/maxima-5.23.2/src]
> sbcl --dynamic-space-size 75
This is SBCL 1.0.46.21, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.
*

...I have no idea why you thought #scheme would be the best place to ask for help.

mcandre (andrew-pennebaker) wrote :

So the solution is as simple as running sbcl --dynamic-space-size 75?

Aptitude should be informed so that they can run this during pre- or post-install.

Yes, the irony is not lost on me. #lisp is full of trolls; only #scheme would discuss the issue.

Nikodemus Siivola (nikodemus) wrote :

The solution to ulimit -v <smaller than expected>? Yes.

Solution to Xen issues? According to those trolls of #lisp (your truly included in that tarbrush, thanks) Xen > 3.1 should be fine.

Or are you saying that you don't get the "CATS ARE NICE" lossage on Xen if you turn up ulimit or ask for a smaller heap (aka dynamic space)? If so, please confirm, as that's news to me. Not impossible by any means, but not known either.

After realizing ulimit only applies to the current shell / ssh session, I
retried.

$ ulimit -v
unlimited
$ ulimit -v 100000
andrew@hactar:~$ sbcl --dynamic-space-size 75
This is SBCL 1.0.40.0.debian, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.
fatal error encountered in SBCL pid 4636(tid 3085133504):
CATS. CATS ARE NICE.

Welcome to LDB, a low-level debugger for the Lisp runtime environment.
ldb>

ulimit shouldn't help, since it's already set to "unlimited".

Setting it lower doesn't work in theory or practice.

Cheers,

Andrew Pennebaker
www.yellosoft.us

On Mon, Mar 7, 2011 at 3:48 PM, Nikodemus Siivola <
<email address hidden>> wrote:

> The solution to ulimit -v <smaller than expected>? Yes.
>
> Solution to Xen issues? According to those trolls of #lisp (your truly
> included in that tarbrush, thanks) Xen > 3.1 should be fine.
>
> Or are you saying that you don't get the "CATS ARE NICE" lossage on Xen
> if you turn up ulimit or ask for a smaller heap (aka dynamic space)? If
> so, please confirm, as that's news to me. Not impossible by any means,
> but not known either.
>
> --
> You received this bug notification because you are a direct subscriber
> of the bug.
> https://bugs.launchpad.net/bugs/725881
>
> Title:
> Crashes on Ubuntu / Xen
>
> Status in Steel Bank Common Lisp:
> Invalid
>
> Bug description:
> When I try to install or run SBCL on a Ubuntu Xen virtual host, SBCL
> crashes.
>
> SBCL works fine on MacPorts / Mac OS X.
>
> SBCL works fine on VMware hosts.
>
> SBCL fails with "CATS ARE NICE" on Xen hosts.
>
> Specs:
>
> SBCL 1.0
>
> Ubuntu 10.10 Maverick
>
> Xen
>
> Trace:
>
> $ sbcl
> This is SBCL 1.0.40.0.debian, an implementation of ANSI Common Lisp.
> More information about SBCL is available at <http://www.sbcl.org/>.
>
> SBCL is free software, provided as is, with absolutely no warranty.
> It is mostly in the public domain; some portions are provided under
> BSD-style licenses. See the CREDITS and COPYING files in the
> distribution for more information.
> fatal error encountered in SBCL pid 25850(tid 3085133504):
> CATS. CATS ARE NICE.
>
>
> Welcome to LDB, a low-level debugger for the Lisp runtime environment.
>
> I have also posted this bug on StackOverflow:
> http://superuser.com/questions/250766/sbcl-fails-to-install-on-ubuntu-
> xen
>
> To unsubscribe from this bug, go to:
> https://bugs.launchpad.net/sbcl/+bug/725881/+subscribe
>

Nikodemus Siivola (nikodemus) wrote :

That's as expected. ulimit -v is normally unlimited, so lowering it should not help -- but a smaller --dynamic-space _will_ help if you for some reason need run under a small ulimit.

(This is why I was sarcastic about #scheme: they led you after a red herring which had nothing to do with your issue.)

Can you find out what's the Xen version you're running under? As said, AFAIK > 3.1 should work with SBCL.

mcandre (andrew-pennebaker) wrote :

--dynamic-space-size indeed alters the behavior of SBCL, but it's not enough
to fix it completely. Anything under 26 prevents SBCL from running, anything
over 26 crashes to a low level debugger.

$ sbcl --dynamic-space-size 25
This is SBCL 1.0.40.0.debian, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.
dynamic space too small for core: 26584KiB required, 25600KiB available.
andrew@hactar:~$ sbcl --dynamic-space-size 26
This is SBCL 1.0.40.0.debian, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.
fatal error encountered in SBCL pid 10165(tid 3085133504):
CATS. CATS ARE NICE.

Welcome to LDB, a low-level debugger for the Lisp runtime environment.
ldb>

Cheers,

Andrew Pennebaker
www.yellosoft.us

On Tue, Mar 8, 2011 at 3:01 AM, Nikodemus Siivola <
<email address hidden>> wrote:

> That's as expected. ulimit -v is normally unlimited, so lowering it
> should not help -- but a smaller --dynamic-space _will_ help if you for
> some reason need run under a small ulimit.
>
> (This is why I was sarcastic about #scheme: they led you after a red
> herring which had nothing to do with your issue.)
>
> Can you find out what's the Xen version you're running under? As said,
> AFAIK > 3.1 should work with SBCL.
>
> --
> You received this bug notification because you are a direct subscriber
> of the bug.
> https://bugs.launchpad.net/bugs/725881
>
> Title:
> Crashes on Ubuntu / Xen
>
> Status in Steel Bank Common Lisp:
> Invalid
>
> Bug description:
> When I try to install or run SBCL on a Ubuntu Xen virtual host, SBCL
> crashes.
>
> SBCL works fine on MacPorts / Mac OS X.
>
> SBCL works fine on VMware hosts.
>
> SBCL fails with "CATS ARE NICE" on Xen hosts.
>
> Specs:
>
> SBCL 1.0
>
> Ubuntu 10.10 Maverick
>
> Xen
>
> Trace:
>
> $ sbcl
> This is SBCL 1.0.40.0.debian, an implementation of ANSI Common Lisp.
> More information about SBCL is available at <http://www.sbcl.org/>.
>
> SBCL is free software, provided as is, with absolutely no warranty.
> It is mostly in the public domain; some portions are provided under
> BSD-style licenses. See the CREDITS and COPYING files in the
> distribution for more information.
> fatal error encountered in SBCL pid 25850(tid 3085133504):
> CATS. CATS ARE NICE.
>
>
> Welcome to LDB, a low-level debugger for the Lisp runtime environment.
>
> I have also posted this bug on StackOverflow:
> http://superuser.com/questions/250766/sbcl-fails-to-install-on-ubuntu-
> xen
>
> To unsubscribe from this bug, go to:
> https://bugs.launchpad.net/sbcl/+bug/725881/+subscribe
>

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers