Crash while holding `Tab` (with one of the cubes selected)
In extract_pos_nor_loop_mesh (Thread 1):
```
PosNorLoop *vert = data->vbo_data + l;
const MVert *mvert = &mr->mvert[mloop->v];
copy_v3_v3(vert->pos, mvert->co);
```
`vert` is NULL. `data->vbo_data` is NULL.
Stack traces:
Thread 1 (crashed):
```
> [Inline Frame] copy_v3_v3() Line 63 C
extract_pos_nor_loop_mesh(mr=0x000002021812a858, l, mloop=0x000002020f030588, UNUSED_p=0, mpoly=0x0000020215a404d8, _data=0x000002021571e5f8) Line 1566 C
[Inline Frame] mesh_extract_iter(mr=0x000002021812a858, iter_type=MR_ITER_LOOP | MR_ITER_LEDGE | MR_ITER_LVERT, end=2147483647, extract={...}, user_data=0x000002021571e5f8, ) Line 4558 C
extract_run(taskdata=0x0000020215d0ccd8) Line 4589 C
[Inline Frame] extract_init_and_run() Line 4610 C
extract_single_threaded_task_node_exec(task_data) Line 4684 C
[External Code]
[Inline Frame] tbb::interface7::internal::isolate_impl() Line 160 C++
[Inline Frame] tbb::interface7::this_task_arena::isolate() Line 395 C++
TaskNode::run(UNUSED_input={...}) Line 97 C++
[Inline Frame] std::_Invoker_pmf_pointer::_Call() Line 146 C++
[Inline Frame] std::invoke() Line 146 C++
[Inline Frame] std::_Invoker_ret<std::_Unforced,0>::_Call() Line 146 C++
[Inline Frame] std::_Call_binder() Line 1858 C++
[Inline Frame] std::_Binder<std::_Unforced,tbb::flow::interface11::continue_msg (__cdecl TaskNode::*)(tbb::flow::interface11::continue_msg),TaskNode *,std::_Ph<1> const &>::operator()() Line 1914 C++
tbb::flow::interface11::internal::function_body_leaf<tbb::flow::interface11::continue_msg,tbb::flow::interface11::continue_msg,std::_Binder<std::_Unforced,tbb::flow::interface11::continue_msg (__cdecl TaskNode::*)(tbb::flow::interface11::continue_msg),TaskNode *,std::_Ph<1> const &> >::operator()(i) Line 147 C++
[Inline Frame] tbb::flow::interface11::internal::continue_input<tbb::flow::interface11::continue_msg,tbb::flow::interface11::internal::Policy<void> >::apply_body_bypass() Line 821 C++
tbb::flow::interface11::internal::apply_body_task_bypass<tbb::flow::interface11::internal::continue_input<tbb::flow::interface11::continue_msg,tbb::flow::interface11::internal::Policy<void> >,tbb::flow::interface11::continue_msg>::execute() Line 312 C++
[External Code]
```
Thread 2:
```
> [External Code]
[Inline Frame] operator new() Line 1168 C++
[Inline Frame] tbb::internal::task_group_base::prepare_task() Line 124 C++
[Inline Frame] tbb::task_group::run() Line 208 C++
tbb_task_pool_run(pool, task={...}) Line 221 C++
BLI_task_pool_push(pool=0x000002020f2e9fc8, run, taskdata, free_taskdata, freedata=0x0000000000000000) Line 484 C++
BKE_mesh_calc_loop_tangent_ex(mvert=0x0000020215bb2b38, mpoly=0x0000020215a404d8, mpoly_len, mloop=0x000002020f030588, looptri=0x000002020f030fd8, looptri_len=32, loopdata=0x000002021ed63498, calc_active_tangent=false, tangent_names=0x000000769e1fbd00, tangent_names_len=1, poly_normals=0x000002020ef5fd68, loop_normals=0x000002020f345d18, vert_orco=0x0000000000000000, loopdata_out=0x000000769e1fb9d0, loopdata_out_len=64, tangent_mask_curr_p=0x000000769e1fb9a4) Line 665 C
extract_tan_ex(mr=0x000002021812a6f8, vbo=0x0000020202f16ee8, do_hq=false) Line 1995 C
extract_tan_init(mr, buf) Line 2066 C
[Inline Frame] extract_init() Line 4581 C
[Inline Frame] extract_init_and_run() Line 4609 C
extract_single_threaded_task_node_exec(task_data) Line 4685 C
[External Code]
[Inline Frame] tbb::interface7::internal::isolate_impl() Line 160 C++
[Inline Frame] tbb::interface7::this_task_arena::isolate() Line 395 C++
TaskNode::run(UNUSED_input={...}) Line 97 C++
[Inline Frame] std::_Invoker_pmf_pointer::_Call() Line 146 C++
[Inline Frame] std::invoke() Line 146 C++
[Inline Frame] std::_Invoker_ret<std::_Unforced,0>::_Call() Line 146 C++
[Inline Frame] std::_Call_binder() Line 1858 C++
[Inline Frame] std::_Binder<std::_Unforced,tbb::flow::interface11::continue_msg (__cdecl TaskNode::*)(tbb::flow::interface11::continue_msg),TaskNode *,std::_Ph<1> const &>::operator()() Line 1914 C++
tbb::flow::interface11::internal::function_body_leaf<tbb::flow::interface11::continue_msg,tbb::flow::interface11::continue_msg,std::_Binder<std::_Unforced,tbb::flow::interface11::continue_msg (__cdecl TaskNode::*)(tbb::flow::interface11::continue_msg),TaskNode *,std::_Ph<1> const &> >::operator()(i) Line 147 C++
[Inline Frame] tbb::flow::interface11::internal::continue_input<tbb::flow::interface11::continue_msg,tbb::flow::interface11::internal::Policy<void> >::apply_body_bypass() Line 821 C++
tbb::flow::interface11::internal::apply_body_task_bypass<tbb::flow::interface11::internal::continue_input<tbb::flow::interface11::continue_msg,tbb::flow::interface11::internal::Policy<void> >,tbb::flow::interface11::continue_msg>::execute() Line 312 C++
[External Code]
```
Thread 3:
```
> copy_m4_m4(m1=0x00000202156da2a0, m2=0x0000020218ba3254) Line 98 C
[Inline Frame] drw_call_matrix_init() Line 497 C
drw_resource_handle_new(obmat=0x0000020218ba3194, ob=0x0000020218ba2ed8) Line 572 C
drw_resource_handle(shgroup=0x0000020215634ba0, obmat, ob=0x0000020218ba2ed8) Line 603 C
DRW_shgroup_call_ex(shgroup=0x0000020215634ba0, ob=0x0000020218ba2ed8, obmat=0x0000020218ba3194, geom=0x00000202235acef8, bypass_culling=false, user_data=0x000002021e1e78d8) Line 768 C
EEVEE_materials_cache_populate(vedata=0x00000202189c2908, sldata=0x000002021e023d88, ob=0x0000020218ba2ed8, cast_shadow=0x000000769affef20) Line 899 C
EEVEE_cache_populate(vedata=0x00000202189c2908, ob=0x0000020218ba2ed8) Line 152 C
drw_engines_cache_populate(ob=0x0000020218ba2ed8) Line 1006 C
DRW_draw_render_loop_ex(depsgraph=0x00000202189f3be8, engine_type=0x00007ff63678b630, region=0x0000020202fe8798, v3d=0x000002020adcb2b8, viewport=0x000002020ab1cda8, evil_C=0x00000202007c7f38) Line 1479 C
DRW_draw_view(C=0x00000202007c7f38) Line 1405 C
[Inline Frame] view3d_draw_view() Line 1608 C
view3d_main_region_draw(C=0x00000202007c7f38, region=0x0000020202fe8798) Line 1634 C
ED_region_do_draw(C=0x00000202007c7f38, region=0x0000020202fe8798) Line 543 C
wm_draw_window_offscreen(C=0x00000202007c7f38, win=0x000002020ec4cf38, stereo) Line 713 C
wm_draw_window(C=0x00000202007c7f38, win=0x000002020ec4cf38) Line 841 C
wm_draw_update(C=0x00000202007c7f38) Line 1042 C
WM_main(C=0x00000202007c7f38) Line 482 C
main(argc=1, UNUSED_argv_c=0x0000000000000000) Line 534 C