You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've discovered that the temporary user data directory can sometimes be recreated after being deleted after the process is shut down cleanly. It's not consistent--sometimes it happens, sometimes it doesn't. I believe it's a timing issue. I believe what's happening is that after the main process is stopped and the directory is deleted, a child process (Chrome seems to spawn a lot!) will attempt to write something to the directory and thereby recreate it.
This seems to be confirmed by adding a "sleep" statement after stopping the process and before deleting the temporary user data dir. If we wait a few seconds before deleting the directory, it doesn't come back.
I'm happy to submit a pull request if desired, but it seems to be a pretty ugly fix--I just don't know a better way to wait until all the spawned child processes fully shut down.
ProcessInstance.php:
public function close(): void
{
$this->process->stop();
$this->process = null;
sleep(5); // Adding this prevents temporaryUserDataDir from returning after it's removed
if ($this->temporaryUserDataDir !== null) {
(new Filesystem())->remove($this->temporaryUserDataDir);
}
}
The text was updated successfully, but these errors were encountered:
I've discovered that the temporary user data directory can sometimes be recreated after being deleted after the process is shut down cleanly. It's not consistent--sometimes it happens, sometimes it doesn't. I believe it's a timing issue. I believe what's happening is that after the main process is stopped and the directory is deleted, a child process (Chrome seems to spawn a lot!) will attempt to write something to the directory and thereby recreate it.
This seems to be confirmed by adding a "sleep" statement after stopping the process and before deleting the temporary user data dir. If we wait a few seconds before deleting the directory, it doesn't come back.
I'm happy to submit a pull request if desired, but it seems to be a pretty ugly fix--I just don't know a better way to wait until all the spawned child processes fully shut down.
ProcessInstance.php:
The text was updated successfully, but these errors were encountered: