CLM-4/SBCL on OS X PPC

View: New views
6 Messages — Rating Filter:   Alert me  

CLM-4/SBCL on OS X PPC

by Geoff Lee :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Greetings,

I have an instrument which works fine on most combinations of CL and  
CLM on OS X and Windows.

Specifically it works fine on Intel machines with the following  
combination

OS X 10.5.8 / sbcl 1.0.30 / clm-4

On PPC however (with SBCL 1.0.29: the newest I could get to compile  
cleanly) gives the following warning when I try to use this instrument  
with (with-sound):

WARNING:
    attempting to load a string into run without knowing current  
endianess...

Followed by the backtrace below [1]:

Unfortunately I don't know much about lisp or clm, and I didn't write  
the instrument in question. I'm trying to get CLM working on OS X 10.5  
PPC and i386 for our labs and would appreciate any insight into why  
clm doesn't seem to know the current endianness, or indeed whether  
that's likely to be related to the memory fault error.

The instrument definitely worked with clm-3/sbcl on OS X 10.4/ppc and  
intel.

I have tried (pushnew :big-endian *features*), but am pretty much in  
the dark here.

Any insights much appreciated. If there is a different lisp which is  
known to work well with clm-4 on 10.5 PPC, I'm happy to use that. I've  
tried CCL, but it gives much more numerous errors.

Many TIA,

-geoff


