The error seems to happen in the error reporting, not actually because of the 
shift.

The following backtrace is with Guile compiled with -O1 -g, the same error 
happens with -O2.

GNU Guile 2.1.1.125-ae0380-dirty
Copyright (C) 1995-2014 Free Software Foundation, Inc.

Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.

Enter `,help' for help.
scheme@(guile-user)> (import (ice-9 control))
scheme@(guile-user)> (shift k 9)

Thread 1 "guile" received signal SIGSEGV, Segmentation fault.
0x00007ffff7b3e02a in scm_is_pair (x=0x61900000300) at 
../../src4/libguile/pairs.h:159
159       return SCM_I_CONSP (x);
(gdb) backtrace
#0  0x00007ffff7b3e02a in scm_is_pair (x=0x61900000300) at 
../../src4/libguile/pairs.h:159
#1  scm_iprlist (hdr=<optimized out>, hdr@entry=0x7ffff7b9799d "(", 
exp=exp@entry=0x7ffff7fb0748, tlr=tlr@entry=41, port=port@entry=0x98b3c0,
    pstate=pstate@entry=0x7e9b00) at ../../src4/libguile/print.c:1427
#2  0x00007ffff7b3e7e2 in iprin1 (exp=exp@entry=0x7ffff7fb0748, 
port=port@entry=0x98b3c0, pstate=pstate@entry=0x7e9b00) at 
../../src4/libguile/print.c:685
#3  0x00007ffff7b3dc87 in scm_iprin1 (exp=exp@entry=0x7ffff7fb0748, 
port=port@entry=0x98b3c0, pstate=pstate@entry=0x7e9b00) at 
../../src4/libguile/print.c:587
#4  0x00007ffff7b3df6c in scm_prin1 (exp=exp@entry=0x7ffff7fb0748, 
port=port@entry=0x98b3c0, writingp=writingp@entry=1) at 
../../src4/libguile/print.c:874
#5  0x00007ffff7b3f080 in scm_write (obj=obj@entry=0x7ffff7fb0748, 
port=port@entry=0x98b3c0) at ../../src4/libguile/print.c:1533
#6  0x00007ffff7b620e5 in scm_object_to_string (obj=0x7ffff7fb0748, 
printer=<optimized out>) at ../../src4/libguile/strports.c:341
#7  0x00007ffff7b14d8a in scm_apply_subr (sp=sp@entry=0x7ffff7e62570, 
nslots=<optimized out>) at ../../src4/libguile/gsubr.c:320
#8  0x00007ffff7b6ad4e in vm_debug_engine (thread=0x663e00, vp=0x68fd80, 
registers=0x7fffffffd0c0, resume=<optimized out>) at 
../../src4/libguile/vm-engine.c:799
#9  0x00007ffff7b76f2b in scm_call_n (proc=proc@entry=0x717ce0, argv=<optimized 
out>, nargs=5) at ../../src4/libguile/vm.c:1267
#10 0x00007ffff7b03029 in scm_apply_0 (proc=proc@entry=0x717ce0, args=0x304) at 
../../src4/libguile/eval.c:586
#11 0x00007ffff7b03b90 in scm_apply_1 (proc=0x717ce0, arg1=arg1@entry=0x6a59a0, 
args=args@entry=0x95ab10) at ../../src4/libguile/eval.c:592
#12 0x00007ffff7b677b9 in scm_throw (key=key@entry=0x6a59a0, args=0x95ab10) at 
../../src4/libguile/throw.c:261
#13 0x00007ffff7b67c05 in scm_ithrow (key=key@entry=0x6a59a0, args=<optimized 
out>, no_return=no_return@entry=1) at ../../src4/libguile/throw.c:604
#14 0x00007ffff7b01161 in scm_error_scm (key=key@entry=0x6a59a0, 
subr=<optimized out>, message=message@entry=0x95c780, args=args@entry=0x95ab50,
    data=data@entry=0x95ab60) at ../../src4/libguile/error.c:94
#15 0x00007ffff7b01214 in scm_error (key=0x6a59a0, 
subr=subr@entry=0x7ffff7b8aec7 "variable-ref", 
message=message@entry=0x7ffff7b98645 "Not a variable: ~S",
    args=0x95ab50, rest=rest@entry=0x95ab60) at ../../src4/libguile/error.c:59
#16 0x00007ffff7b69bed in vm_error_not_a_variable 
(func_name=func_name@entry=0x7ffff7b8aec7 "variable-ref", x=0x7ffff7fb0748) at 
../../src4/libguile/vm.c:493
#17 0x00007ffff7b6cd74 in vm_debug_engine (thread=0x663e00, vp=0x68fd80, 
registers=0x7fffffffd3b0, resume=<optimized out>) at 
../../src4/libguile/vm-engine.c:1594
#18 0x00007ffff7b76f2b in scm_call_n (proc=0x7ffff00c6030, 
argv=argv@entry=0x7fffffffd4b8, nargs=nargs@entry=1) at 
../../src4/libguile/vm.c:1267
#19 0x00007ffff7b03cf7 in scm_primitive_eval (exp=exp@entry=0x73f9a0) at 
../../src4/libguile/eval.c:654
#20 0x00007ffff7b03d73 in scm_eval (exp=0x73f9a0, 
module_or_state=module_or_state@entry=0x7212d0) at 
../../src4/libguile/eval.c:688
#21 0x00007ffff7b48fd0 in scm_shell (argc=1, argv=0x7fffffffdb68) at 
../../src4/libguile/script.c:454
#22 0x00000000004009b6 in inner_main (closure=<optimized out>, argc=<optimized 
out>, argv=<optimized out>) at ../../src4/libguile/guile.c:56
#23 0x00007ffff7b1a2af in invoke_main_func (body_data=0x7fffffffda10) at 
../../src4/libguile/init.c:338
#24 0x00007ffff7afe11a in c_body (d=0x7fffffffd950) at 
../../src4/libguile/continuations.c:429
#25 0x00007ffff7b6764c in apply_catch_closure (clo=<optimized out>, 
args=<optimized out>) at ../../src4/libguile/throw.c:303
#26 0x00007ffff7b4940d in apply_1 (smob=<optimized out>, a=<optimized out>) at 
../../src4/libguile/smob.c:141
#27 0x00007ffff7b14d8a in scm_apply_subr (sp=sp@entry=0x7ffff02d0fc0, 
nslots=<optimized out>) at ../../src4/libguile/gsubr.c:320
#28 0x00007ffff7b716ee in vm_regular_engine (thread=0x663e00, vp=0x68fd80, 
registers=0x7fffffffd650, resume=<optimized out>) at 
../../src4/libguile/vm-engine.c:799
#29 0x00007ffff7b76f2b in scm_call_n (proc=proc@entry=0x733c80, 
argv=argv@entry=0x0, nargs=nargs@entry=0) at ../../src4/libguile/vm.c:1267
#30 0x00007ffff7b02cdc in scm_call_0 (proc=proc@entry=0x733c80) at 
../../src4/libguile/eval.c:473
#31 0x00007ffff7b673d3 in catch (tag=tag@entry=0x404, 
thunk=thunk@entry=0x733c80, handler=handler@entry=0x733c60, 
pre_unwind_handler=0x733c40)
    at ../../src4/libguile/throw.c:135
#32 0x00007ffff7b67778 in scm_catch_with_pre_unwind_handler 
(key=key@entry=0x404, thunk=thunk@entry=0x733c80, 
handler=handler@entry=0x733c60,
    pre_unwind_handler=<optimized out>) at ../../src4/libguile/throw.c:249
#33 0x00007ffff7b67818 in scm_c_catch (tag=tag@entry=0x404, 
body=body@entry=0x7ffff7afe110 <c_body>, 
body_data=body_data@entry=0x7fffffffd950,
    handler=handler@entry=0x7ffff7afe346 <c_handler>, 
handler_data=handler_data@entry=0x7fffffffd950,
    pre_unwind_handler=pre_unwind_handler@entry=0x7ffff7afe211 
<pre_unwind_handler>, pre_unwind_handler_data=0x6ee440) at 
../../src4/libguile/throw.c:370
#34 0x00007ffff7afe770 in scm_i_with_continuation_barrier 
(body=body@entry=0x7ffff7afe110 <c_body>, 
body_data=body_data@entry=0x7fffffffd950,
    handler=handler@entry=0x7ffff7afe346 <c_handler>, 
handler_data=handler_data@entry=0x7fffffffd950,
    pre_unwind_handler=pre_unwind_handler@entry=0x7ffff7afe211 
<pre_unwind_handler>, pre_unwind_handler_data=0x6ee440) at 
../../src4/libguile/continuations.c:367
#35 0x00007ffff7afe7f7 in scm_c_with_continuation_barrier (func=<optimized 
out>, data=<optimized out>) at ../../src4/libguile/continuations.c:463
#36 0x00007ffff7b6507e in with_guile_and_parent 
(base=base@entry=0x7fffffffd9b0, data=data@entry=0x7fffffffd9e0) at 
../../src4/libguile/threads.c:786
#37 0x00007ffff6d52472 in GC_call_with_stack_base (fn=fn@entry=0x7ffff7b65018 
<with_guile_and_parent>, arg=arg@entry=0x7fffffffd9e0) at misc.c:1845
#38 0x00007ffff7b658b1 in scm_i_with_guile_and_parent (parent=<optimized out>, 
data=0x7fffffffd9e0, func=0x7ffff7b1a292 <invoke_main_func>)
    at ../../src4/libguile/threads.c:829
#39 scm_with_guile (func=func@entry=0x7ffff7b1a292 <invoke_main_func>, 
data=data@entry=0x7fffffffda10) at ../../src4/libguile/threads.c:835
#40 0x00007ffff7b1a442 in scm_boot_guile (argc=argc@entry=1, 
argv=argv@entry=0x7fffffffdb68, main_func=main_func@entry=0x4009a8 
<inner_main>, closure=closure@entry=0x0)
    at ../../src4/libguile/init.c:321
#41 0x0000000000400a6d in main (argc=1, argv=0x7fffffffdb68) at 
../../src4/libguile/guile.c:101




Reply via email to