Vague "driver has invalid target" console error. #32492

Closed
opened 2012-09-04 17:34:28 +02:00 by Nathan Vegdahl · 10 comments
Member

%%%When a driver has an invalid target (i.e. one of its variables points to something that doesn't exist) Blender emits a "Error: driver has an invalid target to use" message in the console.

Unfortunately, this message does not contain enough information to track down the offending driver in e.g. rigs with hundreds of drivers. The object and RNA path of the driven property should be included in the error message.

A file that produces the vague error is attached. In this example, the error message should additionally say that the issue is in the driver that's on Armature->Bone->location.x%%%

%%%When a driver has an invalid target (i.e. one of its variables points to something that doesn't exist) Blender emits a "Error: driver has an invalid target to use" message in the console. Unfortunately, this message does not contain enough information to track down the offending driver in e.g. rigs with hundreds of drivers. The object and RNA path of the driven property should be included in the error message. A file that produces the vague error is attached. In this example, the error message should additionally say that the issue is in the driver that's on Armature->Bone->location.x%%%
Author
Member

Changed status to: 'Open'

Changed status to: 'Open'
Member

%%%This issue is not exactly the most straightforward to address, as the place where the error is raised is several layers down with no knowledge of the very info we need/want to report.

While I could try to improve these error messages a bit in some way (keyingsets + anim channel filtering also need some tweaks), would it be helpful to have a filtering mode in the drivers editor which just displays "broken" drivers? This could help make reduce the dependency on being able to view the console for errors here :)%%%

%%%This issue is not exactly the most straightforward to address, as the place where the error is raised is several layers down with no knowledge of the very info we need/want to report. While I could try to improve these error messages a bit in some way (keyingsets + anim channel filtering also need some tweaks), would it be helpful to have a filtering mode in the drivers editor which just displays "broken" drivers? This could help make reduce the dependency on being able to view the console for errors here :)%%%
Author
Member

%%%Yes! That would be awesome, Joshua! That would also be a great verification tool ("yay, none of my drivers are broken!")%%%

%%%Yes! That would be awesome, Joshua! That would also be a great verification tool ("yay, none of my drivers are broken!")%%%
Member

%%%What is the status of this?

I also think it's interesting to improve errors in general... if the code that throws up the error has no knowledge about what the error is, it better gets handled more proper internally. %%%

%%%What is the status of this? I also think it's interesting to improve errors in general... if the code that throws up the error has no knowledge about what the error is, it better gets handled more proper internally. %%%
Member

%%%The filtering mode is now in place (r. 51246), which kindof eliminates the need to check on the console prints.

However, when checking this, I found that it would still benefit a bit from actually highlighting in the UI where the errors were. That's perhaps more todo though.%%%

%%%The filtering mode is now in place (r. 51246), which kindof eliminates the need to check on the console prints. However, when checking this, I found that it would still benefit a bit from actually highlighting in the UI where the errors were. That's perhaps more todo though.%%%
Member

%%%You mean as todo, to make buttons show 'red alert' theme color? That shouldn't be too hard?%%%

%%%You mean as todo, to make buttons show 'red alert' theme color? That shouldn't be too hard?%%%
Member

%%%Ok, red alerts tagging is now in SVN. I guess this report can now be closed :)%%%

%%%Ok, red alerts tagging is now in SVN. I guess this report can now be closed :)%%%
Author
Member

%%%Reopened:
There are meaningful driver errors that don't show up in the filter yet. Attached is a simple blend file ("broken_drivers.blend") demonstrating this. Note that only the Z Location driver shows up in the filter, even though the X and Y Location drivers are also broken.

Also, although the Rotation X driver is technically functioning since the broken driver variable isn't used, it would still be nice for it to show up in the error filter for clean-up purposes.

The idea of the feature is great! It just needs a little bit more love. :-)%%%

%%%Reopened: There are meaningful driver errors that don't show up in the filter yet. Attached is a simple blend file ("broken_drivers.blend") demonstrating this. Note that only the Z Location driver shows up in the filter, even though the X and Y Location drivers are also broken. Also, although the Rotation X driver is technically functioning since the broken driver variable isn't used, it would still be nice for it to show up in the error filter for clean-up purposes. The idea of the feature is great! It just needs a little bit more love. :-)%%%
Member

%%%Ok, r.55070 fixes the problems with these "harmless errors" not showing up. It seems the pydrivers eval code clears the top-level error flag, which meant that the filter heuristic wouldn't see any errors.%%%

%%%Ok, r.55070 fixes the problems with these "harmless errors" not showing up. It seems the pydrivers eval code clears the top-level error flag, which meant that the filter heuristic wouldn't see any errors.%%%
Member

Changed status from 'Open' to: 'Resolved'

Changed status from 'Open' to: 'Resolved'
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
3 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#32492
No description provided.