Subject: Re: string-ref segfaults with n < 0 on Guile 3.0.8
From: [email-masked]
To: [email-masked]
Date: Mon, 02 Jan 2023 04:24:22 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

On 02.01.2023 05:12, [email-masked] wrote:
> The following code results in a segmentation fault on Guile
> 3.0.8-deb+3.0.8-2 (obtained from the Debian repositories):
>     (string-ref "my string" -3)
> 
> gdb's backtrace is the following:
> 
> #0  0x00007ffff7f1bcc5 in ?? () from 
> /lib/x86_64-linux-gnu/libguile-3.0.so.1
> #1  0x00007ffff7f26c49 in scm_call_n ()
>    from /lib/x86_64-linux-gnu/libguile-3.0.so.1
> #2  0x00007ffff7e97b29 in scm_apply_0 ()
>    from /lib/x86_64-linux-gnu/libguile-3.0.so.1
> #3  0x00007ffff7f15966 in scm_throw ()
>    from /lib/x86_64-linux-gnu/libguile-3.0.so.1
> #4  0x00007ffff7f174e9 in scm_ithrow ()
>    from /lib/x86_64-linux-gnu/libguile-3.0.so.1
> #5  0x00007ffff7e94735 in scm_error_scm ()
>    from /lib/x86_64-linux-gnu/libguile-3.0.so.1
> #6  0x00007ffff7e94790 in scm_error ()
>    from /lib/x86_64-linux-gnu/libguile-3.0.so.1
> #7  0x00007ffff7ee19e7 in ?? () from 
> /lib/x86_64-linux-gnu/libguile-3.0.so.1
> #8  0x00007ffff7ee208b in scm_to_uint64 ()
>    from /lib/x86_64-linux-gnu/libguile-3.0.so.1
> #9  0x00007ffff7f1c5e4 in ?? () from 
> /lib/x86_64-linux-gnu/libguile-3.0.so.1
> #10 0x00007ffff7f26c49 in scm_call_n ()
>    from /lib/x86_64-linux-gnu/libguile-3.0.so.1
> #11 0x00007ffff7e93a97 in scm_primitive_eval ()
>    from /lib/x86_64-linux-gnu/libguile-3.0.so.1
> #12 0x00007ffff7e99a86 in scm_eval ()
>    from /lib/x86_64-linux-gnu/libguile-3.0.so.1
> #13 0x00007ffff7ef91c6 in scm_shell () from
> /lib/x86_64-linux-gnu/libguile-3.0.so.1
> #14 0x00007ffff7ea865c in ?? () from 
> /lib/x86_64-linux-gnu/libguile-3.0.so.1
> #15 0x00007ffff7e91f6a in ?? () from 
> /lib/x86_64-linux-gnu/libguile-3.0.so.1
> #16 0x00007ffff7f194e8 in ?? () from 
> /lib/x86_64-linux-gnu/libguile-3.0.so.1
> #17 0x00007ffff7f26c49 in scm_call_n () from
> /lib/x86_64-linux-gnu/libguile-3.0.so.1
> #18 0x00007ffff7e936ea in scm_call_2 () from
> /lib/x86_64-linux-gnu/libguile-3.0.so.1
> #19 0x00007ffff7f42292 in ?? () from 
> /lib/x86_64-linux-gnu/libguile-3.0.so.1
> #20 0x00007ffff7f0ff4f in scm_c_catch () from
> /lib/x86_64-linux-gnu/libguile-3.0.so.1
> #21 0x00007ffff7e942e6 in scm_c_with_continuation_barrier () from
> /lib/x86_64-linux-gnu/libguile-3.0.so.1
> #22 0x00007ffff7f14b89 in ?? () from 
> /lib/x86_64-linux-gnu/libguile-3.0.so.1
> #23 0x00007ffff7c190e7 in GC_call_with_stack_base () from
> /lib/x86_64-linux-gnu/libgc.so.1
> #24 0x00007ffff7f0fe68 in scm_with_guile () from
> /lib/x86_64-linux-gnu/libguile-3.0.so.1
> #25 0x00007ffff7eb1185 in scm_boot_guile () from
> /lib/x86_64-linux-gnu/libguile-3.0.so.1
> #26 0x000055555555510f in ?? ()
> #27 0x00007ffff7c9918a in __libc_start_call_main
> (main=main@entry=0x5555555550b0, argc=argc@entry=1,
> argv=argv@entry=0x7fffffffe0b8) at
> ../sysdeps/nptl/libc_start_call_main.h:58
> #28 0x00007ffff7c99245 in __libc_start_main_impl (main=0x5555555550b0,
> argc=1, argv=0x7fffffffe0b8, init=<optimized out>, fini=<optimized
> out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe0a8) at
> ../csu/libc-start.c:381
> #29 0x00005555555551aa in ?? ()

Sorry, didn't see #59874. This bug report is a duplicate of that bug. 
Therefore this should be closed.