Deadlock when using TNetSuperHttpClient

Hello,

We have switched to the new TNetSuperHttpClient component. This causes our application to freeze when a connection is set to active and at the same time another thread is using the connection. I think the following stack trace should enable you to identify the root cause:

Blockquote
exception message : The application seems to be frozen.

main thread ($342c8):
7ffba420 +097 user32.dll MsgWaitForMultipleObjectsEx
0058bc10 +090 lynx.exe System.Classes TThread.WaitFor
0058aaf0 +050 lynx.exe System.Classes TThread.ShutdownThread
0058a9b2 +022 lynx.exe System.Classes TThread.Destroy
003805a5 +015 lynx.exe System TObject.Free
029a4ef8 +068 lynx.exe uROBaseSuperChannel 1247 +11 TROBaseSuperChannel.SetInactive
029aa10b +00b lynx.exe uROBaseSuperHttpChannel 685 +1 TROBaseSuperHTTPChannel.SetInactive
029a4d4c +05c lynx.exe uROBaseSuperChannel 1187 +6 TROBaseSuperChannel.SetActive
029a34cc +0ac lynx.exe uROBaseSuperChannel 619 +4 TROBaseSuperChannel.BeforeDispatch
00edf417 +047 lynx.exe uROAsync 395 +1 TROAsyncProxy.__DispatchAsyncRequest
01a6a63d +1ed lynx.exe ADatoServiceLibrary_Intf 67964 +13 TLoginService_AsyncProxy.Invoke_LoginBCrypt
02a877ca +16a lynx.exe Remote_DataModule 1875 +14 CallService
02a87a4f +09f lynx.exe Remote_DataModule 1920 +14 TRemoteData.Login
024fe440 +0e0 lynx.exe Login 386 +10 TryLogin
024fe9ae +34e lynx.exe Login 522 +107 TLogin.Login
034113cf +f3f lynx.exe LoginDialog.VCL 545 +209 TLoginDialogVCL.Login
0383f2a8 +918 lynx.exe Lynx 462 +183 initialization
7ffba493 +00e KERNEL32.DLL BaseThreadInitThunk
7ffba4a8 +01b ntdll.dll RtlUserThreadStart

thread $5c18:
7ffba420 +97 user32.dll MsgWaitForMultipleObjectsEx
7ffba493 +0e KERNEL32.DLL BaseThreadInitThunk
7ffba4a8 +1b ntdll.dll RtlUserThreadStart

thread $2b100:
7ffba493 +0e KERNEL32.DLL BaseThreadInitThunk
7ffba4a8 +1b ntdll.dll RtlUserThreadStart

thread $5c10:
7ffba493 +0e KERNEL32.DLL BaseThreadInitThunk
7ffba4a8 +1b ntdll.dll RtlUserThreadStart

thread $35e0c:
7ffba4a5 +3d ntdll.dll RtlEnterCriticalSection
004bca64 +14 lynx.exe System.SyncObjs TCriticalSection.Acquire
029a9cf6 +66 lynx.exe uROBaseSuperHttpChannel 629 +3 TROBaseSuperHTTPChannel.SendWelcome
029a93e4 +04 lynx.exe uROBaseSuperHttpChannel 449 +1 TROBaseSuperHTTPChannel.DoInitialConnect
029a4605 +85 lynx.exe uROBaseSuperChannel 1049 +21 TROBaseSuperChannel.InitialConnect
029a8979 +19 lynx.exe uROBaseSuperHttpChannel 223 +2 TROSuperHTTPThread.IntExecute
00dff58e +2e lynx.exe uROInitializedThread 53 +5 TROInitializedThread.Execute
00497694 +24 lynx.exe madExcept 17804 +3 HookedTThreadExecute
0058a490 +40 lynx.exe System.Classes ThreadProc
003835da +3a lynx.exe System ThreadWrapper
00497569 +49 lynx.exe madExcept 17785 +7 ThreadExceptFrame
7ffba493 +0e KERNEL32.DLL BaseThreadInitThunk
7ffba4a8 +1b ntdll.dll RtlUserThreadStart

thread $36974:
7ffba26d +e9 KERNELBASE.dll WaitForMultipleObjectsEx
00497569 +49 lynx.exe madExcept 17785 +7 ThreadExceptFrame
7ffba493 +0e KERNEL32.DLL BaseThreadInitThunk
7ffba4a8 +1b ntdll.dll RtlUserThreadStart

thread $35a0c:
7ffba493 +0e KERNEL32.DLL BaseThreadInitThunk
7ffba4a8 +1b ntdll.dll RtlUserThreadStart

thread $33b84:
7ffba493 +0e KERNEL32.DLL BaseThreadInitThunk
7ffba4a8 +1b ntdll.dll RtlUserThreadStart

Hi,

What Delphi version are you using?

can you create a simple testcase that reproduces this issue, pls?