https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123881
Bug ID: 123881
Summary: random _M_is_leaked failur
Product: gcc
Version: 16.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: aschwarz at acm dot org
Target Milestone: ---
Created attachment 63530
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=63530&action=edit
Code fragments and Debug back traces
At different line numbers I receive a " received signal SIGSEGV, Segmentation
fault". In trying to track down the failure I have changed single lines of
code. These changes cause a change in the point of failure, where in a previous
iteration the a statement succeeds, now it fails. I do not believe the failure
is in my code. I believe that it is caused by a runtime g++ code failure.
Included in the attachment are the following items:
1. The class being put in a vector.
2. The class containing the vector.
3. The function being accessed at runtime.
4. gdb "bt" listings. The first statement in the code is at TestGlobal.cpp:109.
test
1, Failure in original code. Point of failure is at "sublistOP",
TestGlobal.cpp:115.
2. Attempt to find error cause: static_func() was provided for all 1st
arguments in the code. This avoids static const sequencing issues.
Point of failure is the next statement - "boolOP" at TestGlobal.cpp:110
3. Attempt to discover if failure was do to first argument of class
instantiation. First argument moved to first statement in file. Failure
migrated to "longOP", several statements preceding the test 1 failure.
Test fail at TestGlobal.cpp:115.
4. Copy failure statement from Test 1 to first statement in file. First
statement succeeds, failure at "longOP". Note: The first statement
failed in Test 1. Test fail at TestGlobal.cpp:115.
Test 3 & 4 have the same point of failure. Test 1, 3, 4 fail at
TestGlobal.cpp:115. Test 2 fails at TestGlobal.cpp:110. The failed statement
from TEst 1 was copied to the first statement and failed at the same statement
number.