Java has nested exceptions, which significantly reduces the problem, since there is going to be at least one relevant exception that will help you figure it out. In the worst case you can just paste the stack trace into your GitHub issue and call it a day.
With Rust, having a generic error bubble up without nesting means you don't even know where it went wrong. The error could be from any generic error source.