Page MenuHome

Assertion Failure: Moving Keyframe in Graph Editor beyond enum range
Confirmed, NormalPublicKNOWN ISSUE

Description

System Information
Operating system: Linux Mint Mate 19
Graphics card: Nvidia GTX 850M

Blender Version
Broken: master 2020-11-12 @ Merge branch 'blender-v2.91-release' only on debug builds 987732181f779ca792de933aa5f001168b1f6f26
Worked: Anything that is not a debug build will not show any problems

Short description of error
This issue is split off from T44219: Pose Breakdowner bug in Gooseberry rigs
Moving a keyframe of an enum in the graph editor allows it to go beyond the range of the enum. This causes an assert to fail

Exact steps for others to reproduce the error

  • Open the file
  • Move the keyframe up
  • Blender crashed as soon as you exceed the enum range

Event Timeline

Christoph Lendenfeld (ChrisLend) changed the task status from Needs Triage to Confirmed.Nov 12 2020, 6:06 PM

Are you sure this is a regression?

I am getting following assert in Debug builds:

BLI_assert failed: source/blender/blenlib/intern/math_rotation.c:1589, get_rotation_order_info(), at 'order >= 0 && order <= 6'

But no crash in Release builds

Sorry I missed that. I didn't know asserts would cause a crash in debug builds.
In that case I will close that issue then.
I think it makes no sense to keep it as a known issue if it never is a problem in final builds.

Well it is always good to have an eye on asserts [after all, they tell you something is not working as expected]
In this case I am not so sure if it is worth chasing this more... Keyframing enums is special, not sure how we'd safeguard properly here.

Still, letting @Sybren A. Stüvel (sybren) know

P.S.: you can disable "crash" on asserts in Debug builds with this CMAKE option WITH_ASSERT_ABORT

Sorry I missed that. I didn't know asserts would cause a crash in debug builds.
In that case I will close that issue then.

The assertion failing shows that there is a problem, in that the data fed to a function doesn't adhere to the expected range, so the function will not do the right thing. We shouldn't be accepting a failing assert in the same way that we don't accept a failing unit test.

We could keep this report open as a Known Issue, or as a low-priority bug. Not sure how hard it would be to find a proper fix for this, though.

Sybren A. Stüvel (sybren) reopened this task as Confirmed.Nov 16 2020, 11:47 AM
Sybren A. Stüvel (sybren) changed the subtype of this task from "Report" to "Known Issue".
Christoph Lendenfeld (ChrisLend) renamed this task from Crash: Moving Keyframe in Graph Editor beyond enum range to Assertion Failure: Moving Keyframe in Graph Editor beyond enum range.Nov 16 2020, 12:26 PM
Christoph Lendenfeld (ChrisLend) updated the task description. (Show Details)
Christoph Lendenfeld (ChrisLend) updated the task description. (Show Details)