Quite strange... mine is aborting
[xtian@vbox:/home/xtian] $ gdb apl
GNU gdb (Fedora Linux) 16.2-3.fc42
Copyright (C) 2024 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from apl...
(gdb) run
Starting program: /usr/local/bin/apl
This GDB supports auto-downloading debuginfo from the following URLs:
<https://debuginfod.fedoraproject.org/>
Enable debuginfod for this session? (y or [n]) y
Debuginfod has been enabled.
To make this setting permanent, add 'set debuginfod enabled on' to
.gdbinit.
Function(s) ^std::(move|forward|as_const|(__)?addressof) will be
skipped when stepping.
Function(s) ^std::(shared|unique)_ptr<.*>::(get|operator) will be
skipped when stepping.
Function(s)
^std::(basic_string|vector|array|deque|(forward_)?list|(unordered_|flat_)?(multi)?(map|set)|span)<.*>::(c?r?(begin|end)|front|back|data|size|empty)
will be skipped when ste
pping.
Function(s)
^std::(basic_string|vector|array|deque|span)<.*>::operator.] will be
skipped when stepping.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
______ _ __ __ __ ___ ____ __
/ ____// | / // / / / / | / __ \ / /
/ / __ / |/ // / / / / /| | / /_/ // /
/ /_/ // /| // /_/ / / ___ | / ____// /___
\____//_/ |_/ \____/ /_/ |_|/_/ /_____/
Welcome to GNU APL version 1.9 / SVN: 1864M
Copyright © 2008-2025 Dr. Jürgen Sauermann
Banner by FIGlet: www.figlet.org
This program comes with ABSOLUTELY NO WARRANTY;
for details run: /usr/local/bin/apl --gpl.
This program is free software, and you are welcome to redistribute it
according to the GNU Public License (GPL) version 3 or later.
SAVED 2025-04-16 16:08:48 (GMT-4)
⎕AV ⍳ 'a'
/usr/include/c++/15/bits/stl_vector.h:1263: std::vector<_Tp,
_Alloc>::reference std::vector<_Tp, _Alloc>::operator[](size_type)
[with _Tp = Token; _Alloc = std::allocator<Token>; refer
ence = Token&; size_type = long unsigned int]: Assertion '__n <
this->size()' failed.
Program received signal SIGABRT, Aborted.
__pthread_kill_implementation(threadid=<optimized out>,
signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
44returnINTERNAL_SYSCALL_ERROR_P(ret)?INTERNAL_SYSCALL_ERRNO(ret):0;
(gdb) where
#0 __pthread_kill_implementation(threadid=<optimized out>,
signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1 0x00007ffff6080f23in __pthread_kill_internal(threadid=<optimized
out>, signo=6) at pthread_kill.c:89
#2 0x00007ffff6027abein __GI_raise(sig=sig@entry=6) at
../sysdeps/posix/raise.c:26
#3 0x00007ffff600f6d0in __GI_abort() at abort.c:73
#4 0x00007ffff620b052in std::__glibcxx_assert_fail(file=<optimized
out>, line=<optimized out>, function=<optimized out>,
condition=<optimized out>)
at ../../../../../libstdc++-v3/src/c++11/assert_fail.cc:41
#5 0x000000000047c06fin std::vector<Token, std::allocator<Token>
>::operator[](this=0x93ae60, __n=18446744073709551615) at
/usr/include/c++/15/bits/stl_vector.h:1263
#6 0x00000000004c3eb4in Parser::optimize_short_primitives(tos=...) at
Parser.cc:835
#7 0x00000000004c20b6in Parser::parse_statement(tos=...,
optimize=true) at Parser.cc:195
#8 0x00000000004c1e11in Parser::parse(this=0x7fffffffd9b0, input=...,
tos=..., optimize=true) at Parser.cc:126
#9 0x00000000004c1ba8in Parser::parse(this=0x7fffffffd9b0, input=...,
tos=..., optimize=true) at Parser.cc:68
#10 0x000000000048d892in Executable::parse_body_line(this=0x8e13e0,
line=Function_Line_0, ucs_line=..., trace=false, tolerant=false,
loc=0x6e698a "Command.cc:318", macro=false)
at Executable.cc:151
#11 0x00000000004918f0in StatementList::fix(data=..., loc=0x6e698a
"Command.cc:318") at Executable.cc:1472
#12 0x0000000000463bc6in Command::do_APL_expression(line=...) at
Command.cc:318
#13 0x00000000004618bcin Command::process_line(line=..., out=0x0) at
Command.cc:174
#14 0x0000000000461661in Command::process_line() at Command.cc:136
#15 0x00000000005f841din
Workspace::immediate_execution(exit_on_error=false) at Workspace.cc:260
#16 0x0000000000403182in main(argc=1, argv=0x7fffffffe118) at main.cc:641
(gdb)
On 2025-04-25 12:52, Hans-Peter Sorge wrote:
Hi Jürgen
I reverted /usr/include/c++/15/bits/stl_vector.h
and checked out SVN 1863.
It does not show the bug.
Best Regards
Hans-Peter
Am 25.04.25 um 14:19 schrieb Dr. Jürgen Sauermann:
Hi Hans-Peter,
difficult to reproduce since the Assertion below does not occur on
my machine.
However, I fixed something that may or may not solve the issue.
*SVN 1863*.
Please let me know if it helped.
Best Regards,
Jürgen
On 4/23/25 15:23, Hans-Peter Sorge wrote:
Hi,
this is with most recent SVN:
⎕AV ⍳ 'a'
/usr/include/c++/15/bits/stl_vector.h:1263: std::vector<_Tp,
_Alloc>::reference std::vector<_Tp, _Alloc>::operator[](size_type)
[with _Tp = Token; _Alloc = std::allocator<Token>; reference =
Token&; size_type = long unsigned int]: Assertion '__n <
this->size()' failed.
Abgebrochen (Speicherabzug geschrieben)
Best Regards
Hans-Peter