Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Bug Excessively long shutdown times after performing Android APK/AAB Builds

Discussion in 'Editor & General Support' started by notunusual, Sep 17, 2021.

  1. notunusual

    notunusual

    Joined:
    Jun 13, 2016
    Posts:
    12
    Running on 2020.3.17F1 on Windows 10.

    I've noticed the following behavior, after performing a packaged android build (APK or AAB doesn't seem to come into play), when shutting down the Editor I get the

    "Hold on (busy for xxx)..."
    Application.Quit.

    Dialog. This persists for a significant amount of time (from 5-10 minutes).

    I've used Process Monitor to look and see what I/O the unity process was performing, and it appears to be deleting/cleaning up temporary files.

    .\Temp\gradleOut\unityLibrary\build\intermediates\library_assets\release\out\data\...


    It seems to perform the following actions for each file

    12:29:37.9876475 PM Unity.exe 6148 CreateFile \Temp\gradleOut\unityLibrary\build\intermediates\library_assets\release\out\data\file.xxx SUCCESS Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened
    12:29:37.9876979 PM Unity.exe 6148 QueryNetworkOpenInformationFile \Temp\gradleOut\unityLibrary\build\intermediates\library_assets\release\out\data\file.xxx SUCCESS CreationTime: 9/17/2021 11:29:52 AM, LastAccessTime: 9/17/2021 11:30:06 AM, LastWriteTime: 8/30/2021 7:55:52 AM, ChangeTime: 8/30/2021 7:55:52 AM, AllocationSize: 40960, EndOfFile: 40782, FileAttributes: RANCI
    12:29:37.9877120 PM Unity.exe 6148 CloseFile \Temp\gradleOut\unityLibrary\build\intermediates\library_assets\release\out\data\file.xxx SUCCESS
    12:29:37.9878074 PM Unity.exe 6148 CreateFile \Temp\gradleOut\unityLibrary\build\intermediates\library_assets\release\out\data\file.xxx SUCCESS Desired Access: Read Attributes, Delete, Disposition: Open, Options: Non-Directory File, Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened
    12:29:37.9879074 PM Unity.exe 6148 QueryAttributeTagFile \Temp\gradleOut\unityLibrary\build\intermediates\library_assets\release\out\data\file.xxx SUCCESS Attributes: RANCI, ReparseTag: 0x0
    12:29:37.9879326 PM Unity.exe 6148 SetDispositionInformationEx \Temp\gradleOut\unityLibrary\build\intermediates\library_assets\release\out\data\file.xxx CANNOT DELETE Flags: FILE_DISPOSITION_DELETE, FILE_DISPOSITION_POSIX_SEMANTICS, FILE_DISPOSITION_FORCE_IMAGE_SECTION_CHECK
    12:29:37.9879689 PM Unity.exe 6148 CloseFile \Temp\gradleOut\unityLibrary\build\intermediates\library_assets\release\out\data\file.xxx SUCCESS
    12:29:37.9881106 PM Unity.exe 6148 CreateFile \Temp\gradleOut\unityLibrary\build\intermediates\library_assets\release\out\data\file.xxx SUCCESS Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened
    12:29:37.9881330 PM Unity.exe 6148 QueryBasicInformationFile \Temp\gradleOut\unityLibrary\build\intermediates\library_assets\release\out\data\file.xxx SUCCESS CreationTime: 9/17/2021 11:29:52 AM, LastAccessTime: 9/17/2021 11:30:06 AM, LastWriteTime: 8/30/2021 7:55:52 AM, ChangeTime: 8/30/2021 7:55:52 AM, FileAttributes: RANCI
    12:29:37.9881468 PM Unity.exe 6148 CloseFile \Temp\gradleOut\unityLibrary\build\intermediates\library_assets\release\out\data\file.xxx SUCCESS
    12:29:37.9882343 PM Unity.exe 6148 CreateFile \Temp\gradleOut\unityLibrary\build\intermediates\library_assets\release\out\data\file.xxx SUCCESS Desired Access: Write Attributes, Synchronize, Disposition: Open, Options: Synchronous IO Non-Alert, Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened
    12:29:37.9883003 PM Unity.exe 6148 SetBasicInformationFile \Temp\gradleOut\unityLibrary\build\intermediates\library_assets\release\out\data\file.xxx SUCCESS CreationTime: 0, LastAccessTime: 0, LastWriteTime: 0, ChangeTime: 0, FileAttributes: ANNCI
    12:29:37.9883680 PM Unity.exe 6148 CloseFile \Temp\gradleOut\unityLibrary\build\intermediates\library_assets\release\out\data\file.xxx SUCCESS
    12:29:38.0029011 PM Unity.exe 6148 CreateFile \Temp\gradleOut\unityLibrary\build\intermediates\library_assets\release\out\data\file.xxx SUCCESS Desired Access: Read Attributes, Delete, Disposition: Open, Options: Non-Directory File, Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened
    12:29:38.0030222 PM Unity.exe 6148 QueryAttributeTagFile \Temp\gradleOut\unityLibrary\build\intermediates\library_assets\release\out\data\file.xxx SUCCESS Attributes: ANCI, ReparseTag: 0x0
    12:29:38.0030497 PM Unity.exe 6148 SetDispositionInformationEx \Temp\gradleOut\unityLibrary\build\intermediates\library_assets\release\out\data\file.xxx SUCCESS Flags: FILE_DISPOSITION_DELETE, FILE_DISPOSITION_POSIX_SEMANTICS, FILE_DISPOSITION_FORCE_IMAGE_SECTION_CHECK
    12:29:38.0031858 PM Unity.exe 6148 CloseFile \Temp\gradleOut\unityLibrary\build\intermediates\library_assets\release\out\data\file.xxx SUCCESS

    So that series of actions is performed for each file (we're talking 20,000+ files, which is a separate issue that i'm dealing with separately).

    We are using perforce for our version control, and I wondered if perhaps it's doing something with version control for each file, but have no way of detecting that.

    I'd be happy to perform more logging or look for some way to determine what is going wrong, but I'm not sure what the next step should be.