uniffi-rs
c4de5f37 - Prevent completing foreign futures twice

Commit
51 days ago
Prevent completing foreign futures twice We've been seeing segfaults related to freeing the oneshot Sender instance on older mobile phones in Firefox Android. I'm not sure why this is, but my best guess is that we're calling the complete function twice, which will attempt to free the same arc reference twice. My theory on how this happens is we call `handleSuccess` then an exception is thrown and we also call `handleError`. I haven't been able to reproduce this on my machine, except when I add manual throw statements. However, it seems like it's theoretically possible and maybe on older phones we're running into this. For example the following lines could throw after invoking the complete callback: https://github.com/java-native-access/jna/blob/0deb54b46dc04f655e3c1d46e848fd26bf47c09a/src/com/sun/jna/Function.java#L489-L492
Author
Committer
Parents
Loading