Infuse process gets killed for too high IO

My Infuse client gets killed by macOS every other minute as it is exceeding write limits (if i understand the log correctly)
I am streaming a 1080p mkv file of 456mb size with a runtime of about 30 min. In which Infuse got terminated over 5 times.
I streams over SMB locally from a NAS.

Date/Time:        2024-10-29 21:46:08.528 +0100
End time:         2024-10-29 22:13:14.661 +0100
OS Version:       macOS 15.0.1 (Build 24A348)
Architecture:     x86_64h
Report Version:   53
Incident Identifier: B31E9861-F292-4A82-A3D6-3E3E6D3A9FDD

Data Source:      Microstackshots
Shared Cache:     C9DAD4AE-9265-384E-A2AA-C55A04F80BA8 slid base address 0x7ff809053000, slide 0x9053000

Command:          Infuse
Path:             /Applications/infuse.localized/infuse.app/Contents/MacOS/Infuse
Identifier:       com.firecore.infuse
Version:          8.0.2 (8.0.5003)
Team ID:          NQ2242YCB5
App Item ID:      1136220934
App External ID:  869955716
Is First Party:   No
Beta Identifier:  1B19518E-3087-5A87-A59F-30FF72C11935
Resource Coalition: 43656
Architecture:     x86_64
PID:              75631

Event:            disk writes
Action taken:     none
Writes:           2147.58 MB of file backed memory dirtied over 1626 seconds (1320.67 KB per second average), exceeding limit of 24.86 KB per second over 86400 seconds
Writes limit:     2147.48 MB
Limit duration:   86400s
Writes caused:    2147.58 MB
Writes duration:  1626s
Duration:         1626.13s
Duration Sampled: 0.36s (event starts 1625.68s before samples)
Steps:            3 (10.49 MB/step)

Hardware model:   iMac19,1
Active cpus:      6
HW page size:     4096
VM page size:     4096

OS Cryptex File Extents: 1

Heaviest stack for the target process:
  3  start_wqthread + 15 (libsystem_pthread.dylib + 7131) [0x7ff809499bdb]
  3  _pthread_wqthread + 261 (libsystem_pthread.dylib + 11326) [0x7ff80949ac3e]
  3  _dispatch_worker_thread2 + 147 (libdispatch.dylib + 78897) [0x7ff809306431]
  2  _dispatch_root_queue_drain + 872 (libdispatch.dylib + 77490) [0x7ff809305eb2]
  2  _dispatch_client_callout + 8 (libdispatch.dylib + 14306) [0x7ff8092f67e2]
  2  _dispatch_disk_perform + 483 (libdispatch.dylib + 188690) [0x7ff809321112]
  2  __write_nocancel + 10 (libsystem_kernel.dylib + 16042) [0x7ff80945feaa]


Powerstats for:   Infuse [75631] [unique pid 174693]
UUID:             8F9A4A6C-71E6-3F76-A8BE-E9D00B127CFF
Path:             /Applications/infuse.localized/infuse.app/Contents/MacOS/Infuse
Identifier:       com.firecore.infuse
Version:          8.0.2 (8.0.5003)
Team ID:          NQ2242YCB5
App Item ID:      1136220934
App External ID:  869955716
Is First Party:   No
Beta Identifier:  1B19518E-3087-5A87-A59F-30FF72C11935
Resource Coalition: 3 samples 43656
Architecture:     x86_64
Footprint:        170.93 MB -> 191.82 MB (+20.90 MB)
Start time:       2024-10-29 22:13:14.203 +0100
End time:         2024-10-29 22:13:14.567 +0100
Num samples:      3 (100%)
Num threads:      2
Primary state:    2 samples Frontmost App, Non-Suppressed, Kernel mode, Effective Thread QoS Default, Requested Thread QoS Default, Override Thread QoS Unspecified
User Activity:    0 samples Idle, 3 samples Active
Power Source:     0 samples on Battery, 3 samples on AC
  3  start_wqthread + 15 (libsystem_pthread.dylib + 7131) [0x7ff809499bdb]
    3  _pthread_wqthread + 261 (libsystem_pthread.dylib + 11326) [0x7ff80949ac3e]
      3  _dispatch_worker_thread2 + 147 (libdispatch.dylib + 78897) [0x7ff809306431]
        2  _dispatch_root_queue_drain + 872 (libdispatch.dylib + 77490) [0x7ff809305eb2]
          2  _dispatch_client_callout + 8 (libdispatch.dylib + 14306) [0x7ff8092f67e2]
            2  _dispatch_disk_perform + 483 (libdispatch.dylib + 188690) [0x7ff809321112]
              2  __write_nocancel + 10 (libsystem_kernel.dylib + 16042) [0x7ff80945feaa]
        1  _dispatch_root_queue_drain + 328 (libdispatch.dylib + 76946) [0x7ff809305c92]
          1  _dispatch_queue_override_invoke + 961 (libdispatch.dylib + 24684) [0x7ff8092f906c]
            1  _dispatch_client_callout + 8 (libdispatch.dylib + 14306) [0x7ff8092f67e2]
              1  _dispatch_disk_perform + 483 (libdispatch.dylib + 188690) [0x7ff809321112]
                1  __write_nocancel + 10 (libsystem_kernel.dylib + 16042) [0x7ff80945feaa]
                  1  <Effective Thread QoS User Initiated, Requested Thread QoS User Initiated>

  Binary Images:
           0x109d48000 -                ???  com.firecore.infuse 8.0.2 (8.0.5003) <8F9A4A6C-71E6-3F76-A8BE-E9D00B127CFF>  /Applications/infuse.localized/infuse.app/Contents/MacOS/Infuse
        0x7ff8092f3000 -     0x7ff80933aff9  libdispatch.dylib (1502.0.1)         <6C0FF4E0-6F75-36FA-B45F-0075A398132D>  /usr/lib/system/libdispatch.dylib
        0x7ff80945c000 -     0x7ff809497fff  libsystem_kernel.dylib (11215.1.12)  <10094A6C-FA57-367F-B06E-7C449EA31285>  /usr/lib/system/libsystem_kernel.dylib
        0x7ff809498000 -     0x7ff8094a3fff  libsystem_pthread.dylib (535)        <C0DB9CF9-86EC-31D4-A557-2C07945FD8F2>  /usr/lib/system/libsystem_pthread.dylib

