https://bugs.winehq.org/show_bug.cgi?id=49819
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|EveMon (v 4.0.18.4979): |Multiple 4.x / 5.x .NET |(with dotnet461) crashes on |apps need |add character |'httpapi.HttpSetUrlGroupPro | |perty' to support | |'HttpServerTimeoutsProperty | |' property (EveMon | |4.0.18.4979, ASP.NET Core | |apps) Keywords| |dotnet Status|UNCONFIRMED |NEW CC| |focht@gmx.net Ever confirmed|0 |1
--- Comment #6 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming, still present. Refining the summary to highlight the actual problem here. User 'guest94' in IRC #winehq encountered same problem with custom ASP.NET core app.
Backtrace from the user:
--- snip --- vtwine_1 | fail: Microsoft.AspNetCore.Server.HttpSys.HttpSysListener[18] vtwine_1 | SetUrlGroupProperty vtwine_1 | Microsoft.AspNetCore.Server.HttpSys.HttpSysException (120): Call not implemented. vtwine_1 | 00a0:err:eventlog:ReportEventW L"Category: Microsoft.AspNetCore.Server.HttpSys.HttpSysListener\r\nEventId: 18\r\n\r\nSetUrlGroupProperty\r\n\r\nException: \r\nMicrosoft.AspNetCore.Server.HttpSys.HttpSysException (120): Call not implemented.\r\n" vtwine_1 | 00a0:err:eventlog:ReportEventW L"Category: Microsoft.AspNetCore.Server.HttpSys.HttpSysListener\r\nEventId: 43\r\n\r\nStart\r\n\r\nException: \r\nMicrosoft.AspNetCore.Server.HttpSys.HttpSysException (120): Call not implemented.\r\n at Microsoft.AspNetCore.Server.HttpSys.UrlGroup.SetProperty(HTTP_SERVER_PROPERTY property"... vtwine_1 | fail: Microsoft.AspNetCore.Server.HttpSys.HttpSysListener[43] vtwine_1 | Start vtwine_1 | Microsoft.AspNetCore.Server.HttpSys.HttpSysException (120): Call not implemented. vtwine_1 | at Microsoft.AspNetCore.Server.HttpSys.UrlGroup.SetProperty(HTTP_SERVER_PROPERTY property, IntPtr info, UInt32 infosize, Boolean throwOnError) vtwine_1 | at Microsoft.AspNetCore.Server.HttpSys.TimeoutManager.SetUrlGroupTimeouts(Int32[] timeouts, UInt32 minSendBytesPerSecond) vtwine_1 | at Microsoft.AspNetCore.Server.HttpSys.HttpSysOptions.Apply(UrlGroup urlGroup, RequestQueue requestQueue) vtwine_1 | at Microsoft.AspNetCore.Server.HttpSys.HttpSysListener.Start() --- snip ---
MS .NET reference source (expanding comment #3 further):
https://referencesource.microsoft.com/#system/net/system/Net/HttpListener.cs...
--- snip --- internal void SetServerTimeout(int[] timeouts, uint minSendBytesPerSecond) { ValidateV2Property(); // CheckDispose and initilize HttpListener in the case of app.config timeouts
UnsafeNclNativeMethods.HttpApi.HTTP_TIMEOUT_LIMIT_INFO timeoutinfo = new UnsafeNclNativeMethods.HttpApi.HTTP_TIMEOUT_LIMIT_INFO();
timeoutinfo.Flags = UnsafeNclNativeMethods.HttpApi.HTTP_FLAGS.HTTP_PROPERTY_FLAG_PRESENT; timeoutinfo.DrainEntityBody =
(ushort)timeouts[(int)UnsafeNclNativeMethods.HttpApi.HTTP_TIMEOUT_TYPE.DrainEntityBody]; timeoutinfo.EntityBody =
(ushort)timeouts[(int)UnsafeNclNativeMethods.HttpApi.HTTP_TIMEOUT_TYPE.EntityBody]; timeoutinfo.RequestQueue =
(ushort)timeouts[(int)UnsafeNclNativeMethods.HttpApi.HTTP_TIMEOUT_TYPE.RequestQueue]; timeoutinfo.IdleConnection =
(ushort)timeouts[(int)UnsafeNclNativeMethods.HttpApi.HTTP_TIMEOUT_TYPE.IdleConnection]; timeoutinfo.HeaderWait =
(ushort)timeouts[(int)UnsafeNclNativeMethods.HttpApi.HTTP_TIMEOUT_TYPE.HeaderWait]; timeoutinfo.MinSendRate = minSendBytesPerSecond;
IntPtr infoptr = new IntPtr(&timeoutinfo);
SetUrlGroupProperty(
UnsafeNclNativeMethods.HttpApi.HTTP_SERVER_PROPERTY.HttpServerTimeoutsProperty, infoptr, (uint)Marshal.SizeOf(typeof(UnsafeNclNativeMethods.HttpApi.HTTP_TIMEOUT_LIMIT_INFO))); } --- snip ---
Similar with 'Microsoft.AspNetCore.Server.HttpSys.TimeoutManager.SetUrlGroupTimeouts'.
Wine source:
https://source.winehq.org/git/wine.git/blob/ad03df1222c2bb22e991641dcc0d9e4e...
--- snip --- 651 /*********************************************************************** 652 * HttpSetUrlGroupProperty (HTTPAPI.@) 653 */ 654 ULONG WINAPI HttpSetUrlGroupProperty(HTTP_URL_GROUP_ID id, HTTP_SERVER_PROPERTY property, void *value, ULONG length) 655 { 656 struct url_group *group = get_url_group(id); 657 658 TRACE("id %s, property %u, value %p, length %u.\n", 659 wine_dbgstr_longlong(id), property, value, length); 660 661 switch (property) 662 { 663 case HttpServerBindingProperty: 664 { 665 const HTTP_BINDING_INFO *info = value; 666 667 TRACE("Binding to queue %p.\n", info->RequestQueueHandle); 668 group->queue = info->RequestQueueHandle; 669 if (group->url) 670 add_url(group->queue, group->url, group->context); 671 return ERROR_SUCCESS; 672 } 673 case HttpServerLoggingProperty: 674 WARN("Ignoring logging property.\n"); 675 return ERROR_SUCCESS; 676 default: 677 FIXME("Unhandled property %u.\n", property); 678 return ERROR_CALL_NOT_IMPLEMENTED; 679 } 680 } --- snip ---
$ wine --version wine-6.11-88-gad03df1222c
Regards