Regression: Can`t select ruler or click it to make andgular ruler. #107570

Closed
opened 2023-05-03 02:24:31 +02:00 by Vyacheslav Kobozev · 19 comments

System Information
Operating system: Windows-10-10.0.17763-SP0 64 Bits
Graphics card: NVIDIA GeForce RTX 3060/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 512.95

Blender Version
Broken: version: 3.6.0 Alpha, branch: main, commit date: 2023-05-01 20:15, hash: 0652945dbda7
Broken: 3.6.0 Alpha, 993d24c1749c, 2023-04-23 19:27
Worked: 3.6.0 Alpha, e078419c9c12, 2023-04-14 22:58
probably caused by f87e474af0

Exact steps for others to reproduce the error
Select measurement tool, drag a line/ruler, drag another one, try to click the first one to select.
2023-05-03_03-14-53.mp4

**System Information** Operating system: Windows-10-10.0.17763-SP0 64 Bits Graphics card: NVIDIA GeForce RTX 3060/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 512.95 **Blender Version** Broken: version: 3.6.0 Alpha, branch: main, commit date: 2023-05-01 20:15, hash: `0652945dbda7` Broken: 3.6.0 Alpha, `993d24c1749c`, 2023-04-23 19:27 Worked: 3.6.0 Alpha, `e078419c9c12`, 2023-04-14 22:58 probably caused by f87e474af0 **Exact steps for others to reproduce the error** Select measurement tool, drag a line/ruler, drag another one, try to click the first one to select. [2023-05-03_03-14-53.mp4](/attachments/863789af-45b2-49cb-b221-c6eb1799f344)
Vyacheslav Kobozev added the
Priority
Normal
Status
Needs Triage
Type
Report
labels 2023-05-03 02:24:31 +02:00
Member

Thanks for the report. Can confirm. Bisecting...

Thanks for the report. Can confirm. Bisecting...
Member

Hello @Vyach , looks like the ruler has already been working normally here on today's build. You could try a latest build and see if it works. I guess it was probably some other viewport draw/selection changes that temporarily broke the thing.

Hello @Vyach , looks like the ruler has already been working normally here on today's build. You could try a latest build and see if it works. I guess it was probably some other viewport draw/selection changes that temporarily broke the thing.
Member

Can confirm in 3.6-d5fc1b9ba4b8 buildbot build :/
I don't see any commits after d5fc1b9ba4 which would fix the issue.

Can confirm in 3.6-d5fc1b9ba4b8 buildbot build :/ I don't see any commits after d5fc1b9ba4b8 which would fix the issue.
Member

Interesting... Let me test if there's any specific input key setup that might interfere with this

Interesting... Let me test if there's any specific input key setup that might interfere with this
Member

Sorry, that previous comment was ... misunderstanding the tool.

So, I cant really repro this either
@Harley : since this seems to be a recent regression, can you repro after b367a2b5f9 ?

Sorry, that previous comment was ... misunderstanding the tool. So, I cant really repro this either @Harley : since this seems to be a recent regression, can you repro after b367a2b5f9befbc946cd215760e1ea04abe3e5fc ?
Member

AFAICS this problem introduced between bd86e719ab - 993d24c174 (but can not trigger this on lite build)
Either an OpenGL issue or introduced by C -> Cpp porting: f87e474af0

AFAICS this problem introduced between bd86e719ab91 - 993d24c1749c (but can not trigger this on lite build) Either an OpenGL issue or introduced by C -> Cpp porting: f87e474af00483dd3516fc2f6b36b1dffb89f678

issue still here in the fresh build
3.6.0 Alpha, d5fc1b9ba4b8, 2023-05-02 21:24

issue still here in the fresh build 3.6.0 Alpha, `d5fc1b9ba4b8`, 2023-05-02 21:24
Member

I can confirm the reported behavior in the last buildbot nightly build - blender-3.6.0-alpha+main.d5fc1b9ba4b8-windows.amd64-release.zip. The quickest indication of the problem is that the mouse cursor does not change to a "four-pointed arrow" cursor on the endpoints or to a "plus" cursor at an angle point.

But (so far) not able to recreate while compiling main. Not seeing any commits between 2023-04-14 and 2023-04-23 that would explain it.

I can confirm the reported behavior in the last buildbot nightly build - blender-3.6.0-alpha+main.d5fc1b9ba4b8-windows.amd64-release.zip. The quickest indication of the problem is that the mouse cursor does not change to a "four-pointed arrow" cursor on the endpoints or to a "plus" cursor at an angle point. But (**so far**) not able to recreate while compiling main. Not seeing any commits between 2023-04-14 and 2023-04-23 that would explain it.
Member

This features works as expected when I compile (lite or Full) myself. But the same code on the buildbot breaks.

For the nightlies this worked on April 19th (45c0762f1b) but was broken on April 20th (f87e474af0)

This features works as expected when I compile (lite or Full) myself. But the same code on the buildbot breaks. For the nightlies this worked on April 19th (45c0762f1b9b) but was broken on April 20th (f87e474af004)
Member

view3d_gizmo_ruler.cc changed from C to C++ on April 19th, the last day it worked. So this is looking like a compiler issue. It is working correctly when compiled on VS 2022 but not working correctly if compiled on the version of VS 2019 that is on the buildbots?

`view3d_gizmo_ruler.cc` changed from C to C++ on **April 19th**, the last day it worked. So this is looking like a compiler issue. It is working correctly when compiled on VS 2022 but not working correctly if compiled on the version of VS 2019 that is on the buildbots?
Member

So Harley and me both observing this issue in buildbot build but not in a build from source.
Confirming again.

So Harley and me both observing this issue in buildbot build but not in a build from source. Confirming again.
Pratik Borhade changed title from Can`t select ruler or click it to make andgular ruler. to Regression: Can`t select ruler or click it to make andgular ruler. 2023-05-04 07:29:36 +02:00
Member

Just noting that daily buildbot builds on linux are fine.

Just noting that daily buildbot builds on linux are fine.
Philipp Oeser added the
Platform
Windows
Interest
Platforms, Builds & Tests
labels 2023-05-04 09:23:22 +02:00
Member

I'm not observing this issue with the project built for, and loaded into VS 2019 .29.30133. The buildbots are on .29.30139.0. So this might not be a strictly compiler version issue. Possibly a configuration difference on the bot?

@LazyDodo has asked for details from the bot including a copy of the CMakeCache.txt so we can see that actual versions, build flags, etc. And also about the behavior of building with the "clean" flag, ie "does it wipe the whole build dir or just runs an extra ninja -t clean / make clean?"

I'm not observing this issue with the project built for, and loaded into **VS 2019** .29.30133. The buildbots are on .29.30139.0. So this might not be a strictly compiler version issue. Possibly a configuration difference on the bot? @LazyDodo has asked for details from the bot including a copy of the CMakeCache.txt so we can see that actual versions, build flags, etc. And also about the behavior of building with the "clean" flag, ie "does it wipe the whole build dir or just runs an extra ninja -t clean / make clean?"
Member

This reproduces on VS 16.11.9 ONLY older is fine, newer is fine as well , it's easy to sidestep with something like this (but that does add a warn for ninja about /Ob2 and /Ob0 being supplied, i can't seem to disable, nor is there an easy way to remove something from the CXX flags for a single compile unit)

diff --git a/source/blender/editors/space_view3d/CMakeLists.txt b/source/blender/editors/space_view3d/CMakeLists.txt
index 747e3a537fa..df70081a348 100644
--- a/source/blender/editors/space_view3d/CMakeLists.txt
+++ b/source/blender/editors/space_view3d/CMakeLists.txt
@@ -97,3 +97,8 @@ blender_add_lib(bf_editor_space_view3d "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
 add_dependencies(bf_editor_space_view3d bf_dna)
 # RNA_prototypes.h
 add_dependencies(bf_editor_space_view3d bf_rna)
+
+if(MSVC) # MSVC has a codegen bug in this file in 16.11.9
+  SET_SOURCE_FILES_PROPERTIES(view3d_gizmo_ruler.cc PROPERTIES COMPILE_FLAGS /Ob0)
+endif()
+

I can't narrow it down any further, there is no amount of turning the optimizer on/off on a per function basis that seems to make this problem go away.

Given I don't know where else this codegen bug is going to popup and the rate things are being converted to C++ the fix i'd like to see is to bump the CI env to a newer MSVC version however this will have some implications for the LTS releases that should probably be discussed outside of this ticket.

cc: @Arnd , @brecht

This reproduces on VS 16.11.9 _ONLY_ older is fine, newer is fine as well , it's easy to sidestep with something like this (but that does add a warn for ninja about /Ob2 and /Ob0 being supplied, i can't seem to disable, nor is there an easy way to remove something from the CXX flags for a single compile unit) ```Diff diff --git a/source/blender/editors/space_view3d/CMakeLists.txt b/source/blender/editors/space_view3d/CMakeLists.txt index 747e3a537fa..df70081a348 100644 --- a/source/blender/editors/space_view3d/CMakeLists.txt +++ b/source/blender/editors/space_view3d/CMakeLists.txt @@ -97,3 +97,8 @@ blender_add_lib(bf_editor_space_view3d "${SRC}" "${INC}" "${INC_SYS}" "${LIB}") add_dependencies(bf_editor_space_view3d bf_dna) # RNA_prototypes.h add_dependencies(bf_editor_space_view3d bf_rna) + +if(MSVC) # MSVC has a codegen bug in this file in 16.11.9 + SET_SOURCE_FILES_PROPERTIES(view3d_gizmo_ruler.cc PROPERTIES COMPILE_FLAGS /Ob0) +endif() + ``` I can't narrow it down any further, there is no amount of turning the optimizer on/off on a per function basis that seems to make this problem go away. Given I don't know where else this codegen bug is going to popup and the rate things are being converted to C++ the fix i'd like to see is to bump the CI env to a newer MSVC version however this will have some implications for the LTS releases that should probably be discussed outside of this ticket. cc: @Arnd , @brecht

