https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82890
Bug ID: 82890 Summary: Demangler segfaults Product: gcc Version: 7.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: demangler Assignee: unassigned at gcc dot gnu.org Reporter: ahoward at foxguardsolutions dot com Target Milestone: --- Demangler causes a segmentation fault when demangling name: "_ZN5boost2di6v1_0_19providers15stack_over_heap3getIN3FGS9ICSUpdate7Parsing11PatchParserEJNS1_4core10successful8any_typeIS8_NS9_8injectorINS1_6configENS9_4poolINS1_3aux9type_listIJEEEEEJZNKS1_6detailUlT_E_clINSC_ISD_SI_JZNKSM_INSC_ISD_SI_JZNKSM_INSC_ISD_SI_JNS9_10dependencyINS1_6scopes6uniqueENS7_17IPatchLinksParserENS7_16PatchLinksParserENS1_7no_nameEvEEEEEEEDaSK_E1iZNKSM_INSC_ISD_SI_JNSN_INSO_6deduceENS7_15IPatchCveParserENS7_14PatchCveParserESS_vEEEEEEEDaSK_E1iZNKSM_INSC_ISD_SI_JNSN_ISW_NS7_20IPatchChecksumParserENS7_19PatchChecksumParserESS_vEEEEEEEDaSK_E1iZNKSM_INSC_ISD_SI_JNSN_ISW_NS7_12IPatchParserES8_SS_vEEEEEEEDaSK_E1iEEEEEDaSK_E1iZNKSM_INSC_ISD_SI_JZNKSM_INSC_ISD_SI_JNSN_ISW_NS7_17PatchAvailability18ISuccessItemParserENS1D_17SuccessItemParserESS_vEEEEEEEDaSK_E1iZNKSM_INSC_ISD_SI_JNSN_ISW_NS1D_18IFailureItemParserENS1D_17FailureItemParserESS_vEEEEEEEDaSK_E1iEEEEEDaSK_E1iZNKSM_INSC_ISD_SI_JZNKSM_INSC_ISD_SI_JNSN_ISW_NS6_14FileOperations11IFileReaderENS1Q_10FileReaderESS_vEEEEEEEDaSK_E1iZNKSM_INSC_ISD_SI_JNSN_ISW_NS1D_13IReportParserENS1D_12ReportParserESS_vEEEEEEEDaSK_E1iEEEEEDaSK_E1iZNKSM_INSC_ISD_SI_JNSN_INSO_8instanceESt8functionIFSt10unique_ptrINS7_10JsonModels13IJsonDocumentESt14default_deleteIS27_EERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEZNKS6_2DI13ParsingModule23registerDocumentFactoryEvEUlS2I_E_SS_vEEEEEEEDaSK_E1iEEEEEDaSK_E1iZNKSM_INSC_ISD_SI_JZNKSM_INSC_ISD_SI_JNSN_ISW_NS6_18ChartDataFactories18ItemValueFactories28ItemValueAccumulationFactoryES2V_SS_vEENSN_ISW_NS2T_31ValueAccumulationFactoryWrapperIS2V_EES2Y_SS_vEEEEEEEDaSK_E1iZNKSM_INSC_ISD_SI_JNSN_ISW_NS2T_26SingleAxisChartDataFactoryIS2Y_EES33_SS_vEENSN_ISW_NS2T_28MultipleAxisChartDataFactoryES35_SS_vEEEEEEEDaSK_E1iZNKSM_INSC_ISD_SI_JNSN_ISW_NS9_5arrayINS2T_37IPropertyNameChartDataSelectionMapperINS6_6Models11JsonReports17PatchAvailability11SuccessItemES2G_St6vectorIPNS3C_5PatchESaIS3H_EES3G_EEJEEENS39_IS3K_JNS2T_23PatchChartDataFactories25PatchNameChartDataFactoryENS3M_27PatchVendorChartDataFactoryENS3M_24SeverityChartDataFactoryENS3M_26UpdateTypeChartDataFactoryEEEESS_vEEEEEEEDaSK_E1iZNKSM_INSC_ISD_SI_JNSN_ISW_NS39_INS3A_IS3E_S2G_S3F_IPS3E_SaIS3V_EES3E_EEJEEENS39_IS3Y_JNS2T_32FGSIdentifiersChartDataFactories26VendorNameDataPointFactoryENS40_33VendorProductNameDataPointFactoryENS40_40VendorProductVersionNameDataPointFactoryEEEESS_vEEEEEEEDaSK_E1iZNKSM_INSC_ISD_SI_JNSN_ISW_NS39_INS2T_21ReportActionExecutors21IReportActionExecutorEJEEENS39_IS49_JNS48_25PatchReportActionExecutorIS35_S33_EENS48_31SuccessItemReportActionExecutorIS35_S33_EEEEESS_vEENSN_ISW_S49_NS48_29ReportActionExecutorCompositeESS_vEEEEEEEDaSK_E1iEEEEEDaSK_E1iEEEEES4O_S4O_EEEDaRKNS1_11type_traits6directERKNS4P_4heapEDpOT0_" A small test program with a call to `cxa::__cxa_demangle` with the offending string as an argument yeilds the following backtrace from gdb: ` $ gdb ./a.out GNU gdb (GDB) 8.0.1 Reading symbols from ./a.out...done. (gdb) r Starting program: /mnt/f/repos/c++/demangling/a.out Program received signal SIGSEGV, Segmentation fault. d_print_callback (options=17, opaque=0x7fffffffe7a0, callback=0x7ffff7ae0770 <d_growable_string_callback_adapter>, dc=0x7ffffffe29b0) at cp-demangle.c:4282 4282 cp-demangle.c: No such file or directory. (gdb) bt #0 d_print_callback (options=17, opaque=0x7fffffffe7a0, callback=0x7ffff7ae0770 <d_growable_string_callback_adapter>, dc=0x7ffffffe29b0) at cp-demangle.c:4282 #1 d_demangle_callback (mangled=<optimized out>, callback=callback@entry=0x7ffff7ae0770 <d_growable_string_callback_adapter>, opaque=opaque@entry=0x7fffffffe7a0, options=17) at cp-demangle.c:6256 #2 0x00007ffff7ae9a69 in d_demangle (options=17, palc=<synthetic pointer>, mangled=<optimized out>) at cp-demangle.c:6277 #3 __cxa_demangle (mangled_name=<optimized out>, output_buffer=0x0, length=0x0, status=0x7fffffffe814) at cp-demangle.c:6341 #4 0x0000555555554a74 in main (argc=1, argv=0x7fffffffe908) at bug.cc:10 (gdb) l 4277 in cp-demangle.c (gdb) ` I'm using gcc 7.2.0 on arch with gdb 8.0.1. As a note, while I did compile the program above myself (for debugging symbols), the same symbol will also crash c++filt. Please let me know if you need further information. Thanks!