[Bug 49819] Multiple 4.x / 5.x .NET apps need 'httpapi.HttpSetUrlGroupProperty' to support 'HttpServerTimeoutsProperty' property (EveMon 4.0.18.4979, ASP.NET Core apps)
WineHQ Bugzilla
wine-bugs at winehq.org
Thu Jun 24 11:06:00 CDT 2021
https://bugs.winehq.org/show_bug.cgi?id=49819
Anastasius Focht <focht at 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 at gmx.net
Ever confirmed|0 |1
--- Comment #6 from Anastasius Focht <focht at 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,521
--- 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/ad03df1222c2bb22e991641dcc0d9e4ed684158b:/dlls/httpapi/httpapi_main.c#l651
--- 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
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
More information about the wine-bugs
mailing list