Page MenuHome

When a strip is cut and edited in nla editor for a library override character, the strip returns to its original length without the cut. blender 2.92 alpha
Confirmed, NormalPublic

Description

System Information
Operating system: WIN 10 64
Graphics card: GTX 1070 TI
Blender Version
Broken: 2.92.0 ALPHA (07/01/21)
Worked:

Description,
Please refer to the video attached

  1. link and make library override of a character with an armature
  2. make an action and push down in the nla editor
  3. cut the action to a desired length.
  4. press tab on the cut strip to edit action
  5. press tab again to exit editing the action.
  6. problem. the strip returns to its original length without the cut.

thanks

VIDEO:

Revisions and Commits

Event Timeline

Robert Guetzkow (rjg) changed the task status from Needs Triage to Needs Information from User.Jan 8 2021, 12:06 PM

Please provide a minimal example project files that demonstrate the issue so we can reproduce the problem on our systems.

Hi Robert,
I have tried to make a simple file, but it is a bit complicated. I have link and make override of a character with armature, then make a simple animation.

  1. Unzip the attached file: " nla for override armature"
  2. Open the file: "Open this one".
  3. Select the cut strip and press tab to enter edit mode of the animation.
  4. Press tab again to exit editing the animation.
  5. Problem: the strip is no longer cut; the whole animation length appear in the track.

We have to cut again, which is undesirable.
Thanks

Editing of animation data with library overrides is still work in progress. I believe at this point in time it is expected that this doesn't fully work yet. I'll merge this ticket into T72629 which is the task for this topic.

Bastien Montagne (mont29) reopened this task as Needs Triage.Jan 9 2021, 6:17 PM
Bastien Montagne (mont29) claimed this task.

@Robert Guetzkow (rjg) not sure this should have been merged, please investigate or ask before doing such actions... Will check on Monday.

Robert Guetzkow (rjg) added a comment.EditedJan 9 2021, 6:40 PM

@Bastien Montagne (mont29) I've investigated this issue before merging. The NLA is linked, not newly created based on the data from the library override, and the ToDo ticket states that editing of existing NLA tracks from linked data-blocks isn't supported yet. Therefore, based on the information provided in T72629, this feature seems to be planned but not implemented. Hence I merged the ticket.

I apologies if I have misunderstood the description in T72629 and this is indeed a bug.

think this is a bug yes, edit of things in overridden NLA currently are supposed to either work as expected, or not be possible (hence some operator poll function probably needs some updates here).

Hi,
Even if a New Nla strip is made on the overridden armature object in the main file, same issue happens.
Thanks

@Bastien Montagne (mont29) That's a good point. It looks like I was generally wrong with my initial assessment though and the problem is unrelated to library overrides.

@Gukhoul Shivam Singh (shivam) You're right. However, it seems that the problem of the strip returning to its original length appears to be completely unrelated to library overrides. I could reproduce the same behavior by creating a keyframe animation and performing the steps you've described in the same file. After the second tab it returns to its original length. Can you confirm this is the case for you as well?


While investigating this issue I've found another problem that will get a separate ticket on Monday. Deleting the NLA track and then expanding the hierarchy in the Outliner, results in a use-after-free according to ASAN.

  1. Select the NLA track in the OPen this one.blend and delete it (del)
  2. In the Outliner expand the hierarchy Cube > Armature > Animation > NLA Tracks.
