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

    <tr>
        <th>Summary</th>
        <td>
            Godot crashes Lavapipe(in Mesa) with LLVM symbols inside backtrace
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    When using Ubuntu 21.10, Ubuntu 22.04, Ubuntu 22.10

Mesa bug(I don't think that this is mesa bug) - https://gitlab.freedesktop.org/mesa/mesa/-/issues/5699#note_1586842

```
terminate called after throwing an instance of 'std::logic_error'
  what():  basic_string: construction from null is not valid
 
#0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44
#1  __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
#2  __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#3  0x00007ffff7a3bc46 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#4  0x00007ffff7a227fc in __GI_abort () at ./stdlib/abort.c:79
#5  0x000000000261e067 in __gnu_cxx::__verbose_terminate_handler() [clone .cold] ()
#6  0x0000000007db31bc in __cxxabiv1::__terminate(void (*)()) ()
#7  0x0000000007db3227 in std::terminate() ()
#8  0x0000000007db3389 in __cxa_throw ()
#9  0x000000000261f82f in std::__throw_logic_error(char const*) ()
#10 0x00007fffed905566 in llvm::SelectionDAG::getTargetExternalSymbol(char const*, llvm::EVT, unsigned int) () from /lib/x86_64-linux-gnu/libLLVM-15.so.1
#11 0x00007fffefb13e2d in llvm::X86TargetLowering::LowerGlobalOrExternal(llvm::SDValue, llvm::SelectionDAG&, bool) const () from /lib/x86_64-linux-gnu/libLLVM-15.so.1
#12 0x00007fffefb4c414 in llvm::X86TargetLowering::LowerOperation(llvm::SDValue, llvm::SelectionDAG&) const () from /lib/x86_64-linux-gnu/libLLVM-15.so.1
#13 0x00007fffed7f5b23 in (anonymous namespace)::SelectionDAGLegalize::LegalizeOp(llvm::SDNode*) () from /lib/x86_64-linux-gnu/libLLVM-15.so.1
#14 0x00007fffed7f5235 in llvm::SelectionDAG::Legalize() () from /lib/x86_64-linux-gnu/libLLVM-15.so.1
#15 0x00007fffed94a90d in llvm::SelectionDAGISel::CodeGenAndEmitDAG() () from /lib/x86_64-linux-gnu/libLLVM-15.so.1
#16 0x00007fffed949e31 in llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) () from /lib/x86_64-linux-gnu/libLLVM-15.so.1
#17 0x00007fffed94799b in llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) () from /lib/x86_64-linux-gnu/libLLVM-15.so.1
#18 0x00007fffefae741d in (anonymous namespace)::X86DAGToDAGISel::runOnMachineFunction(llvm::MachineFunction&) () from /lib/x86_64-linux-gnu/libLLVM-15.so.1
#19 0x00007fffed4988ec in llvm::MachineFunctionPass::runOnFunction(llvm::Function&) () from /lib/x86_64-linux-gnu/libLLVM-15.so.1
#20 0x00007fffed244002 in llvm::FPPassManager::runOnFunction(llvm::Function&) () from /lib/x86_64-linux-gnu/libLLVM-15.so.1
#21 0x00007fffed24b5c3 in llvm::FPPassManager::runOnModule(llvm::Module&) () from /lib/x86_64-linux-gnu/libLLVM-15.so.1
#22 0x00007fffed244ba6 in llvm::legacy::PassManagerImpl::run(llvm::Module&) () from /lib/x86_64-linux-gnu/libLLVM-15.so.1
#23 0x00007fffeebc0609 in llvm::MCJIT::emitObject(llvm::Module*) () from /lib/x86_64-linux-gnu/libLLVM-15.so.1
#24 0x00007fffeebc078b in llvm::MCJIT::generateCodeForModule(llvm::Module*) () from /lib/x86_64-linux-gnu/libLLVM-15.so.1
#25 0x00007fffeebc123e in llvm::MCJIT::finalizeObject() () from /lib/x86_64-linux-gnu/libLLVM-15.so.1
#26 0x00007fffeeb61de0 in LLVMGetPointerToGlobal () from /lib/x86_64-linux-gnu/libLLVM-15.so.1
#27 0x00007fffe962671d in gallivm_jit_function (gallivm=<optimized out>, func=<optimized out>) at ../src/gallium/auxiliary/gallivm/lp_bld_init.c:745
#28 0x00007fffe9742586 in draw_llvm_create_variant (llvm=llvm@entry=0xca02490, num_inputs=num_inputs@entry=4, key=key@entry=0x7fffe89fde40)
    at ../src/gallium/auxiliary/draw/draw_llvm.c:909
#29 0x00007fffe9746ba8 in llvm_middle_end_prepare (middle=0xc77fb30, in_prim=<optimized out>, opt=<optimized out>, max_vertices=<optimized out>)
    at ../src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c:392
#30 0x00007fffe96d4eab in vsplit_prepare (frontend=0xc77ce30, in_prim=<optimized out>, middle=<optimized out>, opt=<optimized out>)
    at ../src/gallium/auxiliary/draw/draw_pt_vsplit.c:234
#31 0x00007fffe96ce106 in draw_pt_arrays (draw=draw@entry=0xc767fa0, prim=PIPE_PRIM_LINES, index_bias_varies=true, draw_info=draw_info@entry=0x7fffe89fea50, 
    num_draws=num_draws@entry=1) at ../src/gallium/auxiliary/draw/draw_pt.c:124
#32 0x00007fffe96ce57e in draw_instances (draw=draw@entry=0xc767fa0, drawid_offset=drawid_offset@entry=0, info=info@entry=0xc74b028, draws=draws@entry=0x7fffe89fea50, 
    num_draws=num_draws@entry=1) at ../src/gallium/auxiliary/draw/draw_pt.c:483
#33 0x00007fffe96ce9d5 in draw_vbo (draw=draw@entry=0xc767fa0, info=info@entry=0xc74b028, drawid_offset=drawid_offset@entry=0, indirect=0x0, 
    draws=draws@entry=0x7fffe89fea50, num_draws=<optimized out>, num_draws@entry=1, patch_vertices=<optimized out>) at ../src/gallium/auxiliary/draw/draw_pt.c:616
#34 0x00007fffe9666ae7 in llvmpipe_draw_vbo (pipe=0xc761d90, info=0xc74b028, drawid_offset=0, indirect=<optimized out>, draws=0x7fffe89fea50, num_draws=1)
    at ../src/gallium/drivers/llvmpipe/lp_draw_arrays.c:150
#35 0x00007fffe9463faa in handle_draw_indexed (state=<optimized out>, cmd=<optimized out>) at ../src/gallium/frontends/lavapipe/lvp_execute.c:2684
#36 lvp_execute_cmd_buffer (cmd_buffer=<optimized out>, state=state@entry=0xc74afc0) at ../src/gallium/frontends/lavapipe/lvp_execute.c:3957
--Type <RET> for more, q to quit, c to continue without paging--c
#37 0x00007fffe9466065 in lvp_execute_cmds (device=<optimized out>, queue=queue@entry=0xc74adb8, cmd_buffer=<optimized out>) at ../src/gallium/frontends/lavapipe/lvp_execute.c:4184
#38 0x00007fffe9458706 in lvp_queue_submit (submit=<optimized out>, vk_queue=<optimized out>) at ../src/gallium/frontends/lavapipe/lvp_device.c:1452
#39 lvp_queue_submit (vk_queue=0xc74adb8, submit=0x11242db0) at ../src/gallium/frontends/lavapipe/lvp_device.c:1437
#40 0x00007fffe94f2596 in vk_queue_submit_final (queue=queue@entry=0xc74adb8, submit=submit@entry=0x11242db0) at ../src/vulkan/runtime/vk_queue.c:377
#41 0x00007fffe94f2818 in vk_queue_submit_thread_func (_data=_data@entry=0xc74adb8) at ../src/vulkan/runtime/vk_queue.c:490
#42 0x00007fffe94e5c7b in impl_thrd_routine (p=<optimized out>) at ../src/c11/impl/threads_posix.c:67
#43 0x00007ffff7a902a2 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#44 0x00007ffff7b1f260 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
```


**Steps to reproduce**
- Use the latest possible version of Mesa(best if compiled from source)
- Download Godot 4.0 beta 2 https://downloads.tuxfamily.org/godotengine/4.0/beta2/ or Godot with debug symbols(Linux Builds 4 -> linux4-editor-normal) - https://github.com/qarmin/GodotBuilds/actions 
- Run Godot with Lavapipe(if in console there is no text "lavapipe" or "llvmpipe" add at the end `--gpu-index 1`)
- Click at the right down side at "About" button

[Nagranie ekranu z 13.10.2022 10:38:52.webm](https://user-images.githubusercontent.com/41945903/195547533-e9c554bc-c91a-43c6-8115-43f19df0e07e.webm)

[Nagranie ekranu z 13.10.2022 10:39:53.webm](https://user-images.githubusercontent.com/41945903/195547543-864e2473-6314-47d7-9633-be1dd885834a.webm)


</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzNWsty2zoS_Rp5g6KKD_C18MKxnZSn7CSV5GZmxwIIUMI1RSgkKMv5-mkApPiI5SiJZuq6ZJEEye7TB90NNCAq2fPlv9e8Qm0jqhX6i7aVapHvLT134V8frv2li6fXcN-9WbhX9vuBNwTRdrXwkzvEZLXwY4XUWlSP8E3MaYPgszk8lyIHrZXaNovgauG_hc9KqJLQZVFzznjzqOR2KWt48q1-aTg48C-apuUNnIRRmi78oJKKZ16YRAn2x7AWkdt9zKXi9UZURHGUk7LkDJECmgBcLZ-09aRComoUqXKOZIHAiEYxjS-4KuVK5Bmva1lDsxWH0BPYBiaDNfAIQpQ08FCjahCmG3IJ0uo2V0JWqKjlBlVtWWoeADDakVKwTlIH1w9chLJsC4g4YdmjKMtMbLYl3_BKESMG1FUyU_BmcGO6qBGrSsJFpC_si-bmIriWWyU24jsYKlu1CG4169AZSyCu2qoSDmNNyxwwY3yA4v0IpQK6KlJqEOdVGycHtb5W--4um-rWKn-mZeDCHrELrNXPFuRPISTpAUKAkLt34S8u4C8mAc1xBK5hgdVENLyjwOp6SZNW1Tw3jG-1n25lI_ZwNO8adX50UIdn6nw_LvKDOkJlrZD1st4GcMtSUDgxNy2DA_ywl2f-_MjjbhRbeauqzfL93vp0lu14TWXDs0NgZGtSsZLXnbpF-CYvZcXRMpclW4Q3HY6DqmiiKmY08GgHHdQQKnZer-ugA0TspGBW1JWWZmVqfVPp8Q_SgRot_RCWY6EvCEh-EBAkaQ-PZCbw5--kc_aKxC8mSjP7YjbJCUm-JrWNeGvVXK7njnqZs9QNw8g4VVnuNlbwZ15ykyxurt7ZlhVXX0gN37d7G3qfnzdUlj-qux6Juf36RTe0lQ4DiA8I2wGPzUPgOtaB9kmURdgpRdXuHfAOe-P-_uuD44XLRi69wQBvbEBBvYD7bGrAf5LIwr2XT7zLgvAxV-9KSUn5oe4tATgjy2--krLlUzsmdPgm0VCpjU-t4X9ukT-1COfYw6db9GHLa5OUf8OUs5kQTLwqLkLqB9oEEEwqWT1vZAvDDYHBc0tybkeqGaB7voKh6DvvTOuuPmxnZr2XjE9c-w9Q4zlqnbV-EgsHmONQ_wMM4TQeMUlddhzDHVzY1mvg4R2vrip2uxHKdOh5AEUzQCmHMfgEQLb1qizf6PnHm1Lmj82k7962lZ2DdPkiOgvceAY3TlN6Cty6rT5UDySH2SHvkU3g_nDvPHiTSbATHmOPnRApkAEA_hf5j7AhnXCO0yTh-ZTzmeKPpGlGkF_EemaQ_nSg8zGGYXQK8u1HjeuBVGQFc43_MzxvBo-GeXAavAfJ2pJP-7lrOg80f84cJbMpQglJMH-25yOQd1AkHID-DwFORhtOczdy05n_Xf_r7os95ZAeP9C_IQW8iOgsI4mP54jihB5FtOKVHrK5TuFvZf1Kf54HXDgD5_kBPwqugImsGXh7ys4CIZpCiDzGXQ1BP_2Oq4_SFHVfpJ2e_bm-yaiQRn4U2ywLY3cpdpvsb6Gyoh-PQFvXfrym0w-_XleaiqjO9RKCFtZudGHU7kUpCNRkXetOt5bbjJYM6ljRFU04HJBPxoc0xn6YmOBjNYG5PvRYlkPFCDXSjtSCVGbuZjvyxhyGItDd58T1cWrq86rdgMJtqyAP34wuhsfNysoj16f6eyzHYEnSgnHsHooJBH-n2K2BdweD35icukNJ4qczkyNKkt4_s41gUApmvGLZtuZbUpui17ZaI-O4oIExUlTwjHilF6Ht-M0N2etSVImcN0e7-vdt34LHcZWvs2ZNGM-2YsvBlfnASZD6Q-3vTh2YYU5MQtk12xJ8d0QFBAnETsV6MnJ-IhkHDn-drD-jwdpg1x-CYaUn8KY259xzB9eH90hdk-dG22wEBjfmMHH4OIoLYszvbP949_E2-_jp7iG7v3t_-9kSw_g-o4I0JoZMZ6va1kpGlagK2Um35y_FAieh0TMwoaNKv9NHmD0f3vVOzRRTugxPnj_iyZ_zFMb8wFO_dHgqT_qeYJksioar7tnhevSSpc4w8wMpeYypq3O2ldd0cpp_AHM4CQbmgjlzKQsPzO2oPJGzE2n4BVqZqPVoq4XMuDmdzzGLR0L6CLkQLURnpp9mv9_thMgb1hkDPO2EKIIiqE_3Oitm497QDT39HkvH9L_K95zXI4T0fL3OpndSxmO1AAL1OmtviR3rjTk2d9lYDt2BjMncLMVRUBCiybAroFkX0pCwuFmqhNhWr6TsfPOTxe-XcPcDiEFOdqRHvttmoDZvVb9UnIxyUIRG9zPQm9EWLKg1yOHqlTXyzhB7nAURKXL3DIiDNOz2SBzny_MWRsvg-tMtzHNvUSFrtJG1yfnfkJLoWyuUYVBf5CAeZpkcPQm1BswQHitRrRwnHwiIZx0XuZFdO5rSYtMw30FYHSfjW8tbfdse52QwmnR9-xNW_5gw7I27eDoTxWES2-FYv2WQZk1LobgyfmnOjlu4e8x6I88H3dJqYwqHo8lT-iLGEYYJsQfs7t6DcdZn9HedbwIoiIetlelsDhd-mBoqe0gdyswUXxrrSR5xAN6djB87bsmuLR9JpXeBWvDyjcbew7BRE4-Ae3PgiZe8BLzbxtJVkoafMaII4LDHF-H_KixdxxxgTWdAmId5bGbHepdSY2FZDZ4Fs2szhJzqdLkHif6tlgEHa1GTmT0zO4iNeBlPJIqYpK5PfLs7Q-qeDbOkV69-dTfSlnfdNujg1BhPVFKv8CNTQputsWC8NTfd9Gsrs-cHDTtTMUP1fCimtdHm9eVnvffYF9DT_erJt16SuPqsQLROlFCF1JK1uV2q6J5x0F8NR2rNUQmGNJA9ZdMIWnKkh0ddcMsCPZht9ITq-6KAjAsDpt4LNyV_I9varn12Am_kU1VKoPSdZFIhvHQR5Yogf7Z5z7rnmqVq9wXZiPK5271f6Rd5BWlcexYIgG8twocjgsHACtb5HjFO2xVqzBaXXsG-15ShN60oIZtj5Ojxw9CIHc6EkrVTyXpDyiO_Jli3dAnmwcU3orcJ4cQoswL13MmsQjSoN_ZTW43h3B9yTCLMDqBePpelYRgqQLONjxTf6xznDwnJ11bplsNcxEeEMWR-BsERJDAEPew4q23rmAkG8nSPD5xflyJ_7B-vxWqtkKYXNYJx3QwCr6h2ZhBMW6VkNXGU8M17sqpJJUDXIxxb9B15wdJzl74Lb3iuTjUJfIX-8onTzSK8AQun7LUNrx2xISveLC2TuiU3-Vd1pGIPhqbUDeDUS8MQx2EQODzN4ZTmTp56xMFBHjmJ54VwVngpK1zuxtxqPWyN_gJqvSQfBmdGjQMniTD3cRw4UeBhB8csdtIIrKHcYyxJwiTA5CXUF_zSi6IwCt0w8S_YZcDSICUXSqiSX1pPymvSrKEmHDtT1QVh2vnZ_deH3uv1D1B0N1OSP6qa5PyircvLV1zbLD3ZgwMpwS4djn4gk8CE6WJ96RGSBJS4nAcEcxLz1E0jwtw8CSLGsX9REsrL5hL6Adyq4k_IiIBzIPpCXOpO8FwvcBMcuP6SRgWOI5_HecRyCvkZRpoNEeXSrKlA4F_UlwYSBLQueUrRqGa4SRqzNc2NOpBPWpjt1Zc2TC-M5kuD_L9JNztk">