<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/57651>57651</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Crash with -ast-dump=json
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          kleag
      </td>
    </tr>
</table>

<pre>
    The following command crashes. The same with no `=json` works. This could be related to #48838 but I'm not sure.

```
clang -x c++ -std=c++17 -fPIC -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/home/gael/Projets/Lima/lima/lima_common/src/ -I/home/gael/Projets/Lima/lima/lima_common/src/common/XMLConfigurationFiles -Xclang -ast-dump -fsyntax-only test/xmlConfigurationFileHandler.h
```

The source file `xmlConfigurationFileHandler.h` can be found [here](https://github.com/aymara/lima/blob/master/lima_common/src/common/XMLConfigurationFiles/xmlConfigurationFileParser.h).

```
                            "end": {
                              "offset": 110497,
                              "col": 80,
                              "tokLen": 1,
                              "includedFrom": {
                                "file": "/usr/include/x86_64-linux-gnu/qt5/QtCore/QString"
                              }
                            }
                          },
                          "isReferenced": true,
                          "name": "argBases"Stack dump:
0.      Program arguments: clang -x c++ -std=c++17 -fPIC -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/home/gael/Projets/Lima/lima/lima_common/src/ -I/home/gael/Projets/Lima/lima/lima_common/src/common/XMLConfigurationFiles -Xclang -ast-dump=json -fsyntax-only test/xmlConfigurationFileHandler.h 
1.      <eof> parser at end of file
2.      /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:2114:20: Mangling declaration 'argBases'
 #0 0x00007f05473d74ff llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/usr/lib/x86_64-linux-gnu/libLLVM-10.so.1+0x9814ff)
 #1 0x00007f05473d57b0 llvm::sys::RunSignalHandlers() (/usr/lib/x86_64-linux-gnu/libLLVM-10.so.1+0x97f7b0)
 #2 0x00007f05473d6c4d llvm::sys::CleanupOnSignal(unsigned long) (/usr/lib/x86_64-linux-gnu/libLLVM-10.so.1+0x980c4d)
 #3 0x00007f054732ce60 (/usr/lib/x86_64-linux-gnu/libLLVM-10.so.1+0x8d6e60)
 #4 0x00007f054dba6420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
 #5 0x00007f054bc557b5 (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0xb6b7b5)
 #6 0x00007f054bc520a1 (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0xb680a1)
 #7 0x00007f054bc50620 (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0xb66620)
 #8 0x00007f054bc4ceb1 (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0xb62eb1)
 #9 0x00007f054bc78a90 (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0xb8ea90)
#10 0x00007f054bc7806a (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0xb8e06a)
#11 0x00007f054bc7817e clang::ASTNameGenerator::getName[abi:cxx11](clang::Decl const*) (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0xb8e17e)
#12 0x00007f054bc6c89f clang::JSONNodeDumper::VisitNamedDecl(clang::NamedDecl const*) (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0xb8289f)
#13 0x00007f054bc6d076 clang::JSONNodeDumper::VisitVarDecl(clang::VarDecl const*) (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0xb83076)
#14 0x00007f054bc63d52 clang::JSONNodeDumper::Visit(clang::Decl const*) (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0xb79d52)
#15 0x00007f054ba62bc5 (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0x978bc5)
#16 0x00007f054ba6f67d (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0x98567d)
#17 0x00007f054ba69b49 (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0x97fb49)
#18 0x00007f054ba64ed4 (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0x97aed4)
#19 0x00007f054ba651d7 (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0x97b1d7)
#20 0x00007f054ba69b0d (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0x97fb0d)
#21 0x00007f054ba6e17c (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0x98417c)
#22 0x00007f054ba62c33 (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0x978c33)
#23 0x00007f054ba6f67d (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0x98567d)
#24 0x00007f054ba629c4 (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0x9789c4)
#25 0x00007f054ba6ba47 (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0x981a47)
#26 0x00007f054ba6b8e5 (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0x9818e5)
#27 0x00007f054ba62bda (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0x978bda)
#28 0x00007f054ba6f67d (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0x98567d)
#29 0x00007f054ba629c4 (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0x9789c4)
#30 0x00007f054ba62d03 (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0x978d03)
#31 0x00007f054ba6f67d (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0x98567d)
#32 0x00007f054ba629c4 (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0x9789c4)
#33 0x00007f054ba62d03 (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0x978d03)
#34 0x00007f054ba6278e (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0x97878e)
#35 0x00007f054ba5765e clang::Decl::dump(llvm::raw_ostream&, bool, clang::ASTDumpOutputFormat) const (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0x96d65e)
#36 0x00007f054b93fc13 clang::ParseAST(clang::Sema&, bool, bool) (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0x855c13)
#37 0x00007f054cdb5e58 clang::FrontendAction::Execute() (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0x1ccbe58)
#38 0x00007f054cd6e8a1 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0x1c848a1)
#39 0x00007f054ce19daf clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0x1d2fdaf)
#40 0x000000000041229d cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/lib/llvm-10/bin/clang+0x41229d)
#41 0x00000000004105b1 (/usr/lib/llvm-10/bin/clang+0x4105b1)
#42 0x00007f054cabf8f2 (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0x19d58f2)
#43 0x00007f054732cc67 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/usr/lib/x86_64-linux-gnu/libLLVM-10.so.1+0x8d6c67)
#44 0x00007f054cabee2f clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, bool*) const (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0x19d4e2f)
#45 0x00007f054ca9752f clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&) const (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0x19ad52f)
#46 0x00007f054ca976da clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) const (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0x19ad6da)
#47 0x00007f054caaa93c clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) (/usr/lib/x86_64-linux-gnu/libclang-cpp.so.10+0x19c093c)
#48 0x000000000041002f main (/usr/lib/llvm-10/bin/clang+0x41002f)
#49 0x00007f0546502083 __libc_start_main /build/glibc-SzIz7B/glibc-2.31/csu/../csu/libc-start.c:342:3
#50 0x000000000040d7ce _start (/usr/lib/llvm-10/bin/clang+0x40d7ce)
clang: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 10.0.0-4ubuntu1 
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
clang: note: diagnostic msg: PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script.
clang: error: unable to execute command: Segmentation fault
clang: note: diagnostic msg: Error generating preprocessed source(s).
```

clang comes from KDE neon packages:
```
clang --version
clang version 10.0.0-4ubuntu1 
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztWsty2zgW_Rp5g5IKBN8LLWTZmkmP85g4leqdCgRBiR2SUAOgI_fXzwVIyQItO3YYd_VinJRIgsQ95z4BAsxEfj__suWoEFUlvpfNBjFR17TJEZNUbbmaIXNb0Zqj76XeokagSYQn_tUfSjRwhr4L-c0-VSro21Y5yjiSvKKa50jD08QPksRPUNZq9G5C4hpkaKRayWcTfDXBi_4XpHb_7SWrKJCZ7hGbkEv4j6ZK5wDbX3oxmhaf3i3RFESuWiXht2xY1eYczvZJtI6CaVU27X66aVpo-lOHr3kWfv-rl0LyrtNW1ObZDeUVHD5J8QfXCs5uyprCoXo4rI39wDJkpSRwXY3tf7z8_f3NUjRFuWkl1aVoVmXFFZr-3huKKj3N23oHZlH3jab7qWiqe6S50kbJunrU-d_g5YrL2fas_btf63vRSgYRAl2M658XBQHBaGNCoBAtRNEkvNxyySfh1YQkW613auIvgJAxBoRTm81AQbig9zWVJ6bIKpHBoQa1uPwp0zyh9ScqlWVK0ufCDz3zNyGENzn8gipoEl_-uIftI4pCcd138zwcpPGELF_YmYmq75ngl_fS4tsNbw6QL-_XZ0e-ksY5r9HTdjehcugGh1fnnDm51RKqken-Esrx1Qvc9uOHzCM_NpIxkPrMC4jrhvFDIGjZ8pd1bmh9Yh4qN5dUmXglt5qyb8hksUkSKwjPum5QMjaS1giebmveaJNG6P818udqZD96_USpRJ1XvN4rE3_JRTHxr9HOlhVENYLSgERhy2X3MDk8_DN58KeyeQD1yl8QzwvMARvfvweNKjNe5xy066gCRPwQTnEfijAAY4T3GP7iAodB7OdxUBSoqu5qE2f-Qt2r7uQTYGkbhV8kZYCfPDwk6fe1ADacQkmIoHyC4OSoU1Vm5_WBGzc3X99PPTxTYgY16BLv08QDAiDigaE3YBjGGT7H8HPb3Jabhla9S5QlMYZLXACUw4UMuEQsyM9xWVacNu3uY88IKLSNglOY91TC1K5RJsKA6tDyXVqEcRhsfxogySPo7wAEpwB5RqOAYLReS8gLCMa11D3aczg7vYUIyQ0OtjheAFIcmPAUJmMhuDp8sR42k6dst7OadBBZlIEIByMaYBBMvZEYCYhwMOIBBo7Iy_1xHiOKBrZKXIyA8WysHgREOBipixEnNB2pR8JBxBHDZDceYuCIjsUAEQ6GN8TwYt4NkV26Lm6_fICR91-84VAuhexaN1ybVpin0qyEa7bfe143XT3pewVFFt5uGjNCLF6T2E9wB2oOd-Jyj1iSFqfcf7v9-OGDyPkVjF68Z_61VKXlnht2Lt9j8y8kTYCTQ9ofkM5xHL2I9FcqH1PuG38hYR_4OISDAWEYZsiLCL9lMMQpsHBougWSRgSKyyiMNE5AhIMRDTCKKM7HYSQhiHAw4gFGmgXjbAVjNYhwMJIBRsDzYCQGBREORjrACL08HomRgYhTDIIf2QqP9AfYCjv-IN4AA6oQG-nzAEQ4GGQYuwzmLSNjF0Q4GP7bxy4JhnqkbGxcJSDCwRjmeUaDkXGVeCDCwRjmOYw9I2tJ4oEIB2OY5yTLxw3upl7lzuBOhnn-Fj4f5vkb-Nwf5jnJ8ej8ABEOxjDP38BW_qM8fwNbDfP8LWz1KM_jhI_FABEOxiDPwzgKnYmpnQvZM7s48dxL9xJlwqwELgcTWzNj-djqXatXQtZUm1mJnaGM0yXKgaqji1tPUr9gMA084WKXV4GQO2O65WbtxuHfHcfNB5IwBHiHn1OLWJ6FPExO-a2kaDRv8gUzCyZd2_Wes1bzV64knCPkMZYBoMMocRlFPIFX0RNGS1HvyorLd-At2jDucOppOsYcqPC6tZjzrJMgOXm5NaydWsi4l-bUeSHp-T2QvxOMPub6SLnxE2YvJwWQOWUbHKpq9xd4hKQ5Ysxb17RsnIRaSEnvP_Ni4i_ZlsqHabx_bbPKaYOGO1HmT5I2YqeG1iozMKtOcUOyo-Bw9AYccXj2Vf45maaLI9OpwoxmRVKQccaFlxGQ4YA8WndiUXyyHLY0-4SfORN3XN4vTWju9cNaHS14de94oGgbG7hrab1gDNxRTq0PRqyZJXkE1BzuwcBAnBMnjHNZ3h3e9JZLb9ntfQ7LwtnweWj8uDP60Mpp7PYv7KPXqI8uuzpvbq7X3TKDvcioKtm6W-ftw9J52DSstaSlWfTvbg_E0aoy2WeWNA73O8jFQ6Vd_JohAQIkABs6Rg5dI6dx-IyRbUGgj4rvwfJO9Rh07Lalu-SMBmPgM48u-hL5K5Sn8K7uKh8NlY9g8vtK5X8TmXpac7h7UwLzU81P4qwG73_lDLz_rt6ZGDyGxY6WJiLKRr_GWIfY-YU2i9zJfOAO0pTS1GdP8bs6OXcGnTOjzVO2_nttNs5aDIMxHGslw4EDQ3qZge21owcehK4zxkchJjjx0XptqEE5olKve5RV1pYV5OZqY-5Nb_9691d8ebwkM98zUMroNZsdT-1NK2fGwGgwWpnfI3w4GLRxHjOOOuDXaWZ7HjU7-AxxKe0ib79NWvTTpuMHLgWFmUmO8pabz1SU3cMxwK3iaHpn2zhH5cnM5hQBQTQos-cGIxD8mwZt1ja69fodwi9UbrgZB1Hv_B078X__bYXZKUG1yLmZ_qOdUOW-u2WnSxWwuyqtBkdbGN1dLRuhzZQR5SXdNPCqUDJUK3vn08314vYaqTarS40oytoNknwnwLygm_stBtxTM2PimZBg1RUyBur3KZHe8u5rIJRR9k13O4NLtANhUjCuFFix-0jENJueVCnBSvsFkGwbpJgsd3r2lH_ahmaVdQLvEvzgInPzlm_Mfne3v1nQttIvNsC1AUCbbr3fbJWeZZyok09Bzn0D07kbKHFlgqhG_7m6Rg0HOjswB91wa8ZnvmGa9qHyz4meI88LPvcieOklaRLEF_ncz1M_pRe61BWf25ld99XXcOv8opXV_JnPeWyt7ZN2Z3bymdlaL5Vq7Yc55hXYu9jOofJjEqYpDfzY93JcBNyPY5-mhZ96mCQXFUzZKjWfhJeT8OqinBNMCE5x6vkkwNEsITiD-WrokcQrOI0mAYY3zbI6hvKFnFsOJr7hZgXj6EOcX0CYmu1afpBPW70Vcv6t4nRzYcnOLdP_ASQwYhU">