https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116978
Bug ID: 116978 Summary: ICE with -fdiagnostics-format=sarif-file when main_input_filename is null Product: gcc Version: unknown Status: UNCONFIRMED Keywords: SARIF Severity: normal Priority: P3 Component: other Assignee: unassigned at gcc dot gnu.org Reporter: dmalcolm at gcc dot gnu.org Target Milestone: --- Running cc1/cc1plus/etc directly like this ICEs: $ ./cc1 -fdiagnostics-format=sarif-file cc1: internal compiler error: Segmentation fault 0x2bb73ef internal_error(char const*, ...) ../../src/gcc/diagnostic-global-context.cc:517 0x15e35a1 crash_signal ../../src/gcc/toplev.cc:321 0x2c9d0a4 htab_hash_string ../../src/libiberty/hashtab.c:838 0xce6b71 string_hash::hash(char const*) ../../src/gcc/hash-traits.h:239 0x2bac2da simple_hashmap_traits<default_hash_traits<nofree_string_hash>, sarif_artifact*>::hash(char const* const&) ../../src/gcc/hash-map-traits.h:50 0x2ba7580 hash_map<nofree_string_hash, sarif_artifact*, simple_hashmap_traits<default_hash_traits<nofree_string_hash>, sarif_artifact*> >::get(char const* const&) ../../src/gcc/hash-map.h:191 0x2ba1dc4 ordered_hash_map<nofree_string_hash, sarif_artifact*, simple_hashmap_traits<default_hash_traits<nofree_string_hash>, sarif_artifact*> >::get(char const* const&) ../../src/gcc/ordered-hash-map.h:76 0x2b98ec3 sarif_builder::get_or_create_artifact(char const*, diagnostic_artifact_role, bool) ../../src/gcc/diagnostic-format-sarif.cc:2939 0x2b9506b sarif_builder::sarif_builder(diagnostic_context&, line_maps const*, char const*, bool, sarif_version) ../../src/gcc/diagnostic-format-sarif.cc:1515 0x2b9db12 sarif_output_format::sarif_output_format(diagnostic_context&, line_maps const*, char const*, bool, sarif_version) ../../src/gcc/diagnostic-format-sarif.cc:3202 0x2b9dc7b sarif_file_output_format::sarif_file_output_format(diagnostic_context&, line_maps const*, char const*, bool, sarif_version, char const*) ../../src/gcc/diagnostic-format-sarif.cc:3245 0x2b99e61 diagnostic_output_format_init_sarif_file(diagnostic_context&, line_maps const*, char const*, bool, sarif_version, char const*) ../../src/gcc/diagnostic-format-sarif.cc:3447 0x2b8bca0 diagnostic_output_format_init(diagnostic_context&, char const*, char const*, diagnostics_output_format, bool) ../../src/gcc/diagnostic.cc:1635 0x2b65d8a common_handle_option(gcc_options*, gcc_options*, cl_decoded_option const*, unsigned int, int, unsigned int, cl_option_handlers const*, diagnostic_context*, void (*)()) ../../src/gcc/opts.cc:2968 0x2b6ce10 handle_option ../../src/gcc/opts-common.cc:1316 0x2b6db90 read_cmdline_option(gcc_options*, gcc_options*, cl_decoded_option*, unsigned int, unsigned int, cl_option_handlers const*, diagnostic_context*) ../../src/gcc/opts-common.cc:1646 0x1495e0c read_cmdline_options ../../src/gcc/opts-global.cc:242 0x149604f decode_options(gcc_options*, gcc_options*, cl_decoded_option*, unsigned int, unsigned int, diagnostic_context*, void (*)()) ../../src/gcc/opts-global.cc:329 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions. #6 0x0000000002b9506c in sarif_builder::sarif_builder (this=0x3d3d770, context=..., line_maps=0x7ffff7ffb000, main_input_filename_=0x0, formatted=true, version=sarif_version::v2_1_0) at ../../src/gcc/diagnostic-format-sarif.cc:1515 1515 false); (gdb) list 1510 since otherwise the "no diagnostics" case would quote the main input 1511 file, and doing so noticeably bloated the output seen in analyzer 1512 integration testing (build directory went from 20G -> 21G). */ 1513 get_or_create_artifact (main_input_filename_, 1514 diagnostic_artifact_role::analysis_target, 1515 false); 1516 } (gdb) p main_input_filename_ $3 = 0x0