Strange FileLoadExceptions

Gavin Williams 761 Reputation points
2020-03-16T05:25:41.62+00:00

I have a small program that was working, I was generating assets in the manifest. Then I renamed the project, it also uses another library project of mine. Now it's not working, and I'm getting a lot of FileLoadExceptions as follows:

T: 3 | Graphics.Ctor T: 3 | Dx11.CreateDeviceResources T: 3 | RenderSurface.Ctor T: 3 | RenderSurface.BuildAsync T: 3 | MaterialTexture.BuildDefaultResourcesAsync Exception thrown: 'System.IO.FileLoadException' in System.Private.CoreLib.dll Exception thrown: 'System.IO.FileLoadException' in System.Private.CoreLib.dll Exception thrown: 'System.IO.FileLoadException' in System.Private.CoreLib.dll Exception thrown: 'System.IO.FileLoadException' in System.Private.CoreLib.dll Exception thrown: 'System.IO.FileLoadException' in System.Private.CoreLib.dll T: 3 | RasterizerStatePrefabs.BuildSolid T: 3 | RasterizerStatePrefabs.BuildWireframe Exception thrown: 'System.IO.FileLoadException' in System.Private.CoreLib.dll Exception thrown: 'System.IO.FileLoadException' in System.Private.CoreLib.dll Exception thrown: 'System.IO.FileLoadException' in System.Private.CoreLib.dll The program '[17656] UWPCameraPan.exe' has exited with code 1 (0x1).

I've seen many exceptions generated for each file exception, so there may be just 1 file issue and then all these errors being spat out. The Xaml runs but my code is crashing out. How can i debug this?

Universal Windows Platform (UWP)
{count} votes

3 answers

Sort by: Most helpful
  1. Gavin Williams 761 Reputation points
    2020-03-25T02:51:01.92+00:00

    This started happening a week or so ago. I thought I'd stuffed something up, so I rebuilt a small project with just this one call to load a texture, and it's still happening. I'm starting to think this isn't my code and something in Visual Studio has broken. When i try to step into a function that is throwing the exception, the exception is thrown before any user code is executed in the function. I've put a break point on the first line in that fn and it's never reached.

    public static async Task<Texture> LoadTextureAsync(string debugName, Folders folder, string filePath)
    {
    BitmapSource bitmapSource = await LoadBitmapSourceAsync(folder, filePath);
    

    When i try to step into the LoadBitmapSourceAsync method, having put a breakpoint inside that method on the first line of code I get the following output ..

    Step into: Stepping over non-user code 'Engine.Core.FileIo.LoadBitmapSourceAsync'

    Step into: Stepping over non-user code 'Engine.Core.FileIo.<LoadBitmapSourceAsync>d__5..ctor'

    Exception thrown: 'System.IO.FileLoadException' in System.Private.CoreLib.dll

    And execution has returned out to

    Texture texture = await FileIo.LoadTextureAsync(&#34;DebugTexture&#34;, Folders.Installation, &#34;Assets\\DwarfPortrait.png&#34;);
    

  2. Gavin Williams 761 Reputation points
    2020-03-25T04:12:14.277+00:00

    This is in debug mode. Changed to mixed mode debugging. This app does potentially call SharpDX. Although no SharpDX code get's a chance to run in this case. When i turned on mixed mode debugging, I get some extra output .. (note: I changed namespace here from core to serialization, it's not relevant, it was just a tidy up as i was looking through it)

    Step into: Stepping over non-user code 'Engine.Serialization.FileIo.LoadBitmapSourceAsync'
    Step into: Stepping over non-user code 'Engine.Serialization.FileIo.<LoadBitmapSourceAsync>d__5..ctor'
    Exception thrown at 0x76BF4192 in DemoLoadingData.exe: Microsoft C++ exception: EEFileLoadException at memory location 0x0993B93C.
    Exception thrown at 0x76BF4192 in DemoLoadingData.exe: Microsoft C++ exception: [rethrow] at memory location 0x00000000.
    Exception thrown at 0x76BF4192 in DemoLoadingData.exe: Microsoft C++ exception: [rethrow] at memory location 0x00000000.
    Exception thrown at 0x76BF4192 in DemoLoadingData.exe: Microsoft C++ exception: [rethrow] at memory location 0x00000000.
    Exception thrown: 'System.IO.FileLoadException' in System.Private.CoreLib.dll

    Further, this started happening across projects after I tried to prepare a small app for submission to the store. So I may have run some package generation tools in Visual Studio.

    I don't get any Exception popups, i guess the exception is not being caught, and execution is falling out to the first calling function.

    So when I run it in release, my breakpoint inside the LoadBitmapSourceAsync method is hit and i can step through the code without those exception. It seems to run normally until it reaches, in this case, an expected NullReferenceException, because I haven't setup WIC Factory.

    I didn't even know breakpoints would work in release mode.

    It only happens in Debug. I checked my other project and it's the same, it's working in release.


  3. Gavin Williams 761 Reputation points
    2020-03-26T11:39:33.357+00:00

    Alright, after a little detour thinking I'd uncovered a related issue, and having it pointed out that I was doing something wrong, I've realized that this is complicated and there's a lot of my own convoluted code in between what's happening and a fix. So I'm working on isolating the problem and double checking my code here and there. This rings of an issue with async code where things can look good for a long time and suddenly stop working. I also got this error tonight ..

    WinRT originate error - 0x80131040 : 'System.IO.FileLoadException: Could not load file or assembly 'System.Runtime.WindowsRuntime, Version=4.0.15.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. The located assembly's manifest definition does not match the assembly reference.

    So I'll post again after I've worked through a couple of things and when I can perhaps present a much clearer and minimal picture of the issue.


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.