TurboFloat hang in macOS when checking out a lease after unclean shutdownSolved

TurboFloat Library v4.1.9.0TurboFloat Server 4.1.9.0Operating system: macOS 10.14.6

If an application running in macOS uses TurboFloat to check out a lease and crashes without dropping the lease and cleaning up, the next time it runs, TF_RequestLease will hang indefinitely. This is a serious issue for us because our software is a plug-in for a third party application that does crash on a pretty regular basis. I don't think we can ship floating license support for macOS while this bug is present.

We have tested in both Windows and Linux and confirmed this bug only affects macOS.

Reproducing the crash can be done with the TurboFloat example Xcode project.

1. Edit the TurboFloat sample project as indicated to get it loading product details from TurboActivate.dat, obtaining a handle using a product GUID, and checking out a license from a TurboFloat server

2. Once the license is checked out and the program prints "Type X and press Enter to drop the lease", terminate the program uncleanly (for example by clicking the "Stop" button at the top of the Xcode window)

3. Re-run the program. It will freeze when it calls TF_RequestLease.

Thanks.

We'll attempt to reproduce this tomorrow and get back to you.

We haven't forgotten about this. We're releasing a feature next week then we'll dig into this report.

Great, thanks for the update.

We can't reproduce a crash. But we can reproduce a "hang" on macOS when trying to "restore" a lease when an app had previously crashed. We're working on a fix.

Wyatt wrote:> We can't reproduce a crash. But we can reproduce a "hang" on> macOS when trying to "restore" a lease when an app had previously> crashed. We're working on a fix.

Yes what I meant to report is a hang not a crash. Glad to hear a fix is on the way, thanks.

TF 4.2.0 is now out and fixes this bug for macOS, Linux, and FreeBSD. Windows was unaffected (but has other bug fixes).

Thank you again for reporting this.

I can confirm this fixes the hang. Thanks!