I did some fs_usage and most of its actions look like this:

22:28:16.606241  guarded_pwrite_np F=49   B=0x4        O=0x00001204                                                                                                                                                           0.000010   Infuse.4944902
22:28:16.606251  guarded_pwrite_np F=49   B=0x4        O=0x00001208                                                                                                                                                           0.000009   Infuse.4944902
22:28:16.606269  guarded_pwrite_np F=49   B=0x1000     O=0x0000120c                                                                                                                                                           0.000018   Infuse.4944902
22:28:16.606278  guarded_pwrite_np F=49   B=0x4        O=0x0000220c                                                                                                                                                           0.000009   Infuse.4944902
22:28:16.606283  fcntl             F=8   <OFD_SETLK>                                                                                                                                                                          0.000003   Infuse.4944902
22:28:16.606284  fcntl             F=8   <OFD_SETLK>                                                                                                                                                                          0.000001   Infuse.4944902
22:28:16.606295  guarded_pwrite_np F=49   B=0x4        O=0x00002210                                                                                                                                                           0.000010   Infuse.4944902
22:28:16.606311  guarded_pwrite_np F=49   B=0x1000     O=0x00002214                                                                                                                                                           0.000017   Infuse.4944902
22:28:16.606320  guarded_pwrite_np F=49   B=0x4        O=0x00003214                                                                                                                                                           0.000009   Infuse.4944902
22:28:16.606322  pread             F=49   B=0x0        O=0x00003400                                                                                                                                                           0.000002   Infuse.4944902
22:28:16.606406    WrData[A]       D=0x088b75fb  B=0x1000   /dev/disk1s1  /Users/user/Library/Containers/com.firecore.infuse/Data/Library/Preferences/InternalPrefs/com.firecore.media.meta.db-journal                       0.000077 W Infuse.4944902
22:28:16.606499    WrData[A]       D=0x081eb831  B=0x3000   /dev/disk1s1  /Users/user/Library/Containers/com.firecore.infuse/Data/Library/Preferences/InternalPrefs/com.firecore.media.meta.db-journal                       0.000081 W Infuse.4944902
22:28:16.606539  fsync             F=49                                                                                                                                                                                       0.000216   Infuse.4944902
22:28:16.606562  guarded_open_np   F=54       (R__________X)  /Users/user/Library/Containers/com.firecore.infuse/Data/Library/Preferences/InternalPrefs                                                                      0.000021   Infuse.4944902

I did send diagnostics under “ZBFYV”

Thanks for the report.

Will take a look into this.

Are you seeing this with many files or just this one?

It looks like there may be something specific in this file causing an issue. If possible, would you be able to upload the file you are playing when this issue occurs so we can review it here?

A workaround for now to avoid disk caching in Infuse would be to changing the ‘Streaming Cache’ option found in Infuse > Settings > Playback to ‘Memory Only’.