Child bones doesn't follow parent when setting IK and chain length to a specific value

I have a rig for a human. In blender 2.81 I set IK constraint (chain length 5) on the wrist and when I move it the finger bones follow. I set another on the thumb (chain length 4). Now when I move the wristIK the thumb bones stay where they are, they don’t follow. If I lower the chain length to 3 the thumb bones start to follow the wrist.

To see what happens, open the blend file in 2.81 and select the wristIK. Move it around and you see the thumb stays where it is.

This is an old rig. In blender 2.79 I don’t get the same behaviour until chain lenght for the thumb is set to 9.

Is there a way to get chain length 4 for my rig to work the same way as in blender 2.79?
If not does anyone know what the difference is between 2.81 and 2.79 regarding rigs?

The rig is for a character I have animated, so I hoped I could append it in new blender version and get the same result. I don’t want to redo it. But since I have this problem it doesn’t look the same.

rig_support_blender2_81_16.blend (738.1 KB)
Compare with the rig in blender 2.79
rig_support_blender2_79.blend (589.0 KB)

I looked at your first file in 2.81. I see what you’re saying. Even if the skeleton is modified to use connected bones, the overlapping IKs (two IKs affect the hand bone) can’t agree. It’s like they’re not talking to each other. And the base of the thumb gets disconnected.

Then, the whole thing has weird jumping behavior on cancelled grabs that looks an awful lot like Blender does when it sees dependency loops, but there are no dependency loops.

Yet when you copy the armature into 2.79, the IKs work fine.

I believe this is a bug, probably related to the really big changes in dependency that came with 2.80. You should check it on the current release (2.81a) and on the latest daily build. If they don’t fix the issue, I believe a bug report would be in order.

I’m afraid I can’t think of a workaround, not beyond, don’t set overlapping IK chains for now.

Thank you for taking your time and looked at this. I get the same with latest stable versions and all experimental builds I could download. I will follow your suggestion and submit a bug report.

If you get around to it, link the bug report. I find it useful to hear what devs have to say. (And sometimes they seem a little work-averse, it can’t hurt to have an advocate. I’ve had multiple situations where a dev said “That’s not a bug” until Brecht showed up and said, “Uhh, yeah it is.” Don’t want to imply I have perfect confidence that this is a bug though. My own bug reports, I put more work into.)

Here is a link to the bug report I created T73051

Feel free to add a comment to it if you have useful information. I didn’t really understand the dependency loops your were talking about so I didn’t say anything about it in the report.

Thanks for copying me. I’ve commented on the bug report-- I believe the early close of the report was inappropriate. (There may be a valid reason for why it’s not a bug, but not the one offered there.)

Thank you for adding information so they might take a second look.