[clang] [clang][ssaf] Add `JSONFormat` support for `WPASuite` (PR #191082)
Jake Egan via cfe-commits
cfe-commits at lists.llvm.org
Wed Apr 15 08:05:37 PDT 2026
jakeegan wrote:
`with-plugins.test` is failing on the AIX bot:
```
******************** TEST 'Clang :: Analysis/Scalable/ssaf-format/WPASuite/with-plugin.test' FAILED ********************
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 5
rm -rf /home/llvm/llvm-external-buildbots/workers/aix-ppc64/clang-flang-ppc64-aix/build/tools/clang/test/Analysis/Scalable/ssaf-format/WPASuite/Output/with-plugin.test.tmp
# executed command: rm -rf /home/llvm/llvm-external-buildbots/workers/aix-ppc64/clang-flang-ppc64-aix/build/tools/clang/test/Analysis/Scalable/ssaf-format/WPASuite/Output/with-plugin.test.tmp
# RUN: at line 6
mkdir -p /home/llvm/llvm-external-buildbots/workers/aix-ppc64/clang-flang-ppc64-aix/build/tools/clang/test/Analysis/Scalable/ssaf-format/WPASuite/Output/with-plugin.test.tmp
# executed command: mkdir -p /home/llvm/llvm-external-buildbots/workers/aix-ppc64/clang-flang-ppc64-aix/build/tools/clang/test/Analysis/Scalable/ssaf-format/WPASuite/Output/with-plugin.test.tmp
# RUN: at line 14
not /home/llvm/llvm-external-buildbots/workers/aix-ppc64/clang-flang-ppc64-aix/build/bin/clang-ssaf-format --load /home/llvm/llvm-external-buildbots/workers/aix-ppc64/clang-flang-ppc64-aix/build/lib/SSAFExamplePlugin.so --type wpa /home/llvm/llvm-external-buildbots/workers/aix-ppc64/clang-flang-ppc64-aix/llvm-project/clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-missing-result-field.json 2>&1 | /home/llvm/llvm-external-buildbots/workers/aix-ppc64/clang-flang-ppc64-aix/build/bin/FileCheck /home/llvm/llvm-external-buildbots/workers/aix-ppc64/clang-flang-ppc64-aix/llvm-project/clang/test/Analysis/Scalable/ssaf-format/WPASuite/with-plugin.test --match-full-lines --check-prefix=NO-RESULT-FIELD
# executed command: not /home/llvm/llvm-external-buildbots/workers/aix-ppc64/clang-flang-ppc64-aix/build/bin/clang-ssaf-format --load /home/llvm/llvm-external-buildbots/workers/aix-ppc64/clang-flang-ppc64-aix/build/lib/SSAFExamplePlugin.so --type wpa /home/llvm/llvm-external-buildbots/workers/aix-ppc64/clang-flang-ppc64-aix/llvm-project/clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-missing-result-field.json
# note: command had no output on stdout or stderr
# error: command failed with exit status: 1
# executed command: /home/llvm/llvm-external-buildbots/workers/aix-ppc64/clang-flang-ppc64-aix/build/bin/FileCheck /home/llvm/llvm-external-buildbots/workers/aix-ppc64/clang-flang-ppc64-aix/llvm-project/clang/test/Analysis/Scalable/ssaf-format/WPASuite/with-plugin.test --match-full-lines --check-prefix=NO-RESULT-FIELD
# .---command stderr------------
# | /home/llvm/llvm-external-buildbots/workers/aix-ppc64/clang-flang-ppc64-aix/llvm-project/clang/test/Analysis/Scalable/ssaf-format/WPASuite/with-plugin.test:16:21: error: NO-RESULT-FIELD: expected string not found in input
# | // NO-RESULT-FIELD: clang-ssaf-format: error: reading WPASuite from file '{{.*}}result-entry-missing-result-field.json'
# | ^
# | <stdin>:1:1: note: scanning from here
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
# | ^
# | <stdin>:3:356: note: possible intended match here
# | 0. Program arguments: /home/llvm/llvm-external-buildbots/workers/aix-ppc64/clang-flang-ppc64-aix/build/bin/clang-ssaf-format --load /home/llvm/llvm-external-buildbots/workers/aix-ppc64/clang-flang-ppc64-aix/build/lib/SSAFExamplePlugin.so --type wpa /home/llvm/llvm-external-buildbots/workers/aix-ppc64/clang-flang-ppc64-aix/llvm-project/clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-missing-result-field.json
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/llvm/llvm-external-buildbots/workers/aix-ppc64/clang-flang-ppc64-aix/llvm-project/clang/test/Analysis/Scalable/ssaf-format/WPASuite/with-plugin.test
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | 1: PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
# | check:16'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | 2: Stack dump:
# | check:16'0 ~~~~~~~~~~~~
# | 3: 0. Program arguments: /home/llvm/llvm-external-buildbots/workers/aix-ppc64/clang-flang-ppc64-aix/build/bin/clang-ssaf-format --load /home/llvm/llvm-external-buildbots/workers/aix-ppc64/clang-flang-ppc64-aix/build/lib/SSAFExamplePlugin.so --type wpa /home/llvm/llvm-external-buildbots/workers/aix-ppc64/clang-flang-ppc64-aix/llvm-project/clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-missing-result-field.json
# | check:16'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:16'1 ? possible intended match
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
********************
```
With debug enabled:
```
$ dbx /home/jake1/llvm/up/build/bin/clang-ssaf-format core
Type 'help' for help.
[using memory image in core]
reading symbolic information ...
warning: function symbol "$llvm::cl::parser<(anonymous namespace)::SummaryType>::llvm::cl::parser<-inline$793" may have some processing issues
warning: function symbol "" may have some processing issues
warning: function symbol "$std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string-inline$14" may have some processing issues
warning: function symbol "$std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string-inline$45" may have some processing issues
warning: function symbol "$llvm::cl::parser<(anonymous namespace)::SummaryType>::llvm::cl::parser<-inline$793" may have some processing issues
warning: function symbol "" may have some processing issues
warning: function symbol "$llvm::cl::parser<(anonymous namespace)::SummaryType>::llvm::cl::parser<-inline$793" may have some processing issues
warning: function symbol "_ZN4llvm6detail27getRegistryLinkListInstanceINS_8RegistryIN5clang4ssaf19SerializationFormatEJEEEEERNS0_23RegistryLinkListStorageIT_EEv" may have some processing issues
warning: function symbol "" may have some processing issues
Illegal instruction (illegal opcode) in std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&>::__split_buffer at 0x0 ($t1)
warning: Unable to access address 0x0 from core
(dbx) where
std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&>::__split_buffer() at 0x0
warning: function symbol "$llvm::Registry<clang::ssaf::SerializationFormat::AnalysisResultRegistryGenerator<clang::ssaf::JSONFormat, llvm::function_ref<llvm::json::Object (clang::ssaf::AnalysisResult const&, llvm::function_ref<llvm::json::Object (clang::ssaf::EntityId)>)>, llvm::function_ref<llvm::Expected<std::__1::unique_ptr<clang::ssaf::AnalysisResult, std::__1::default_delete<clang::ssaf::AnalysisResult> > > (llvm::json::Object const&, llvm::function_ref<llvm::Expected<clang::ssaf::EntityId> (llvm::json::Object const&)>)> >::Codec>::Add<clang::ssaf::SerializationFormat::AnalysisResultRegistryGenerator<clang::ssaf::JSONFormat, llvm::function_ref<llvm::json::Object (clang::ssaf::AnalysisResult const&, llvm::function_ref<llvm::json::Object (clang::ssaf::EntityId)>)>, llvm::function_ref<llvm::Expected<std::__1::unique_ptr<clang::ssaf::AnalysisResult, std::__1::default_delete<clang::ssaf::AnalysisResult> > > (llvm::json::Object const&, llvm::function_ref<llvm::Expected<clang::ssaf::EntityId> (llvm::json::Object const&)>)> >::Add<(anonymous namespace)::TagsPairsAnalysisResult>::Add(llvm::function_ref<llvm::json::Object ((anonymous namespace)::TagsPairsAnalysisResult const&, llvm::function_ref<llvm::json::Object (clang::ssaf::EntityId)>)>, llvm::function_ref<llvm::Expected<std::__1::unique_ptr<clang::ssaf::AnalysisResult, std::__1::default_delete<clang::ssaf::AnalysisResult> > > (llvm::json::Object const&, llvm::function_ref<llvm::Expected<clang::ssaf::EntityId> (llvm::json::Object const&)>)>)::ConcreteCodec>::llvm::function_ref<llvm::json::Object -inline$1139" may have some processing issues
warning: function symbol "(anonymous namespace)::namespace)::serializeTagsPairsAnalysisResult" may have some processing issues
warning: function symbol "$llvm::Registry<clang::ssaf::SerializationFormat::AnalysisResultRegistryGenerator<clang::ssaf::JSONFormat, llvm::function_ref<llvm::json::Object (clang::ssaf::AnalysisResult const&, llvm::function_ref<llvm::json::Object (clang::ssaf::EntityId)>)>, llvm::function_ref<llvm::Expected<std::__1::unique_ptr<clang::ssaf::AnalysisResult, std::__1::default_delete<clang::ssaf::AnalysisResult> > > (llvm::json::Object const&, llvm::function_ref<llvm::Expected<clang::ssaf::EntityId> (llvm::json::Object const&)>)> >::Codec>::Add<clang::ssaf::SerializationFormat::AnalysisResultRegistryGenerator<clang::ssaf::JSONFormat, llvm::function_ref<llvm::json::Object (clang::ssaf::AnalysisResult const&, llvm::function_ref<llvm::json::Object (clang::ssaf::EntityId)>)>, llvm::function_ref<llvm::Expected<std::__1::unique_ptr<clang::ssaf::AnalysisResult, std::__1::default_delete<clang::ssaf::AnalysisResult> > > (llvm::json::Object const&, llvm::function_ref<llvm::Expected<clang::ssaf::EntityId> (llvm::json::Object const&)>)> >::Add<(anonymous namespace)::TagsPairsAnalysisResult>::Add(llvm::function_ref<llvm::json::Object ((anonymous namespace)::TagsPairsAnalysisResult const&, llvm::function_ref<llvm::json::Object (clang::ssaf::EntityId)>)>, llvm::function_ref<llvm::Expected<std::__1::unique_ptr<clang::ssaf::AnalysisResult, std::__1::default_delete<clang::ssaf::AnalysisResult> > > (llvm::json::Object const&, llvm::function_ref<llvm::Expected<clang::ssaf::EntityId> (llvm::json::Object const&)>)>)::ConcreteCodec>::llvm::function_ref<llvm::json::Object -inline$1139" may have some processing issues
warning: function symbol "(anonymous namespace)::namespace)::deserializeTagsPairsAnalysisResult" may have some processing issues
warning: function symbol "$llvm::Registry<clang::ssaf::SerializationFormat::AnalysisResultRegistryGenerator<clang::ssaf::JSONFormat, llvm::function_ref<llvm::json::Object (clang::ssaf::AnalysisResult const&, llvm::function_ref<llvm::json::Object (clang::ssaf::EntityId)>)>, llvm::function_ref<llvm::Expected<std::__1::unique_ptr<clang::ssaf::AnalysisResult, std::__1::default_delete<clang::ssaf::AnalysisResult> > > (llvm::json::Object const&, llvm::function_ref<llvm::Expected<clang::ssaf::EntityId> (llvm::json::Object const&)>)> >::Codec>::Add<clang::ssaf::SerializationFormat::AnalysisResultRegistryGenerator<clang::ssaf::JSONFormat, llvm::function_ref<llvm::json::Object (clang::ssaf::AnalysisResult const&, llvm::function_ref<llvm::json::Object (clang::ssaf::EntityId)>)>, llvm::function_ref<llvm::Expected<std::__1::unique_ptr<clang::ssaf::AnalysisResult, std::__1::default_delete<clang::ssaf::AnalysisResult> > > (llvm::json::Object const&, llvm::function_ref<llvm::Expected<clang::ssaf::EntityId> (llvm::json::Object const&)>)> >::Add<(anonymous namespace)::TagsPairsAnalysisResult>::Add(llvm::function_ref<llvm::json::Object ((anonymous namespace)::TagsPairsAnalysisResult const&, llvm::function_ref<llvm::json::Object (clang::ssaf::EntityId)>)>, llvm::function_ref<llvm::Expected<std::__1::unique_ptr<clang::ssaf::AnalysisResult, std::__1::default_delete<clang::ssaf::AnalysisResult> > > (llvm::json::Object const&, llvm::function_ref<llvm::Expected<clang::ssaf::EntityId> (llvm::json::Object const&)>)>)::ConcreteCodec>::llvm::function_ref<llvm::json::Object -inline$1139" may have some processing issues
__sinit80000000_clangPidTidTime_55247496_1_10587059310803232_0(), line 49 in "TagsPairsAnalysis.cpp"
cxa_personality.__catchThrownException(0x1, 0x9, 0xfffffffffffefe0, 0x9001000a0090b00) at 0x9000000027ccacc
IPRA.$initialize_one_library(??, ??) at 0x900000000062d68
initialize_libs at AF36_7(??, ??, ??) at 0x9000000000654c8
IPRA.$load_libs(??) at 0x900000000061a8c
loadAndInit(??, ??, ??) at 0x900000000064ce0
dlopen(??, ??) at 0x9000000000aabf4
llvm::sys::DynamicLibrary::getPermanentLibrary(char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*)(0xb, 0x10363f31c, 0xffffffffffffa50) at 0x10005ca38
clang::ssaf::loadPlugins(llvm::ArrayRef<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >)(0x1102fac90, 0x1) at 0x10005c8dc
main(argc = 6, argv = 0x0ffffffffffff920) at 0x100000aac
(dbx) registers
$r0:0x0000000000000000 $stkp:0x0fffffffffffed50 $toc:0x0000000000000000
$r3:0x0000000000000017 $r4:0x08001000a002b3d0 $r5:0x00000001102faff0
$r6:0x0000000000000000 $r7:0xffffffffffffff80 $r8:0x0000000000000080
$r9:0x00000000171e08f5 $r10:0x09001000a00a07c8 $r11:0x0000000000000000
$r12:0x0000000000000000 $r13:0x00000001102d0ce0 $r14:0x00000001102d2d50
$r15:0x00000001102d2d50 $r16:0x0000000000000340 $r17:0x0000000000000009
$r18:0x08001000a0029a30 $r19:0x0000000000000000 $r20:0x0000000000000000
$r21:0x08001000a0029a38 $r22:0x09001000a007f460 $r23:0x0000000000000000
$r24:0x08001000a002a5a0 $r25:0x0000000000000000 $r26:0x00000001102d3090
$r27:0x0000000000000000 $r28:0x09001000a007f478 $r29:0x0000000000000000
$r30:0x08001000a002b400 $r31:0x08001000a002b310
$iar:0x0000000000000000 $msr:0xa00000000208d032 $cr:0x8240122b
$link:0x0900000004657408 $ctr:0x0000000000000000 $xer:0x20000000
Condition status = 0:l 1:e 2:g 4:o 5:e 6:e 7:leo
[unset $noflregs to view floating point registers]
[unset $novregs to view vector registers]
[unset $novsregs to view vector scalar registers]
in std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&>::__split_buffer at 0x0 ($t1)
0x0000000000000000 warning: Unable to access address 0x0 from core
```
https://github.com/llvm/llvm-project/pull/191082
More information about the cfe-commits
mailing list