I’ve noticed a bug where if I have exactly enough materials for a full repair, or less, it will consume all the materials but not give nearly enough durability. I’ve seen this with all tools and weapons.
The workaround is to have ‘more’ materials than you need in your inventory. This causes it to use the correct amount and return the correct amount of durability.
I’m not sure if this is the bug you’ve experienced in this case, but it should still help knowing what I’ve described!
Check brown crates at NPC camps. They typically contain a lot of stone, wood, fiber and bones. I’ve gotten thousands of bones from those. They’re the best source from what I’ve seen.
Edit::
You could also use repair kits if iron, steel or hardened steel are easier for you to come by.
I can now confirm that this is indeed the bug you have described. If you have fewer repair materials in your inventory than needed to completely repair the item, it will use up all your materials to repair at massively inflated costs compared to what to takes to repair the item when you have more material than needed in your inventory.
It also appears that the number of repair materials you need to have in your inventary is calculated based on those inflated repair costs but not 100% sure about this.
This is a severe bug for such an fundamental aspect of a survival game (repairing stuff). I hope this will be a priority fix.