Hello,
I added this "question" just in case someone got this issue in the future... I already found found a work around...
But, maybe ABP Team can also do something to prevent this... ?
We have a non-tiered blazor server solution deployed in Azure, using version ABP 5.2.2. Everything is working well since months...
Nothing has changed recently (no new deployment) or any parameter changes on Azure.... (Well, something has changed... not in Azure...keep reading !)
But, we recently started to have a problem. We were not able anymore to access the /identity/users page anymore (where you can manage users). And other pages were all still working correctly...
This error was being logged in the default log file, but without any more details (before or after).
Unhandled exception rendering component: '0x1F' is an invalid start of a value. LineNumber: 0 | BytePositionInLine: 0.
System.Text.Json.JsonReaderException: '0x1F' is an invalid start of a value. LineNumber: 0 | BytePositionInLine: 0.
at System.Text.Json.ThrowHelper.ThrowJsonReaderException(Utf8JsonReader& json, ExceptionResource resource, Byte nextByte, ReadOnlySpan`1 bytes)
at System.Text.Json.Utf8JsonReader.ConsumeValue(Byte marker)
at System.Text.Json.Utf8JsonReader.ReadFirstToken(Byte first)
at System.Text.Json.Utf8JsonReader.ReadSingleSegment()
at System.Text.Json.Utf8JsonReader.Read()
at System.Text.Json.JsonDocument.Parse(ReadOnlySpan`1 utf8JsonSpan, JsonReaderOptions readerOptions, MetadataDb& database, StackRowStack& stack)
at System.Text.Json.JsonDocument.Parse(ReadOnlyMemory`1 utf8Json, JsonReaderOptions readerOptions, Byte[] extraRentedArrayPoolBytes, PooledByteBufferWriter extraPooledByteBufferWriter)
at System.Text.Json.JsonDocument.Parse(ReadOnlyMemory`1 json, JsonDocumentOptions options)
at System.Text.Json.JsonDocument.Parse(String json, JsonDocumentOptions options)
at Volo.Abp.BlazoriseUI.Components.ObjectExtending.LookupExtensionProperty`2.GetLookupItemsAsync(String filter)
at Volo.Abp.BlazoriseUI.Components.ObjectExtending.LookupExtensionProperty`2.SearchFilterChangedAsync(String filter)
at Volo.Abp.BlazoriseUI.Components.ObjectExtending.LookupExtensionProperty`2.OnInitializedAsync()
at Microsoft.AspNetCore.Components.ComponentBase.RunInitAndSetParametersAsync()
at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle, ComponentState owningComponentState)
After reading this post...
https://www.byteblocks.com/Post/0x1F-is-an-invalid-start-of-a-value (as of today, their TLS certificate is expired, continue on this site only if you want... I'm not telling you to do it).
... that is basically explaining that the issue might be related to compression / "gzip"... And, the post also mentioned that the person is using Cloudfare and that Coudfare might do compression while proxying the data in transit.
Bingo ! Lucky that I'm aware of this, but we recently moved some DNS management to Cloudfare... and all our DNS entries were set to their default mode "Proxied", meaning that the user does not directly hit Microsoft Azure server but reach Cloudfare server instead... Cloudfare doing the proxying.
Then. turning off the "proxied mode" to "DNS Only" fixed the issue instantly... The /identity/users pages restarted to work.
ABP Team, you appear to also use Cloudfare... so you could maybe try to reproduce this issue... or have already experienced it ?
Maybe you are already aware of this potential issue and maybe have already fixed it ?
By the way, we also have tiered solutions (api, ids, blazor server) deployed on Azure (but using 5.3.5) that were also "proxied" by Cloudfare and we did not had this issue... We did not took any chances and we turned off the proxy feature for now... but if ABP can confirm something about it, we might want to turn it back on in the future.
Regards