Jürgen,
try this sample program on your system:
$ cat x.cc
#include <iostream>
#include <vector>
int main() {
// Create a vector of integers
std::vector<int> vec;
// Add elements to the vector
for (int i=0 ; i<10 ; ++i)
{
vec.push_back(i);
}
// Access and print vector elements
for (size_t i = 0; i < vec.size(); ++i) {
std::cout << "Vector element #" << i + 1 << ": " << vec[i] <<
std::endl;
}
// Both of theses prints will abort the program on Fedora 42 but will
print something on Fedora 41
std::cout << " Over-access: " << vec[100] << std::endl;
std::cout << "Under-access: " << vec[-1] << std::endl;
return 0;
}
On Fedora 41 and also on your system it will print:
[xtian@fedora:/home/xtian] $ ./x
Vector element #1: 0
Vector element #2: 1
Vector element #3: 2
Vector element #4: 3
Vector element #5: 4
Vector element #6: 5
Vector element #7: 6
Vector element #8: 7
Vector element #9: 8
Vector element #10: 9
Over-access: 0
Under-access: 0
On Fedora 42 and also the system of Hans-Peter it will print:
[xtian@vbox:/home/xtian] $ ./x
Vector element #1: 0
Vector element #2: 1
Vector element #3: 2
Vector element #4: 3
Vector element #5: 4
Vector element #6: 5
Vector element #7: 6
Vector element #8: 7
Vector element #9: 8
Vector element #10: 9
/usr/include/c++/15/bits/stl_vector.h:1263: std::vector<_Tp,
_Alloc>::reference std::vector<_Tp, _Alloc>::operator[](size_type) [with
_Tp = int; _Alloc = std::allocator<int>; reference
= int&; size_type = long unsigned int]: Assertion '__n < this->size()'
failed.
Aborted (core dumped)
hope this will help,
Xtian.
On 2025-04-26 11:02, Dr. Jürgen Sauermann wrote:
Hi,
maybe fixed in *SVN 1865*. Somewhat weird that some system show
the fault and some (including mine) do not.
Best Regards,
Jürgen