Page MenuHome

Instance face duplicated geometry doesn't render in edit mode
Closed, ResolvedPublicBUG

Description

System Information
Operating system: Windows-10-10.0.17763-SP0 64 Bits
Graphics card: GeForce GTX 1080 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 445.87

Blender Version
Broken: version: 2.90.0 Alpha, branch: master, commit date: 2020-06-04 22:58, hash: rBc7329da14b22
Worked: 2.83

Short description of error
Pretty much in the title, i'll attach a file. The strange thing is that if you add an array modifier, for example, the geometry will show up in edit mode.

Exact steps for others to reproduce the error
enter edit mode on the planes

Event Timeline

Germano Cavalcante (mano-wii) changed the task status from Needs Triage to Confirmed.Jun 5 2020, 9:40 PM
Germano Cavalcante (mano-wii) triaged this task as High priority.
Germano Cavalcante (mano-wii) changed the subtype of this task from "Report" to "Bug".

In 2.90 this file is crashing!

I get the same result in b2.82, b2.83 and b2.90. Might this issue already be fixed? Or I am not able to reproduce it. As reporter mention that 2.83 is working I expect that this issue is already fixed.

It would help to have more context using a screenshot to clarify what you see in order to know if we are able to reproduce the issue.

I see this:

@Jeroen Bakker (jbakker), did you make sure to select the "Plane" object and enter edit mode?
I see no problem in 2.83. Crash in 2.90 Debug build

Exception thrown: read access violation.
mp was nullptr.
>	blender.exe!make_child_duplis_faces(const DupliContext * ctx, void * userdata, Object * inst_ob) Line 635	C
 	blender.exe!make_child_duplis(const DupliContext * ctx, void * userdata, void(*)(const DupliContext *, void *, Object *) make_child_duplis_cb) Line 277	C
 	blender.exe!make_duplis_faces(const DupliContext * ctx) Line 723	C
 	blender.exe!object_duplilist(Depsgraph * depsgraph, Scene * sce, Object * ob) Line 1134	C
 	blender.exe!`anonymous namespace'::deg_iterator_objects_step(BLI_Iterator * iter, DEG::IDNode * id_node) Line 228	C++
 	blender.exe!DEG_iterator_objects_next(BLI_Iterator * iter) Line 302	C++
 	blender.exe!DRW_draw_render_loop_ex(Depsgraph * depsgraph, RenderEngineType * engine_type, ARegion * region, View3D * v3d, GPUViewport * viewport, const bContext * evil_C) Line 1470	C
 	blender.exe!DRW_draw_view(const bContext * C) Line 1397	C
 	blender.exe!view3d_draw_view(const bContext * C, ARegion * region) Line 1609	C
 	blender.exe!view3d_main_region_draw(const bContext * C, ARegion * region) Line 1634	C
 	blender.exe!ED_region_do_draw(bContext * C, ARegion * region) Line 543	C
 	blender.exe!wm_draw_window_offscreen(bContext * C, wmWindow * win, bool stereo) Line 689	C
 	blender.exe!wm_draw_window(bContext * C, wmWindow * win) Line 812	C
 	blender.exe!wm_draw_update(bContext * C) Line 1013	C
 	blender.exe!WM_main(bContext * C) Line 482	C
 	blender.exe!main(int argc, const unsigned char * * UNUSED_argv_c) Line 530	C
 	[External Code]
Germano Cavalcante (mano-wii) lowered the priority of this task from High to Normal.Jun 8 2020, 1:02 PM

The strange thing is that if you have an array modifier on the plane, it will render the instanced object in the viewport in edit mode.

If you apply the array modifier, the instanced objects disappear from the viewport in edit mode

This is caused by rBdeaff945d0b9.

Developer note: The issue is that editbmesh_calc_modifiers() calls BKE_mesh_wrapper_from_editmesh_with_coords() to get the edit cage. The latter function returns an invalid mesh that is supposed to be updated before it's used. When there are no modifiers, however, that mesh is returned as the edit cage mesh.

Reopening as the fix was reverted, I'll check on why tomorrow.