Often times when I start my client side blazor app the browser console throws Failed to start platform. Reason: [object ProgressEvent] and the app never loads. Just stays on the splash screen.
I wish I could confidently reproduce this but it just happens sometimes, and a few browser refreshes makes it work again.

Using FireFox 69.0b3
.NET Core SDK (reflecting any global.json):
Version: 3.0.100-preview6-012264
Commit: be3f0c1a03
Runtime Environment:
OS Name: Windows
OS Version: 10.0.18362
OS Platform: Windows
RID: win10-x64
Base Path: C:\Program Filesdotnet\sdk\3.0.100-preview6-012264\
Host (useful for support):
Version: 3.0.0-preview6-27804-01
Commit: fdf81c6faf
.NET Core SDKs installed:
2.1.700 [C:\Program Filesdotnet\sdk]
2.1.800-preview-009696 [C:\Program Filesdotnet\sdk]
3.0.100-preview6-012264 [C:\Program Filesdotnet\sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.All 2.1.11 [C:\Program Filesdotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.11 [C:\Program Filesdotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.0.0-preview6.19307.2 [C:\Program Filesdotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.1.11 [C:\Program Filesdotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 3.0.0-preview6-27804-01 [C:\Program Filesdotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 3.0.0-preview6-27804-01 [C:\Program Filesdotnet\shared\Microsoft.WindowsDesktop.App]
Thanks for contacting us, @GerritBergen.
It would help, if you could provide some more details and/or logs, if you have any.
Also, do you see any failed requests in the Network tab?
Running in Edge Dev gives a bit more info. Most of the dll files are returning 304.
As of this run, Mono.WebAssembly.Interop.Dll & Microsoft.AspNetCore.Components.Browser.Dll shows (cancelled) in the status column. But that's just the weird thing, this changes with each refresh. Sometimes they all come in. Other times more/different ones show cancelled.

I'm sure I've got something setup wrong somewhere. I forgot to mention in the original post that I am running using Kestral if that helps.
EDIT: I've rerun using IIS (no kestral) and it still happens
Probably useless information because it's minified JS, but this is where the error occurs in blazor.webassembly.js:

@SteveSandersonMS do you have any recommendations regarding this?
It definitely appears to be a problem with serving files to the browser, not a problem with any code running inside the browser. This is separate from Blazor I'm afraid.
You'll need to figure out why your server is unable to send static files to your browser.
Do you have any suggestions as to what could cause that?
It could be that your web server is faulty or misconfigured in some way, your browser is faulty or misconfigured in some way, or that some other thing such as anti malware software is interfering. I鈥檓 afraid that鈥檚 all I can suggest.
A bunch of debugging later, I found this error in my server console right when the browser fails.
Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.Http2Connection ErrorException: HTTP/2 connection error (PROTOCOL_ERROR): Pseudo-header field found in request headers after regular header fields.
Not really sure what's going on, but disabling Http2 made the issue go away for me.
Not ideal, but I think I'll stick with that for now.
Thanks for your help
@anurse FYI
Oof, that is a weird one. @GerritBergen would you be up for doing a little additional diagnostics here to see if we can track down the server issue? I'm glad disabling HTTP/2 worked for you but would like to figure out if we can track down the original issue.
Since you're using the Edge Dev version (I presume you mean the Chromium-based version?), there is a way to export raw networking data from that. These instructions would also work in Google Chrome (replace edge:// with chrome://)
edge://net-export.Then attach the file by renaming it to end .txt and dragging-and-dropping it on to the GitHub comment box (don't paste the file as it will be very large!).
If you have concerns about sharing this publicly, feel free to email it to me at [my github username]@microsoft.com.
I'm going to re-open and move to area-servers to investigate there.
@anurse Sure! I need a couple days as I'm swamped right now. I'll update this thread when I send the email :)
@anurse Email has been sent.
@GerritBergen thanks for the email! I think I've been able to identify that this is a known HTTP/2 protocol corruption issue that we introduced in 3.0 and _should_ have resolved in preview 7. If you'd like to verify that, you can check out our CI nightly builds from https://github.com/dotnet/core-sdk#installers-and-binaries (The "master" column is currently versioned preview 8 but the "release/3.0.1xx" column should have our "candidate" preview 7 release) or you can wait for the official preview 7 release.
If you are still seeing this after preview 7, please let us know in a new issue!
@anurse I seem to have hit the same (or a similar issue), see #12190. My issue does not appear to be fixed in preview 7. I tried the nightly docker image and I still receive the same exception.
@GerritBergen I'm going to close this now as I think we've got your scenario covered.
@coryflucas We'll cover your issue in the linked thread. It looks like your proxy (envoy) is corrupting the frames.
@anurse I've just updated to Preview 7 and unfortunately the issue is still here, although the error in the console is different. Once again keeping HTTP 2 disabled solves the problem for me, so no hurry.


info: Microsoft.AspNetCore.Server.Kestrel[31]
Connection id "0HLOK69K7TU57": HPACK decoding error while decoding headers for stream ID 157.
Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.HPack.HPackDecodingException: Index 86 is outside the bounds of the header field table.
---> System.IndexOutOfRangeException: Index was outside the bounds of the array.
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.HPack.DynamicTable.get_Item(Int32 index)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.HPack.HPackDecoder.GetHeader(Int32 index)
--- End of inner exception stack trace ---
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.HPack.HPackDecoder.GetHeader(Int32 index)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.HPack.HPackDecoder.OnIndexedHeaderField(Int32 index, IHttpHeadersHandler handler)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.HPack.HPackDecoder.OnByte(Byte b, IHttpHeadersHandler handler)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.HPack.HPackDecoder.Decode(ReadOnlySequence1& data, Boolean endHeaders, IHttpHeadersHandler handler) at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.Http2Connection.DecodeHeadersAsync(Boolean endHeaders, ReadOnlySequence1& payload)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.Http2Connection.ProcessHeadersFrameAsyncTContext
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.Http2Connection.ProcessRequestsAsyncTContext
New dotnet info:
.NET Core SDK (reflecting any global.json):
Version: 3.0.100-preview7-012821
Commit: 6348f1068a
Runtime Environment:
OS Name: Windows
OS Version: 10.0.18362
OS Platform: Windows
RID: win10-x64
Base Path: C:\Program Filesdotnet\sdk\3.0.100-preview7-012821\
Host (useful for support):
Version: 3.0.0-preview7-27912-14
Commit: 4da6ee6450
.NET Core SDKs installed:
2.1.700 [C:\Program Filesdotnet\sdk]
2.1.701 [C:\Program Filesdotnet\sdk]
2.1.800-preview-009696 [C:\Program Filesdotnet\sdk]
2.1.800 [C:\Program Filesdotnet\sdk]
3.0.100-preview7-012821 [C:\Program Filesdotnet\sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.All 2.1.11 [C:\Program Filesdotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.12 [C:\Program Filesdotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.11 [C:\Program Filesdotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.12 [C:\Program Filesdotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.0.0-preview7.19365.7 [C:\Program Filesdotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.1.11 [C:\Program Filesdotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.12 [C:\Program Filesdotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 3.0.0-preview7-27912-14 [C:\Program Filesdotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 3.0.0-preview7-27912-14 [C:\Program Filesdotnet\shared\Microsoft.WindowsDesktop.App]
HPackDecodingException: Index 86 is outside the bounds of the header field table.
That's a new exception. It may still be related to the prior one that we're tracking in #12190, but I'm going to re-open this to ensure we track both.
Yep, sounds different. We're continuing HTTP/2 hardening through the final previews and GA so we'll keep investigating.
@GerritBergen can you capture a network trace of some kind? Wireshark would be nice (but you'll need to use unencrypted HTTP/2, and I'm not sure you can do that with Chrome), or you could use the 'net-export' stuff I referenced above
After investigating https://github.com/aspnet/AspNetCore/issues/12190#issuecomment-517029076 I've found that it could also lead to this IndexOutOfRangeException depending on how many times DynamicTable.Insert is called.
Closing as a duplicate.
Most helpful comment
That's a new exception. It may still be related to the prior one that we're tracking in #12190, but I'm going to re-open this to ensure we track both.