I've installed VS 16.11.26.0 on the uatest buildbot, it's building now.
https://builder-uatest.blender.org/admin/#/builders/18/builds/920
https://builder-uatest.blender.org/admin/#/builders/164/builds/12
https://builder-uatest.blender.org/download/daily/

If these builds work we can roll out the same thing to the production buildbot.

For my own reference, the commands to upgrade:

choco pin remove -n=visualstudio2019community
choco pin remove -n=visualstudio2019-workload-nativedesktop
choco upgrade visualstudio2019community visualstudio2019-workload-nativedesktop
choco pin add -n=visualstudio2019community
choco pin add -n=visualstudio2019-workload-nativedesktop
I've installed VS 16.11.26.0 on the uatest buildbot, it's building now. https://builder-uatest.blender.org/admin/#/builders/18/builds/920 https://builder-uatest.blender.org/admin/#/builders/164/builds/12 https://builder-uatest.blender.org/download/daily/ If these builds work we can roll out the same thing to the production buildbot. For my own reference, the commands to upgrade: ``` choco pin remove -n=visualstudio2019community choco pin remove -n=visualstudio2019-workload-nativedesktop choco upgrade visualstudio2019community visualstudio2019-workload-nativedesktop choco pin add -n=visualstudio2019community choco pin add -n=visualstudio2019-workload-nativedesktop ```

Can someone confirm if the issue is solved in the 3.6 build here?
https://builder-uatest.blender.org/download/daily/

Can someone confirm if the issue is solved in the 3.6 build here? https://builder-uatest.blender.org/download/daily/
Member

checking

checking
Member

It works!!!!

It works!!!!

Thanks for confirming, the production buildbot has been updated as well now. So this should be fixed in the next daily build.

Thanks for confirming, the production buildbot has been updated as well now. So this should be fixed in the next daily build.
Blender Bot added
Status
Archived
and removed
Status
Confirmed
labels 2023-05-05 20:47:36 +02:00
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
7 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#107570
No description provided.