1.
Backtrace:
   0: (SB-SYS:MEMORY-FAULT-ERROR)
   1: ("foreign function: call_into_lisp")
   2: (|clm_zeroexpand12| #.(SB-SYS:INT-SAP #X12651008) 22133 #.(SB-
SYS:INT-SAP #X12650008) 225)
   3: (ZEROEXPAND1 "/Users/uoesupport/Desktop/medward/feelin-beg.wav"  
1)[:EXTERNAL]
   4: ((LAMBDA ()))
   5: (SB-INT:SIMPLE-EVAL-IN-LEXENV (WITH-SOUND (:STATISTICS T :SCALED-
TO 0.99 :CHANNELS 2 ...) (ZEROEXPAND1 "/Users/uoesupport/Desktop/
medward/feelin-beg.wav" 1 :STRETCH 1 :MIN-FREQ ...)) #<NULL-LEXENV>)
   6: (SWANK::EVAL-REGION ..)
       Locals:
         SB-DEBUG::ARG-0 = "(with-sound (:statistics t :scaled-to .
99 :channels 2\n             :srate..
   7: ((LAMBDA ()))
   8: (SWANK::TRACK-PACKAGE #<CLOSURE (LAMBDA #) {12A2D1BD}>)
   9: (SWANK::CALL-WITH-RETRY-RESTART "Retry SLIME REPL evaluation  
request." #<CLOSURE (LAMBDA #) {12A2D18D}>)
  10: (SWANK::CALL-WITH-BUFFER-SYNTAX NIL #<CLOSURE (LAMBDA #)  
{12A2D17D}>)
  11: (SWANK::REPL-EVAL ..)
  12: (SB-INT:SIMPLE-EVAL-IN-LEXENV ..)
  13: (SWANK::EVAL-FOR-EMACS ..)
  14: (SWANK::PROCESS-REQUESTS T)
  15: ((LAMBDA ()))
  16: ((LAMBDA (SWANK-BACKEND::HOOK SWANK-BACKEND::FUN)) #<FUNCTION  
SWANK:SWANK-DEBUGGER-HOOK> #<CLOSURE (LAMBDA #) {12A2D075}>)
  17: (SWANK::CALL-WITH-BINDINGS ..)
  18: (SWANK::CALL-WITH-CONNECTION #<SWANK::CONNECTION {11FD0DA9}>  
#<CLOSURE (LAMBDA #) {12A2D075}>)
  19: (SWANK::HANDLE-REQUESTS #<SWANK::CONNECTION {11FD0DA9}> T)
  20: ((LABELS SWANK-BACKEND::RUN) 8)
  21: (SB-IMPL::SUB-SUB-SERVE-EVENT NIL NIL)
  22: (SB-IMPL::SUB-SERVE-EVENT NIL NIL NIL)
  23: (SB-SYS:WAIT-UNTIL-FD-USABLE 0 :INPUT NIL)
  24: (SB-IMPL::REFILL-INPUT-BUFFER #<SB-SYS:FD-STREAM for "standard  
input" {11FD05B1}>)
  25: (SB-IMPL::INPUT-CHAR/UTF-8 #<SB-SYS:FD-STREAM for "standard  
input" {11FD05B1}> NIL #:EOF-OBJECT)
  26: (READ-CHAR #<SB-SYS:FD-STREAM for "standard input" {11FD05B1}>  
NIL #:EOF-OBJECT #<unused argument>)
  27: (READ-CHAR #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {1000CD09}>  
NIL #:EOF-OBJECT #<unused argument>)
  28: (SB-IMPL::%READ-PRESERVING-WHITESPACE #<SYNONYM-STREAM :SYMBOL  
SB-SYS:*STDIN* {1000CD09}> NIL (NIL) T)
  29: (SB-IMPL::%READ-PRESERVING-WHITESPACE #<SYNONYM-STREAM :SYMBOL  
SB-SYS:*STDIN* {1000CD09}> NIL (NIL) NIL)
  30: (READ #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {1000CD09}> NIL  
(NIL) NIL)
  31: (SB-IMPL::REPL-READ-FORM-FUN #<SYNONYM-STREAM :SYMBOL SB-
SYS:*STDIN* {1000CD09}> #<unavailable argument>)
  32: (SB-IMPL::REPL-FUN NIL)
  33: ((LAMBDA ()))
  34: (SB-IMPL::%WITH-REBOUND-IO-SYNTAX #<CLOSURE (LAMBDA #) {11FD0675}
 >)
  35: (SB-IMPL::TOPLEVEL-REPL NIL)
  36: (SB-IMPL::TOPLEVEL-INIT)
  37: ((LABELS SB-IMPL::RESTART-LISP))

______________________________________
Geoff Lee <G.Lee@...>
Computing Support
School of Arts, Culture and Environment
University of Edinburgh
20 Chambers St,
Edinburgh, Scotland,
EH1 1JZ
Tel: +44 (0)131 650 2341
______________________________________







--
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.

_______________________________________________
Cmdist mailing list
Cmdist@...
http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist

Re: CLM-4/SBCL on OS X PPC

by Bill Schottstaedt :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> I have tried (pushnew :big-endian *features*)

That should have fixed it -- did you make sure run.lisp was
recompiled afterwards?  I'd start with a clean clm,

(pushnew :big-endian *features*)

then

(load "all.lisp")

Could you send me the contents of the *features* list in this version
of sbcl?  There must be something there that I can use to make this
automatic.

_______________________________________________
Cmdist mailing list
Cmdist@...
http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist

Re: CLM-4/SBCL on OS X PPC

by Bill Schottstaedt :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Oh -- I didn't notice that the crash was unrelated to the warning.
Could you send me the instrument (zeroexpand, I think)?  I can't
tell from the stack trace why it is unhappy.


_______________________________________________
Cmdist mailing list
Cmdist@...
http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist

Parent Message unknown Re: CLM-4/SBCL on OS X PPC

by Geoff Lee :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


On 28 Oct 2009, at 18:38, Bill Schottstaedt wrote:

>> Like I said, it seems to work fine on OSX/
>> intel and Windows (AllegroCL I think), so whether you'll be able to
>> produce whatever the problem is, I don't know.
>
> rats -- I can't get it to happen.  I can't think of anything simple --
> if I had a ppc mac, I'd add the -g3 switch to the C compiler switches,
> (and get rid of -O or -O2), comment out all the clm-print statements,
> recompile at least the instrument, and try again.

That seems to be the key. I couldn't see any -Os to remove from the  
cflags, but it's definitely clm-print causing the crash: remove them  
all and it works fine.

-g3 doesn't seem to throw up any more information when it crashes,  
though perhaps I'm looking in the wrong place..

Thanks again for your help. I guess we can avoid using clm-print if  
necessary but I'm happy to try anything else you can think of to try  
and track down the problem.

Cheers,

-geoff
______________________________________
Geoff Lee <G.Lee@...>
Computing Support
School of Arts, Culture and Environment
University of Edinburgh
20 Chambers St,
Edinburgh, Scotland,
EH1 1JZ
Tel: +44 (0)131 650 2341
______________________________________







--
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.

_______________________________________________
Cmdist mailing list
Cmdist@...
http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist

Re: CLM-4/SBCL on OS X PPC

by Bill Schottstaedt :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> I guess we can avoid using clm-print

clm-print goes through cmus.c mus_error2clm (it seems like
it ought to be using mus_print, but maybe this is an historical
artifact), and that has some weird code surrounded by the
confidence-inspiring name SBCL_PPC_ERROR_KLUDGE.
I can't remember anything about this, but perhaps it's
out-of-date now.

_______________________________________________
Cmdist mailing list
Cmdist@...
http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist

Re: CLM-4/SBCL on OS X PPC

by Geoff Lee :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Hi,

On 30 Oct 2009, at 10:57, Bill Schottstaedt wrote:

>> I guess we can avoid using clm-print
>
> clm-print goes through cmus.c mus_error2clm (it seems like
> it ought to be using mus_print, but maybe this is an historical
> artifact), and that has some weird code surrounded by the
> confidence-inspiring name SBCL_PPC_ERROR_KLUDGE.
> I can't remember anything about this, but perhaps it's
> out-of-date now.

Wow, that is weird.

Just removing the #ifdef SBCL_PPC_ERROR_KLUDGE sections from cmus.c  
does indeed seem to solve the problem :)

This is on 10.5.8/gcc-4.0/sbcl-1.0.29. If I have time later I can test  
it under 10.4 if you like...

Thanks again!

-geoff
______________________________________
Geoff Lee <G.Lee@...>
Computing Support
School of Arts, Culture and Environment
University of Edinburgh
20 Chambers St,
Edinburgh, Scotland,
EH1 1JZ
Tel: +44 (0)131 650 2341
______________________________________







--
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.

_______________________________________________
Cmdist mailing list
Cmdist@...
http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist