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

Reply via email to