Page MenuHome

EEVEE 2.81 VIEWPORT CRASH - having 2 viewports and UV edit window crashes blender
Closed, ResolvedPublicBUG

Description

System Information
Operating system: Windows-10-10.0.14393 64 Bits
Graphics card: GeForce GTX 1050 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 425.46

Blender Version
Broken: version: 2.81 (sub 12), branch: master, commit date: 2019-09-30 22:00, hash: rB60a827a2a991
Worked: 2.80

Short description of error
I finally found a way to replicate this bug.

Apparently if there are two 3D Viewport windows with different shading modes AND an UV edit window (with a texture of the object), entering edit/texture mode on an object immediately crashes blender

-This only happens on objects that have image texture on them
-This is an eevee exclusive bug, it doesn't appear to be a problem in cycles

It took me a while to dig this one up :) I think its critical one

Exact steps for others to reproduce the error

  • have an object with a texture in eevee mode
  • create another 3D viewport window and an UV editor window (make sure that "image pin" is disabled, it only crashes when UV editor calls the image of the object)
  • change shading mode of one of viewports to something that's not eevee (wireframe/solid mode)
  • enter Edit mode OR Texture paint mode on that object
  • crash

Event Timeline

Philipp Oeser (lichtwerk) lowered the priority of this task from 90 to 80.Oct 2 2019, 11:43 AM

Afraid I cannot reproduce [linux, 970m, 435.21 drivers], both in 60a827a2a991 and 3b23685c7dc1.

@vas kirill (vas): does this happen with newer drivers as well?
@Clément Foucault (fclem): does this ring a bell?

@Philipp Oeser (lichtwerk) I just tested and can confirm that this bug is related to my custom user settings, I forgot to do this on factory defaults in which case it works perfectly normal
So I guess its invalid? ^^"
I'll try to rebuild my setup again from scratch to see if its some setting that's triggering this error

Philipp Oeser (lichtwerk) changed the task status from Unknown Status to Unknown Status.Oct 2 2019, 12:57 PM
Philipp Oeser (lichtwerk) claimed this task.

Thx for getting back.
Guess we have to archive this for now then [should have asked for Factory Defaults in the first place ;)]
But yes, please report back if you've found what caused this in your setup (thats always helpful if others run into the same situation...), we can always reopen then.

@Philipp Oeser (lichtwerk) Actually hold on! I just replicated this on default too
Apparently UV Sync Selection has to be toggled on for this to occur

I've asked another user to test this, and it didn't crash (he has AMD Radeon GFX) but it did cause some visual glitching

I'm currently updating my Nvidia driviers to see if it helps

I did some testing and the bug seem to happen only if there's an 'x-ray' mode on. Test file:

  • Open file. Switch to 'rendered' mode.
  • Enter 'edit' mode. Sometimes you need to go into edit mode and back to object mode couple of times to crash.

Windows-10-10.0.16299 64 Bits
GeForce GTX 1080/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 431.86

version: 2.81 (sub 12), branch: master, commit date: 2019-10-01 19:51, hash: rB3b23685c7dc1

Philipp Oeser (lichtwerk) changed the task status from Unknown Status to Unknown Status.Oct 2 2019, 1:51 PM
Philipp Oeser (lichtwerk) raised the priority of this task from 80 to 90.

just confirmed this bug on another computer, Windows 10 GeForce GTX 980M
also also crashes when replicating the previous process from default

Germano Cavalcante (mano-wii) lowered the priority of this task from 90 to High.

I can confirm. Here is the call stack before the crash:

	blender.exe!VertBuffer_upload_data(GPUVertBuf * verts) Line 255	C
 	blender.exe!GPU_vertbuf_use(GPUVertBuf * verts) Line 272	C
 	blender.exe!create_bindings(GPUVertBuf * verts, const GPUShaderInterface * interface, unsigned int v_first, const bool use_instancing) Line 390	C
 	blender.exe!batch_update_program_bindings(GPUBatch * batch, unsigned int i_first) Line 457	C
 	blender.exe!batch_vao_get(GPUBatch * batch) Line 328	C
 	blender.exe!GPU_batch_program_set_no_use(GPUBatch * batch, unsigned int program, const GPUShaderInterface * shaderface) Line 343	C
 	blender.exe!draw_geometry_bind(DRWShadingGroup * shgroup, GPUBatch * geom) Line 652	C
 	blender.exe!draw_indirect_call(DRWShadingGroup * shgroup, DRWCommandsState * state) Line 694	C
 	blender.exe!draw_call_batching_flush(DRWShadingGroup * shgroup, DRWCommandsState * state) Line 1080	C
 	blender.exe!draw_call_batching_finish(DRWShadingGroup * shgroup, DRWCommandsState * state) Line 1185	C
 	blender.exe!draw_shgroup(DRWShadingGroup * shgroup, DRWState pass_state) Line 1333	C
 	blender.exe!drw_draw_pass_ex(DRWPass * pass, DRWShadingGroup * start_group, DRWShadingGroup * end_group) Line 1380	C
 	blender.exe!DRW_draw_pass(DRWPass * pass) Line 1430	C
 	blender.exe!workbench_forward_draw_scene(WORKBENCH_Data * vedata) Line 775	C
 	blender.exe!workbench_transparent_draw_background(void * vedata) Line 67	C
 	blender.exe!drw_engines_draw_background() Line 1185	C
 	blender.exe!DRW_draw_render_loop_ex(Depsgraph * depsgraph, RenderEngineType * engine_type, ARegion * ar, View3D * v3d, GPUViewport * viewport, const bContext * evil_C) Line 1690	C
 	blender.exe!DRW_draw_view(const bContext * C) Line 1566	C
 	blender.exe!view3d_draw_view(const bContext * C, ARegion * ar) Line 1534	C
 	blender.exe!view3d_main_region_draw(const bContext * C, ARegion * ar) Line 1559	C
 	blender.exe!ED_region_do_draw(bContext * C, ARegion * ar) Line 539	C
 	blender.exe!wm_draw_window_offscreen(bContext * C, wmWindow * win, bool stereo) Line 630	C
 	blender.exe!wm_draw_window(bContext * C, wmWindow * win) Line 768	C
 	blender.exe!wm_draw_update(bContext * C) Line 948	C
 	blender.exe!WM_main(bContext * C) Line 424	C
 	blender.exe!main(int argc, const unsigned char * * UNUSED_argv_c) Line 493	C

And this is the GPUVertBuf that was intended to be uploaded:

verts
0x000001cf050823b8 {format={attr_len=29 name_len=46 stride=955 ...} vertex_len=3722304989 vertex_alloc=...}
    format: {attr_len=29 name_len=46 stride=955 ...}
    vertex_len: 3722304989
    vertex_alloc: 3722304989
    vbo_id: 3722304989
    usage: 1
    dirty: 1
    data: 0xdddddddddddddddd <Error reading characters of string.>

Cc: @Jeroen Bakker (jbakker)