I was having this problem. Solved by properly setting up the private file system in settings.php with
$settings['file_private_path'] = '../someplace';
Details that may be related: I was moving a site and setting up s3fs at the same time. I had moved all the private:// stuff to S3. As with grzegorz the $uri causing the exception was private://bla_bla_bla. Once I made a private_files directory and pointed to it in settings.php, and cleared the caches, I got these messages:
* Warning: file_exists(): Unable to find the wrapper "private" - did you forget to enable it when you configured PHP? in Drupal\Component\FileSecurity\FileSecurity::writeFile() (line 155 of core/lib/Drupal/Component/FileSecurity/FileSecurity.php).
* Warning: file_exists(): Unable to find the wrapper "private" - did you forget to enable it when you configured PHP? in system_requirements() (line 714 of core/modules/system/system.install).
They appeared once. When I went to /admin/config/media/file-system I saw the 'Private file system path' I had set up, and these exceptions had cleared, and the S3 private files were working.