==3185==ERROR: AddressSanitizer: heap-use-after-free on address 0x60b0005ced50 at pc 0x00001704cf5f bp 0x7fffffffa460 sp 0x7fffffffa450
READ of size 1 at 0x60b0005ced50 thread T0
    #0 0x1704cf5e in BLF_draw /home/dev/01-data/01-git/blender-git/blender/source/blender/blenfont/intern/blf.c:544
    #1 0x9353246 in UI_fontstyle_draw_simple /home/dev/01-data/01-git/blender-git/blender/source/blender/editors/interface/interface_style.c:311
    #2 0x982ce06 in outliner_draw_tree_element /home/dev/01-data/01-git/blender-git/blender/source/blender/editors/space_outliner/outliner_draw.c:3114
    #3 0x982dc0f in outliner_draw_tree_element /home/dev/01-data/01-git/blender-git/blender/source/blender/editors/space_outliner/outliner_draw.c:3162
    #4 0x982dc0f in outliner_draw_tree_element /home/dev/01-data/01-git/blender-git/blender/source/blender/editors/space_outliner/outliner_draw.c:3162
    #5 0x982dc0f in outliner_draw_tree_element /home/dev/01-data/01-git/blender-git/blender/source/blender/editors/space_outliner/outliner_draw.c:3162
    #6 0x982dc0f in outliner_draw_tree_element /home/dev/01-data/01-git/blender-git/blender/source/blender/editors/space_outliner/outliner_draw.c:3162
    #7 0x982dc0f in outliner_draw_tree_element /home/dev/01-data/01-git/blender-git/blender/source/blender/editors/space_outliner/outliner_draw.c:3162
    #8 0x982dc0f in outliner_draw_tree_element /home/dev/01-data/01-git/blender-git/blender/source/blender/editors/space_outliner/outliner_draw.c:3162
    #9 0x9833197 in outliner_draw_tree /home/dev/01-data/01-git/blender-git/blender/source/blender/editors/space_outliner/outliner_draw.c:3508
    #10 0x9834a1b in draw_outliner /home/dev/01-data/01-git/blender-git/blender/source/blender/editors/space_outliner/outliner_draw.c:3637
    #11 0x98843db in outliner_main_region_draw /home/dev/01-data/01-git/blender-git/blender/source/blender/editors/space_outliner/space_outliner.c:92
    #12 0x7909e1c in ED_region_do_draw /home/dev/01-data/01-git/blender-git/blender/source/blender/editors/screen/area.c:546
    #13 0x4fd2335 in wm_draw_window_offscreen /home/dev/01-data/01-git/blender-git/blender/source/blender/windowmanager/intern/wm_draw.c:731
    #14 0x4fd3557 in wm_draw_window /home/dev/01-data/01-git/blender-git/blender/source/blender/windowmanager/intern/wm_draw.c:872
    #15 0x4fd49c7 in wm_draw_update /home/dev/01-data/01-git/blender-git/blender/source/blender/windowmanager/intern/wm_draw.c:1073
    #16 0x4fc4fa7 in WM_main /home/dev/01-data/01-git/blender-git/blender/source/blender/windowmanager/intern/wm.c:641
    #17 0x3523a3a in main /home/dev/01-data/01-git/blender-git/blender/source/creator/creator.c:522
    #18 0x7ffff6e490b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)
    #19 0x3522bed in _start (/home/dev/01-data/01-git/blender-git/build_linux_debug_full/bin/blender+0x3522bed)

0x60b0005ced50 is located 48 bytes inside of 112-byte region [0x60b0005ced20,0x60b0005ced90)
freed by thread T0 here:
    #0 0x7ffff76907cf in __interceptor_free (/lib/x86_64-linux-gnu/libasan.so.5+0x10d7cf)
    #1 0x18fba180 in MEM_lockfree_freeN /home/dev/01-data/01-git/blender-git/blender/intern/guardedalloc/intern/mallocn_lockfree_impl.c:129
    #2 0x18c3d585 in BLI_freelinkN /home/dev/01-data/01-git/blender-git/blender/source/blender/blenlib/intern/listbase.c:290
    #3 0x392af3c in BKE_nlatrack_free /home/dev/01-data/01-git/blender-git/blender/source/blender/blenkernel/intern/nla.c:131
    #4 0x973eeaf in nlaedit_delete_tracks_exec /home/dev/01-data/01-git/blender-git/blender/source/blender/editors/space_nla/nla_channels.c:814
    #5 0x4fe1cf2 in wm_operator_invoke /home/dev/01-data/01-git/blender-git/blender/source/blender/windowmanager/intern/wm_event_system.c:1312
    #6 0x4fe9aec in wm_handler_operator_call /home/dev/01-data/01-git/blender-git/blender/source/blender/windowmanager/intern/wm_event_system.c:2141
    #7 0x4fed63b in wm_handlers_do_keymap_with_keymap_handler /home/dev/01-data/01-git/blender-git/blender/source/blender/windowmanager/intern/wm_event_system.c:2466
    #8 0x4ff0dee in wm_handlers_do_intern /home/dev/01-data/01-git/blender-git/blender/source/blender/windowmanager/intern/wm_event_system.c:2762
    #9 0x4ff207c in wm_handlers_do /home/dev/01-data/01-git/blender-git/blender/source/blender/windowmanager/intern/wm_event_system.c:2886
    #10 0x4ff83f3 in wm_event_do_handlers /home/dev/01-data/01-git/blender-git/blender/source/blender/windowmanager/intern/wm_event_system.c:3382
    #11 0x4fc4f8f in WM_main /home/dev/01-data/01-git/blender-git/blender/source/blender/windowmanager/intern/wm.c:635
    #12 0x3523a3a in main /home/dev/01-data/01-git/blender-git/blender/source/creator/creator.c:522
    #13 0x7ffff6e490b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)

previously allocated by thread T0 here:
    #0 0x7ffff7690bc8 in malloc (/lib/x86_64-linux-gnu/libasan.so.5+0x10dbc8)
    #1 0x18fbabe0 in MEM_lockfree_mallocN /home/dev/01-data/01-git/blender-git/blender/intern/guardedalloc/intern/mallocn_lockfree_impl.c:276
    #2 0x18fba2ea in MEM_lockfree_dupallocN /home/dev/01-data/01-git/blender-git/blender/intern/guardedalloc/intern/mallocn_lockfree_impl.c:145
    #3 0x392b8ab in BKE_nlatrack_copy /home/dev/01-data/01-git/blender-git/blender/source/blender/blenkernel/intern/nla.c:237
    #4 0x6e52b9b in rna_NLA_tracks_override_apply /home/dev/01-data/01-git/blender-git/blender/source/blender/makesrna/intern/rna_animation.c:780
    #5 0x6dfd3a4 in rna_property_override_operation_apply /home/dev/01-data/01-git/blender-git/blender/source/blender/makesrna/intern/rna_access_compare_override.c:616
    #6 0x6e01497 in rna_property_override_apply_ex /home/dev/01-data/01-git/blender-git/blender/source/blender/makesrna/intern/rna_access_compare_override.c:1098
    #7 0x6e01d70 in RNA_struct_override_apply /home/dev/01-data/01-git/blender-git/blender/source/blender/makesrna/intern/rna_access_compare_override.c:1155
    #8 0x3789d1d in BKE_lib_override_library_update /home/dev/01-data/01-git/blender-git/blender/source/blender/blenkernel/intern/lib_override.c:1818
    #9 0x378ae17 in BKE_lib_override_library_main_update /home/dev/01-data/01-git/blender-git/blender/source/blender/blenkernel/intern/lib_override.c:1885
    #10 0x5140288 in blo_read_file_internal /home/dev/01-data/01-git/blender-git/blender/source/blender/blenloader/intern/readfile.c:4133
    #11 0x51139b0 in BLO_read_from_file /home/dev/01-data/01-git/blender-git/blender/source/blender/blenloader/intern/readblenentry.c:368
    #12 0x9dfd740 in BKE_blendfile_read_ex /home/dev/01-data/01-git/blender-git/blender/source/blender/blenkernel/intern/blendfile.c:446
    #13 0x9dfd8ea in BKE_blendfile_read /home/dev/01-data/01-git/blender-git/blender/source/blender/blenkernel/intern/blendfile.c:468
    #14 0x5012456 in WM_file_read /home/dev/01-data/01-git/blender-git/blender/source/blender/windowmanager/intern/wm_files.c:717
    #15 0x501d5a6 in wm_file_read_opwrap /home/dev/01-data/01-git/blender-git/blender/source/blender/windowmanager/intern/wm_files.c:2185
    #16 0x501e82a in wm_open_mainfile__open /home/dev/01-data/01-git/blender-git/blender/source/blender/windowmanager/intern/wm_files.c:2325
    #17 0x501d911 in operator_state_dispatch /home/dev/01-data/01-git/blender-git/blender/source/blender/windowmanager/intern/wm_files.c:2221
    #18 0x501ea9f in wm_open_mainfile_dispatch /home/dev/01-data/01-git/blender-git/blender/source/blender/windowmanager/intern/wm_files.c:2349
    #19 0x501de16 in wm_open_mainfile__discard_changes /home/dev/01-data/01-git/blender-git/blender/source/blender/windowmanager/intern/wm_files.c:2266
    #20 0x501d911 in operator_state_dispatch /home/dev/01-data/01-git/blender-git/blender/source/blender/windowmanager/intern/wm_files.c:2221
    #21 0x501ea9f in wm_open_mainfile_dispatch /home/dev/01-data/01-git/blender-git/blender/source/blender/windowmanager/intern/wm_files.c:2349
    #22 0x501eacc in wm_open_mainfile_invoke /home/dev/01-data/01-git/blender-git/blender/source/blender/windowmanager/intern/wm_files.c:2354
    #23 0x4fe1725 in wm_operator_invoke /home/dev/01-data/01-git/blender-git/blender/source/blender/windowmanager/intern/wm_event_system.c:1300
    #24 0x4fe37c3 in wm_operator_call_internal /home/dev/01-data/01-git/blender-git/blender/source/blender/windowmanager/intern/wm_event_system.c:1541
    #25 0x4fe38bc in WM_operator_name_call_ptr /home/dev/01-data/01-git/blender-git/blender/source/blender/windowmanager/intern/wm_event_system.c:1555
    #26 0x91ce62a in ui_apply_but_funcs_after /home/dev/01-data/01-git/blender-git/blender/source/blender/editors/interface/interface_handlers.c:939
    #27 0x9259475 in ui_popup_handler /home/dev/01-data/01-git/blender-git/blender/source/blender/editors/interface/interface_handlers.c:10937
    #28 0x4fdaec6 in wm_handler_ui_call /home/dev/01-data/01-git/blender-git/blender/source/blender/windowmanager/intern/wm_event_system.c:643
    #29 0x4ff103a in wm_handlers_do_intern /home/dev/01-data/01-git/blender-git/blender/source/blender/windowmanager/intern/wm_event_system.c:2778

