Scrivener not exiting cleanly? [2.9.0.2 and 2.9.0.3, 64-bit]

I’m 95% sure this is a Scrivener issue, not a WINE one, but it might not be an issue to people actually using Windows. Sorry, this one is technical.

When I exit Scrivener, the PID won’t end. It’ll be marked as defunct, but it’ll still hang in memory. fuser -mv /my/home/partition will show a bunch of WINE services still running, although the WINEPREFIX isn’t in use. if I do ‘lsof | egrep “wine”’, I find a bunch of files still in use with the original Scrivener PID, which I have to kill manually.

But all Scrivener files are being written correctly, and all backups are being made. (I can provide these, need be.) For the life of me, if it’s a crash, I can’t tell when/where it’s happening. It’s just an annoying thing that I find out about when I go to reboot every few days or so (and that partition gets unmounted.)

It’s also not a problem I’ve had with other WINE programs (Trove, Grim Dawn, Skyrim, Spore.)

I’ve attached some console spew.
scrivener_memory_spew.txt (26.4 KB)

Not sure if this is related, but if Scrivener doesn’t exit cleanly, and I forget to kill the PID, then Dropbox (linux native) won’t start up properly. (I’m not entirely sure what exactly is going on with Dropbox–it’ll load the libraries, but then the process will die.)

Does Scrivener 3 sync with Dropbox automatically? Is it not exiting fully because Dropbox isn’t running?

Did a little testing with Dropbox and Scrivener running, and Scrivener still isn’t exiting cleanly.

No, there’s no automatic connection with Dropbox; it shouldn’t be affecting things. Could you launch Scrivener via the ScrivenerLog.bat file in its installation directory, with admin rights, and let that log through when you quit Scrivener, then see if that offers any indication of the problem? You can attach the .log file here, too; it’ll be created in a “log” directory in the Scrivener directory.

Think the Dropbox thing is unrelated. Log attached. There’s some oddities in where it’s locating fonts because I’m using WINE. I know Mr. X and the Crossover people have noticed Scrivener not exiting properly, too.

Curious thing is that when I started Scrivener making it dump a log, the process ended with a ctrl-C, which before I’d have to do lsof | egrep “wine” to find the PID that was still going. (So it’s a cleaner exit with the log than without.) The default is that any WINE program is already being run as admin within the context of its own WINEPREFIX.
Scrivlog.zip (2.7 KB)

So this weekend I was using Scrivener, closed it, killed the process, but tried to launch another WINE application in a different WINEPREFIX. The error I got with the 2nd program was that devenum.dll was still in use. Does this help any?

This is definitely a WINE regression that appears to be fixed with 4.15 (staging, at least.)