<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/106002>106002</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Static analyzer crashes with single C++ test file
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
rpfeiffer
</td>
</tr>
</table>
<pre>
I ran the static analyzer with the following command line:
clang++-18 --analyze -Xclang -analyzer-constraints=z3 -Wall -Werror -I. -g -O0 -march=native -std=c++20 minirng.cpp
The output was as follows:
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: clang++-18 --analyze -Xclang -analyzer-constraints=z3 -Wall -Werror -I. -g -O0 -march=native -std=c++20 minirng.cpp
1. <eof> parser at end of file
2. While analyzing stack:
#0 Calling std::uniform_int_distribution<unsigned long long>::_S_nd(class std::mersenne_twister_engine<unsigned long, 64, 312, 156, 31, 13043109905998158313, 29, 6148914691236517205, 17, 8202884508482404352, 37, 18444473444759240704, 43, 6364136223846793005> &, unsigned long) at line /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/uniform_int_dist.h:307:25
#1 Calling std::uniform_int_distribution<unsigned long long>::operator()(class std::mersenne_twister_engine<unsigned long, 64, 312, 156, 31, 13043109905998158313, 29, 6148914691236517205, 17, 8202884508482404352, 37, 18444473444759240704, 43, 6364136223846793005> &, const param_type &) at line /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/uniform_int_dist.h:193:18
#2 Calling std::uniform_int_distribution<unsigned long long>::operator()(class std::mersenne_twister_engine<unsigned long, 64, 312, 156, 31, 13043109905998158313, 29, 6148914691236517205, 17, 8202884508482404352, 37, 18444473444759240704, 43, 6364136223846793005> &) at line 171
#3 Calling main(int, char **)::(anonymous class)::operator()()
3. /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/uniform_int_dist.h:263:15: Error evaluating statement
4. /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/uniform_int_dist.h:263:15: Error evaluating statement
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0 libLLVM-18.so.18.1 0x00007f1d0bd9f8b6 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 54
1 libLLVM-18.so.18.1 0x00007f1d0bd9d8e0 llvm::sys::RunSignalHandlers() + 80
2 libLLVM-18.so.18.1 0x00007f1d0bce9910
3 libc.so.6 0x00007f1d0ae5b050
4 libLLVM-18.so.18.1 0x00007f1d0bcbdb45 llvm::APSInt::Profile(llvm::FoldingSetNodeID&) const + 5
5 libclang-cpp.so.18.1 0x00007f1d153f9b60 clang::ento::BasicValueFactory::getValue(llvm::APSInt const&) + 80
6 libclang-cpp.so.18.1 0x00007f1d1550046f
7 libclang-cpp.so.18.1 0x00007f1d154ffe42
8 libclang-cpp.so.18.1 0x00007f1d154ff859
9 libclang-cpp.so.18.1 0x00007f1d154fdd80
10 libclang-cpp.so.18.1 0x00007f1d154fb45a
11 libclang-cpp.so.18.1 0x00007f1d15508017 clang::ento::SValBuilder::evalBinOp(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::BinaryOperatorKind, clang::ento::SVal, clang::ento::SVal, clang::QualType) + 743
12 libclang-cpp.so.18.1 0x00007f1d1548c036 clang::ento::ExprEngine::VisitBinaryOperator(clang::BinaryOperator const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&) + 3062
13 libclang-cpp.so.18.1 0x00007f1d15479a81 clang::ento::ExprEngine::Visit(clang::Stmt const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&) + 8545
14 libclang-cpp.so.18.1 0x00007f1d15475b73 clang::ento::ExprEngine::ProcessStmt(clang::Stmt const*, clang::ento::ExplodedNode*) + 611
15 libclang-cpp.so.18.1 0x00007f1d1547589f clang::ento::ExprEngine::processCFGElement(clang::CFGElement, clang::ento::ExplodedNode*, unsigned int, clang::ento::NodeBuilderContext*) + 175
16 libclang-cpp.so.18.1 0x00007f1d1545c927 clang::ento::CoreEngine::dispatchWorkItem(clang::ento::ExplodedNode*, clang::ProgramPoint, clang::ento::WorkListUnit const&) + 551
17 libclang-cpp.so.18.1 0x00007f1d1545c491 clang::ento::CoreEngine::ExecuteWorkList(clang::LocationContext const*, unsigned int, llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>) + 1185
18 libclang-cpp.so.18.1 0x00007f1d1587e665
19 libclang-cpp.so.18.1 0x00007f1d1585e6c4
20 libclang-cpp.so.18.1 0x00007f1d13383636 clang::ParseAST(clang::Sema&, bool, bool) + 614
21 libclang-cpp.so.18.1 0x00007f1d151b4605 clang::FrontendAction::Execute() + 85
22 libclang-cpp.so.18.1 0x00007f1d1512b354 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 708
23 libclang-cpp.so.18.1 0x00007f1d1522f7ae clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 750
24 clang++-18 0x000055e019eb5dfa cc1_main(llvm::ArrayRef<char const*>, char const*, void*) + 4074
25 clang++-18 0x000055e019eb3185
26 libclang-cpp.so.18.1 0x00007f1d14de4099
27 libLLVM-18.so.18.1 0x00007f1d0bce96ac llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) + 140
28 libclang-cpp.so.18.1 0x00007f1d14de3a1e clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const + 366
29 libclang-cpp.so.18.1 0x00007f1d14dabba1 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const + 897
30 libclang-cpp.so.18.1 0x00007f1d14dabdee clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const + 142
31 libclang-cpp.so.18.1 0x00007f1d14dc845d clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) + 333
32 clang++-18 0x000055e019eb2af4 clang_main(int, char**, llvm::ToolContext const&) + 11220
33 clang++-18 0x000055e019ebff16 main + 102
34 libc.so.6 0x00007f1d0ae4624a
35 libc.so.6 0x00007f1d0ae46305 __libc_start_main + 133
36 clang++-18 0x000055e019eafbb1 _start + 33
clang++-18: error: clang frontend command failed with exit code 139 (use -v to see invocation)
Debian clang version 18.1.8 (++20240731024826+3b5b5c1ec4a3-1~exp1~20240731144843.145)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
clang++-18: note: diagnostic msg:
********************
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang++-18: note: diagnostic msg: /tmp/minirng-896626.cpp
clang++-18: note: diagnostic msg: /tmp/minirng-896626.sh
clang++-18: note: diagnostic msg:
********************
[output.zip](https://github.com/user-attachments/files/16741653/output.zip)
Let me know if you need anything else.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWk9z47hy_zT0BSUV8YcUefBBlqUdv_itnZF3JslFBZJNCRkKYAGgxt7DfvYUQEiiNPZYuzu12VSey0VJQAPd_etGdwMgN0asJcB1lNxEye0V7-xG6Wvd1iDqGvRVoaqX6zukuUR2A8hYbkWJuOTNy6-g0VdhN76jVk2jvgq5RqXabrmsUCMkRHQaxbdRHJ5lw-U6IjcRuRnhDI1GYR40-g_fhfYNelQqaazmQloT0dtfKRp95k2DRp9Ba6XR6G6MRms0eojRaMt1uYnoreRW7ACNjK0ielv2fEiMtkIKLdfjsm2HwjxtAKnOtp1FX7lB3AQdzJnQj_fz6XKOTFdshUUcFd0aaWiVtsgqtLG29SPIIiKLtbCbrhiXahuRRdPs9h-jVqv_htJGZCGM6cBEZIEcSEKWTVeBh7DU3GxQwcsvVvMSIjJDrYZWqxKMgQoZ1em-2Y3kxqhScAsV0p1EptSiteNe5KXl5RdUddv2oEs8juL8Uau15lvE9brbgod2iv4mRsFOwIjOQNURnaOWawMacYtAVkjVqBYN9JTEUX7eiAaCHzqvM05lp87edHlEaIxmvGn67spBQaedFLXS25WQdlUJY7UoOiuUjOisk34tVKhRcu0fEZ33o1bLlawikpUNN-Y42Ra0ASlhZb8KY0GvQK6915_O5UyWMvekmLgPnKT9L_-DxoziOM_jJM8znGQUU9dOcj8OsyzHLM0xoWmCJyRO_KCJe2YkJlnGkjhjGWExo4mfnvpOnDHG2IS6R5ITFk9iLwPzs6c0ZZimhNCMpZOcxnHiYI-Il-xM_NzZwa1nFJFFZ3REFoWQEVmMx87BReFcvywjsnjO0lXKRo2Q3fNoLbuILJzKPeHZI_h-RBbBLfbEhbBugZybaryJ6JTGk4hOSTI0M_5RZlYtaG6VjkgWOfj_39jbL2y35vh2ZV9a6Nv_RmbHOXXPbGh28i-z_ymzH82LJ3gILD0Au-XO3pmQ1nvJhmsUkan_z3tsIpJxqeTLVnUGedwOXd_A6p6eDfWx_n_bp0jqfSpxWWPuExjseNNxG_KJBZcje4nZ_zmJjzWAL9JUZ5F52RaqQZJvwaCIZCBNpwG9qA5t-A6Qr1R6IuGKOyFdn0aP06cPSGlkwPpCBeROaCUdL7RzLpHG9_ef_rla_uc_bx7u7_5r_nHlhkRp7CqkVgnpSyVhg2v0BQlCjSjcuBHOxkaNcTbGKH6O4zie1LiKiyqvsyL1UvUOZV5M_-VRC2m9gk99pZQdiTT_ulLGauDbENy89-YoIjcoYaHYeJU5OmNfZRC_xv5jJ5diLXnzgcuqAW163_YcsjgUKe-qV0Ke40BNPXXp6FI0-BvQc0iKOAn07H3xy6IqWDIQf_q4vJN2D6Dy9dQQuIVqKiHXS7A_qwrubkOM6FODB6_nnXhRXWU4Ktv2FdVwQuu8SONQWfrJQVrVf7vhRpSfeNPBgpdW6Ze-eQ3WN56I1IvcixDEGWKcvi9JEscsrXvyCXqfntU1MNLTZ5fRZ0mIavkl5FW1lx7Hl9AXLOGBHl-ibhbjyevALz_x5qYTTQU6dO14cyPkQ3uC-Z20ujNiBx-hnkn7aHVEZ69OGHYTSxd3go3o3OeJI_WNkFy_PIRM8G_CVdGzt-X7PZ3_3vHm6aWFvVdMGA1AkQuAzcqYpq_zmj-3eh4yvPv9SRhhTxXpa4TXldy76_RNZebPbaMqqNw6u5RuCcMVQOM0OCmmFyg7yXmGf4eyp-ot7db-FUplCQshBrNLlEqKCb1Mqcd-D-0U-SGq9fKmOFRN-IKQyCZJlteXiRu2_LPFT_Omz-gnQg_bLzfGoVQV3xnn6EOMmClp4dkO9MWTvXkuCLwsKXPyRiSaKQ1DfSthWm7LzWelv9xZ2J6qe6mLhXD0qL6noGNxL4z9RYpv80qS7A06uUhBlr-xqM4VnD9D2VnYMz_V716V3O1RAuAn7nhutB8YpoNNcbY3ava-ztkE0nRPf0G6yxJIy1BykffTHaUZTU-j8iPXBqbLp7NlC1seirtCqeb4uV-Ye54XpExcsDROhjwX2llCVtOy3zoOLDgs9AIO5IJsg0lBEzbkMVPbVjSg76SxXJanfhIYn6h8JtTRaSdx2BSTCzIBIfWEw1CQwPIozy6441nMOZf3GBYm-6KUsPOzxPNCNkkgxjkUSVVzVJZ4FfaXg4pPa_7yEWrnzG63eVgMobI4aSMztFOiGsjC4sne9Mm5MKci0IPjk_ejGauAxXko88jkguIb8pSXg-U609xsPkKpdqBf9qH1sJngNTQvJzjUnfSGXmmPhVMThR30YPGyPfLvr11WAeX4xPSVFrt9LTib4Vl_bn_u76_a5nA0olonJW8iOjsSLq0Wcu0p58FwhwGrVfn8jHH_o3B7gZXx5MHiJ8SuYWU1d1vi0H02HW8a569KD_odyfQYE6anuxiapgG09wMYq3hRcPwmaH5R8G-ixB7JkxV0NtBfkRwT0Ow7PIak05OwN9QryydhL_l-oHV6VfC2M7yh1z9UYd5W6h-qcMntRKmBT2x503wCt-O727bN0IdaLpz5vk3b38UhGPoNNPB-E0ffTwGsKjOWVG9xvh18P4mWr4TJt1D8C9EIGwQaNkOUXBqUCa9DAF99e-y3P_UbKvGkVHNWtKTHuoKQ_dkG_X4krmuc-oPGfmC8NxwbHImcnIOwlLCwJ6bJBecmLKVxglYrR7kylmu7OrI74JReiBOviwKjfp4A9WuXmxGdIn8rdrhiQ3VI4Ycb0pqLBqr-DhWefUFaAcLUQZh1BtBoh6xCBgCJQV4OeegWCsFlmHsH2gglkfPtcdaniv6mjbB4QnFMWOasc0OLpEhKDCXjdIR_g-cW_7YnwoxljI4xSw5Mnrheg8tUKBxutuXgfDPco2rgFdqqChpH2CojnvsuXy00DVS3wuNwcoD6BmhSWVcNoUrwtVTGihJtzXpws0f-xP-317rTp6fp7AN6-jBHi4f7-4fPdz__hBZ39_MlenrwzTe__IQ-zh8fPj4dzi4fX7uWzYw_Un_ravZAoAH5nAUV4vYw5e8Cgizsto3IIlyijrI8TUl6vEv9EZOZzR-20I-yU3LT38-PfxVtlNxGJPvObXtnQI-4tbzc9FfbZFGLxt-043TCcJrQiCwGE-5dfPi8B4u2gL5I9RWJ2p-MS3CGki92I-QaQWNgfFVd0yqnOb-CazwhLMU0ZfHV5hozKFKgBYMsrUmZxZBByoBV2aSalNXkSlz7tZaRBOckZvE4xQXLIc9rnOLaVdIshi0XzdiF2bHS6yv_vsA1jtM4JlcNL6Ax_mUNQiR8Rb43IiRKbq_0tT_AL7q1iVjcCGPNcRorbAPXy7PXN_wrB2D6EGSEXDeAZr2xkQVj_a37Vaeb6z_-nkMQfXdN_icAAP__7jMYyw">