SUMMARY: AddressSanitizer: heap-use-after-free /home/dev/01-data/01-git/blender-git/blender/source/blender/blenfont/intern/blf.c:544 in BLF_draw
Shadow bytes around the buggy address:
  0x0c16800b1d50: 00 00 00 00 00 00 00 00 00 00 fa fa fa fa fa fa
  0x0c16800b1d60: fa fa 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c16800b1d70: fa fa fa fa fa fa fa fa 00 00 00 00 00 00 00 00
  0x0c16800b1d80: 00 00 00 00 00 00 fa fa fa fa fa fa fa fa 00 00
  0x0c16800b1d90: 00 00 00 00 00 00 00 00 00 00 00 00 fa fa fa fa
=>0x0c16800b1da0: fa fa fa fa fd fd fd fd fd fd[fd]fd fd fd fd fd
  0x0c16800b1db0: fd fd fa fa fa fa fa fa fa fa 00 00 00 00 00 00
  0x0c16800b1dc0: 00 00 00 00 00 00 00 00 fa fa fa fa fa fa fa fa
  0x0c16800b1dd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fa fa
  0x0c16800b1de0: fa fa fa fa fa fa 00 00 00 00 00 00 00 00 00 00
  0x0c16800b1df0: 00 00 00 fa fa fa fa fa fa fa fa fa 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
  Shadow gap:              cc

The length syncing behavior is not a bug ( https://wiki.blender.org/wiki/Reference/Release_Notes/2.92/Animation-Rigging#NLA specifically 60746363875a ) and recently made to be the default. However, splitting strips did not disable the Sync Length behavior and will soon be fixed.

OMG, it was that simple. Just had to uncheck the sync length.
Now its works.
Thanks a lot, Wayde Moss

Philipp Oeser (lichtwerk) changed the task status from Needs Triage to Confirmed.Feb 9 2021, 6:10 PM

While investigating this issue I've found another problem that will get a separate ticket on Monday

This one was fixed by rBb4530deec478: Fix T84586: missing Outliner redraws for certain NLA operators

For the rest, we now have D10168: Fix T84486: Nla Disable "Sync Length" After Split, will set status to Confirmed though.