* RHEL4 i386 * umb-scheme-3.2-35 When running the program, an error occurs: > $ /usr/bin/umb-scheme > Welcome to UMB Scheme, version 3.2 Copyright (c) 1988,1996 William R Campbell. > UMB Scheme comes with ABSOLUTELY NO WARRANTY. This is free software and > you are free to redistribute it under certain conditions. > See the UMB Scheme Release Notes for details. Type Control-d to exit. > > Loading /usr/share/umb-scheme/prelude.scheme... > > Fatal Error: Segmentation Violation. > > Reset (Use Control-d to quit UMB Scheme) > $ this error does not occur on all arches, for example here is what the s390 version does: > .qa.[root@tennyson ~]# umb-scheme > Welcome to UMB Scheme, version 3.2 Copyright (c) 1988,1996 William R Campbell. > UMB Scheme comes with ABSOLUTELY NO WARRANTY. This is free software and > you are free to redistribute it under certain conditions. > See the UMB Scheme Release Notes for details. Type Control-d to exit. > > Loading /usr/share/umb-scheme/prelude.scheme... > Loading /usr/share/umb-scheme/slib/umbscheme.init... > Loading /usr/share/umb-scheme/slib/require.scm... > > ==> > #
In fc5 development (umb-scheme-3.2-39) strace shows the segfault occurs when processing the "defmacro let" from the prelude.scheme. Pasting it after the prompt has appeared causes the program to completely terminate: $ umb-scheme Welcome to UMB Scheme, version 3.2 Copyright (c) 1988,1996 William R Campbell. UMB Scheme comes with ABSOLUTELY NO WARRANTY. This is free software and you are free to redistribute it under certain conditions. See the UMB Scheme Release Notes for details. Type Control-d to exit. Loading /usr/share/umb-scheme/prelude.scheme... Fatal Error: Segmentation Violation. Reset (Use Control-d to quit UMB Scheme) ==> (defmacro let (arg1 arg2 . args) (if (symbol? arg1) ; named let `((letrec ((,arg1 (lambda ,(#_map1 car arg2) ,@args))) ,arg1) ,@(#_map1 cadr arg2)) ; regular let (if (null? args) ; simple body `((lambda ,(#_map1 car arg1) ,arg2) ,@(#_map1 cadr arg1)) ; composite body `((lambda ,(#_map1 car arg1) ,arg2 ,@args) ,@(#_map1 cadr arg1))))) Error: Bad function object:Segmentation fault
Created attachment 123485 [details] Fix forwarding objects.
Created attachment 123486 [details] Fix a problem with garbage collection. These two patches should make umb-scheme usable again.
QE ack for really really smart handsome bug reporter who took the time to include a thought provoking intensely personal test case dialog and who really ought to have better luck with the ladies ...
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2006-0343.html