http://bugs.winehq.org/show_bug.cgi?id=32328
Bug #: 32328 Summary: Many Silverlight websites loop forever querying the interface list Product: Wine Version: 1.5.18 Platform: x86 OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: winsock AssignedTo: wine-bugs@winehq.org ReportedBy: ehoover@mines.edu Classification: Unclassified
A lot of Silverlight websites set up a thread that queries the socket option SIO_ADDRESS_LIST_CHANGE to be informed about changes to the interface list. Currently these applications loop forever querying SIO_ADDRESS_LIST_CHANGE, since the overlapped handle gets triggered automatically. At the very least this routine should not trigger the overlapped handle, but it would be better to implement this functionality by passing the overlapped handle to one if the IP helper routines like NotifyAddrChange.
http://bugs.winehq.org/show_bug.cgi?id=32328
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch CC| |00cpxxx@gmail.com
--- Comment #1 from Bruno Jesus 00cpxxx@gmail.com 2012-11-29 18:35:02 CST --- Patch sent: http://source.winehq.org/patches/data/92327
http://bugs.winehq.org/show_bug.cgi?id=32328
Konstantin Svist fry.kun@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fry.kun@gmail.com
--- Comment #2 from Konstantin Svist fry.kun@gmail.com 2013-02-01 16:13:22 CST --- Wine maintainers: please merge this patch into trunk ASAP. It's a prerequisite for running Netflix under Wine.
http://bugs.winehq.org/show_bug.cgi?id=32328
--- Comment #3 from Erich Hoover ehoover@mines.edu 2013-02-04 07:02:20 CST --- (In reply to comment #2)
Wine maintainers: please merge this patch into trunk ASAP. It's a prerequisite for running Netflix under Wine.
As with the other bug (Bug #32489), it is necessary for me to finish fixing some regressions caused by the first Netflix patches before I can submit the rest of the patches. As soon as that is completed then I'll submit the remainder of the patches.
http://bugs.winehq.org/show_bug.cgi?id=32328
Claudio F Filho filhocf@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |filhocf@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=32328
Daniel Jelinski djelinski1@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |djelinski1@gmail.com
--- Comment #4 from Daniel Jelinski djelinski1@gmail.com 2013-04-24 14:43:36 CDT --- Bug still present, prevents movie playback on vod.pl. Patch no longer applies.
http://bugs.winehq.org/show_bug.cgi?id=32328
--- Comment #5 from Erich Hoover ehoover@mines.edu 2013-04-24 15:08:49 CDT --- (In reply to comment #4)
Bug still present, prevents movie playback on vod.pl. Patch no longer applies.
The patch is next in my queue to send in (after SetTimer fixes), but until then you can get the updated patch from my website: http://www.compholio.com/wine-compholio/download.php?file=0001-user32-SetTim...
http://bugs.winehq.org/show_bug.cgi?id=32328
--- Comment #6 from Erich Hoover ehoover@mines.edu 2013-04-24 15:09:27 CDT --- (In reply to comment #5)
... The patch is next in my queue to send in (after SetTimer fixes), but until then you can get the updated patch from my website: http://www.compholio.com/wine-compholio/download.php?file=0001-user32-SetTim...
Whoops! Wrong link :/ Use this one: http://www.compholio.com/wine-compholio/download.php?file=0002-ws2_32-Implem...
http://bugs.winehq.org/show_bug.cgi?id=32328
--- Comment #7 from Erich Hoover ehoover@mines.edu 2013-05-06 20:25:42 CDT --- Now that the SetTimer patch is in I've submitted the updated fix for this problem: http://source.winehq.org/patches/data/96076
http://bugs.winehq.org/show_bug.cgi?id=32328
--- Comment #8 from Saulius K. saulius2@gmail.com 2013-07-12 17:22:13 CDT --- Eric,
(In reply to comment #42 of bug 12401 )
(In reply to comment #41)
... You could use the time to add tests :)
I have (that and getting going with my new job), but unfortunately the tests I want to do at the moment require two network cards and therefore don't do anything on the TestBot :/
what's your opinion about using virtual NIC a-ka TUN/TAP driver on virtual machine or inside a guest OS? Will it do?
http://bugs.winehq.org/show_bug.cgi?id=32328
--- Comment #9 from Erich Hoover erich.e.hoover@gmail.com 2013-07-12 17:26:36 CDT --- (In reply to comment #8)
... what's your opinion about using virtual NIC a-ka TUN/TAP driver on virtual machine or inside a guest OS? Will it do?
The TestBot has a single virtual NIC, so for most purposes that works fine. Unfortunately, to address Alexandre's comment on the patch for this I need a machine with two NICs and the TestBot only has one (and the old Windows PC I have access to only has one because the other is broken). So, I can write a test for what he wants - I just can't actually test it :)
http://bugs.winehq.org/show_bug.cgi?id=32328
Ken Sharp kennybobs@o2.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |33862
http://bugs.winehq.org/show_bug.cgi?id=32328
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net
--- Comment #10 from Anastasius Focht focht@gmx.net 2013-11-10 11:20:45 CST --- Hello folks,
unfortunately still present as of Wine 1.7.6
Yahoo Messenger 11.5 also suffers from this. One of the threads constantly spams the terminal and eats CPU:
--- snip --- ... fixme:winsock:WSAIoctl -> SIO_ADDRESS_LIST_CHANGE request: stub fixme:winsock:WSAIoctl -> SIO_ADDRESS_LIST_CHANGE request: stub <repeat forever> --- snip ---
Download: http://rd.software.yahoo.com/msgr/11/msgr11us.exe
Trace log:
--- snip --- 0042:Call ws2_32.WSACreateEvent() ret=60a377be 0042:Call KERNEL32.CreateEventW(00000000,00000001,00000000,00000000) ret=7ec6f826 0042:Ret KERNEL32.CreateEventW() retval=0000023c ret=7ec6f826 0042:Ret ws2_32.WSACreateEvent() retval=0000023c ret=60a377be 0042:Call ws2_32.WSAIoctl(00000238,28000017,00000000,00000000,00000000,00000000,0238e6b0,0238e6b4,00000000) ret=60a377de 0042:fixme:winsock:WSAIoctl -> SIO_ADDRESS_LIST_CHANGE request: stub 0042:Call ntdll.NtSetEvent(0000023c,00000000) ret=7ec6a1d9 0042:Ret ntdll.NtSetEvent() retval=00000000 ret=7ec6a1d9 0042:Ret ws2_32.WSAIoctl() retval=00000000 ret=60a377de 0042:Call KERNEL32.WaitForMultipleObjects(00000002,0238e6a8,00000000,ffffffff) ret=60a37817 0042:Ret KERNEL32.WaitForMultipleObjects() retval=00000000 ret=60a37817 0042:Call ws2_32.WSAIoctl(00000238,48000016,00000000,00000000,00000000,00000000,0238e694,00000000,00000000) ret=60a37842 0042:Call iphlpapi.GetAdaptersInfo(00000000,0238e46c) ret=7ec693ea 0042:Ret iphlpapi.GetAdaptersInfo() retval=0000006f ret=7ec693ea ... 0042:Ret ws2_32.WSAIoctl() retval=ffffffff ret=60a37842 --- snip ---
$ sha1sum msgr11us.exe e8cdbe8f9fa573a2ce3dd41913fe2f7519b0d8ac msgr11us.exe
$ du -sh msgr11us.exe 676K msgr11us.exe
$ wine --version wine-1.7.6-109-g917d303
Regards
http://bugs.winehq.org/show_bug.cgi?id=32328
--- Comment #11 from Erich Hoover erich.e.hoover@gmail.com 2013-11-12 15:45:15 CST --- (In reply to comment #10)
Hello folks,
unfortunately still present as of Wine 1.7.6 ...
I'm still working on getting patches accepted for this, my most recent attempt is here: [1/3] http://source.winehq.org/patches/data/100381 [2/3] http://source.winehq.org/patches/data/100382 [3/3] http://source.winehq.org/patches/data/100383
http://bugs.winehq.org/show_bug.cgi?id=32328
--- Comment #12 from Jerome Leclanche adys.wh@gmail.com --- (In reply to comment #11) Whats the status on those?
http://bugs.winehq.org/show_bug.cgi?id=32328
--- Comment #13 from Bruno Jesus 00cpxxx@gmail.com --- (In reply to comment #12)
(In reply to comment #11) Whats the status on those?
Erich sent the patches again last week and is waiting for review.
http://bugs.winehq.org/show_bug.cgi?id=32328
--- Comment #14 from Erich Hoover erich.e.hoover@gmail.com --- (In reply to comment #13)
(In reply to comment #12)
(In reply to comment #11) Whats the status on those?
Erich sent the patches again last week and is waiting for review.
Bruno is correct, however, I can add a little extra here. I got a chance to talk to AJ briefly on IRC and he said that the reason he hasn't taken a look at these patches yet is that he's been too busy with other things. These patches add quite a bit to the wineserver, so it's understandable that he'd want to spend some time looking at them.
https://bugs.winehq.org/show_bug.cgi?id=32328
--- Comment #15 from Anastasius Focht focht@gmx.net --- Hello folks,
hooking in with another app.
'Aeria Ignite' (some downloader/installer/launcher for various Aeria games)
Prerequisite: 'winetricks -q dotnet35sp1'
--- snip --- ... 0023:fixme:ntdll:server_ioctl_file Unsupported ioctl 28000017 (device=2800 access=0 func=5 method=3) 0023:fixme:winsock:server_ioctl_sock Unsupported ioctl 28000017 (device=2800 access=0 func=5 method=3) 0023:fixme:winsock:WSAIoctl unsupported WS_IOCTL cmd (_WSAIO(IOC_WS2, 23)) ... Unhandled Exception: System.Net.NetworkInformation.NetworkInformationException: Unknown error (0x273d) at System.Net.NetworkInformation.NetworkChange.AddressChangeListener.StartHelper(NetworkAddressChangedEventHandler caller, Boolean captureContext, StartIPOptions startIPOptions) at System.Net.NetworkInformation.NetworkChange.AvailabilityChangeListener.Start(NetworkAvailabilityChangedEventHandler caller) at System.Net.NetworkInformation.NetworkChange.add_NetworkAvailabilityChanged(NetworkAvailabilityChangedEventHandler value) at AI.AppController.detectNetwork() at AI.AppController..ctor() at AI.AppController.get_Default() at AI.Service.AnalyticRequestManager.Track(String eventStr, Dictionary`2 properties, AIAnalyticCompletedEventHandler onCompleted) at AI.Service.AnalyticRequestManager.TrackError(String where, String description, Exception exception) at AI.App.handleException(Exception exc, String scope, Boolean shutdown) at AI.App.catchUnhandledUIExceptions(Object sender, DispatcherUnhandledExceptionEventArgs e) at System.Windows.Threading.Dispatcher.CatchException(Exception e) at System.Windows.Threading.Dispatcher.CatchExceptionStatic(Object source, Exception e) at System.Windows.Threading.ExceptionWrapper.CatchException(Object source, Exception e, Delegate catchHandler) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler) at System.Windows.Threading.Dispatcher.WrappedInvoke(Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler) at System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Boolean isSingleParameter) at System.Windows.Threading.Dispatcher.Invoke(DispatcherPriority priority, Delegate method, Object arg) at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam) at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg) at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame) at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame) at System.Windows.Threading.Dispatcher.Run() at System.Windows.Application.RunDispatcher(Object ignore) at System.Windows.Application.RunInternal(Window window) at System.Windows.Application.Run(Window window) at System.Windows.Application.Run() at AI.Program.StartApp(String[] args) at AI.Program.Main(String[] args) --- snip ---
_WSAIO(IOC_WS2, 23) -> SIO_ADDRESS_LIST_CHANGE
$ wine --version wine-1.7.19
Regards
https://bugs.winehq.org/show_bug.cgi?id=32328
Erich Hoover erich.e.hoover@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Many Silverlight websites |Many .NET and Silverlight |loop forever querying the |applications require |interface list |SIO_ADDRESS_LIST_CHANGE for | |interface change | |notifications
--- Comment #16 from Erich Hoover erich.e.hoover@gmail.com --- Updated summary.
https://bugs.winehq.org/show_bug.cgi?id=32328
--- Comment #17 from Anastasius Focht focht@gmx.net --- Hello folks,
this is also needed for 'PlayOn' (Internet TV/streams aggregator + DLNA Media Server).
The error message box is shown when running 'SettingsManager.exe' and clicking 'Enable mobile Access (Premium Only)' in '[Mobile]' -> 'Router Settings'
Download: http://www.playon.tv/downloads/playon/
Prerequisite: 'winetricks -q dotnet35sp1 wmp9' in 32-bit WINEPREFIX
--- snip --- The following error occurred running PlayOn Settings 3.9.13.8327. Please copy and send this message to support@playon.tv for assistance.
Error details: User interface exception: System.TypeInitializationException: The type initializer for 'OpenSource.UPnP.UPnPSmartControlPoint' threw an exception. ---> System.TypeInitializationException: The type initializer for 'OpenSource.UPnP.NetworkInfo' threw an exception. ---> System.Net.NetworkInformation.NetworkInformationException: Unknown error (0x273d) at System.Net.NetworkInformation.NetworkChange.AddressChangeListener.StartHelper(NetworkAddressChangedEventHandler caller, Boolean captureContext, StartIPOptions startIPOptions) at System.Net.NetworkInformation.NetworkChange.add_NetworkAddressChanged(NetworkAddressChangedEventHandler value) at OpenSource.UPnP.NetworkInfo..cctor() --- End of inner exception stack trace --- at OpenSource.UPnP.NetworkInfo..ctor(InterfaceHandler onNewInterfaceSink, InterfaceHandler onInterfaceDisabledSink) at OpenSource.UPnP.UPnPInternalSmartControlPoint..ctor() at OpenSource.UPnP.UPnPSmartControlPoint..cctor() --- End of inner exception stack trace --- at OpenSource.UPnP.UPnPSmartControlPoint..ctor(DeviceHandler OnAddedDeviceSink, ServiceHandler OnAddedServiceSink, String DevicePartialMatchFilter) at t9MLS7NXa6DYdNEvYQ3.uI6T1LNFducjHey7uYN.wiIgNPRn7m() at aBlgawcWo1mrvCRggSu.KlWNoycXbVSqcOaTlaR.BhxbF3UGLBa() at aBlgawcWo1mrvCRggSu.KlWNoycXbVSqcOaTlaR.yFmbFf01vaV() at aBlgawcWo1mrvCRggSu.KlWNoycXbVSqcOaTlaR.JsDbFsUG4wT(Object , EventArgs ) at System.EventHandler.Invoke(Object sender, EventArgs e) at System.Windows.Forms.CheckBox.OnCheckedChanged(EventArgs e) --- snip ---
$ wine --version wine-1.7.19-70-gd6a59f7
Regards
http://bugs.winehq.org/show_bug.cgi?id=32328
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |graahy@sky.com
--- Comment #18 from Anastasius Focht focht@gmx.net --- *** Bug 36839 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=32328
Alistair Leslie-Hughes leslie_alistair@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |therbom@gmail.com
--- Comment #19 from Alistair Leslie-Hughes leslie_alistair@hotmail.com --- *** Bug 33862 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=32328
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sebastian@fds-team.de
https://bugs.winehq.org/show_bug.cgi?id=32328
Simon swdevelop1981@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |swdevelop1981@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=32328
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |willi.mergener@gmail.com
--- Comment #20 from Anastasius Focht focht@gmx.net --- *** Bug 37621 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=32328
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gaurav_verma22@yahoo.com
--- Comment #21 from Anastasius Focht focht@gmx.net --- *** Bug 34905 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=32328
Matt skiironmask@aol.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |skiironmask@aol.com
https://bugs.winehq.org/show_bug.cgi?id=32328
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |richard@veffer.net
--- Comment #22 from Anastasius Focht focht@gmx.net --- *** Bug 37921 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=32328
--- Comment #23 from Anastasius Focht focht@gmx.net --- Hello folks,
still present as of Wine 1.7.34
A lot of apps and games make use of this. I keep merging dupes but in the end it's kind of sad.
Updated link to Wine-Staging project: https://github.com/wine-compholio/wine-staging/tree/master/patches/server-Ad...
Regards
https://bugs.winehq.org/show_bug.cgi?id=32328
--- Comment #24 from Anastasius Focht focht@gmx.net --- Hello folks,
today's commit series brought in the support:
http://source.winehq.org/git/wine.git/commitdiff/1239663fcb82dee80c94bd5d121... ("server: Implement socket-specific ioctl() routine.")
http://source.winehq.org/git/wine.git/commitdiff/315de61bb20a17862911c2e77df... ("server: Add socket-side support for the interface change notification object.")
http://source.winehq.org/git/wine.git/commitdiff/b121f27b72dbe80548c1f2cfd7a... ("server: Add blocked support for SIO_ADDRESS_LIST_CHANGE ioctl()." ("server: Implement the interface change notification object.")
http://source.winehq.org/git/wine.git/commitdiff/67c47e401ba7bc00b0b178588ff... ("server: Implement the interface change notification object.")
Thanks Erich!
Unfortunately the apps linked/mentioned here still don't work.
It's because those apps issue the ioctl on the non-blocking socket without overlapped parameters, expecting WSAEWOULDBLOCK (currently WSA_IO_PENDING is passed to caller in non-blocking case, regardless of overlapped args).
See also here: https://msdn.microsoft.com/en-us/library/windows/desktop/ms742282%28v=vs.85%...
--- quote --- It is assumed (although not required) that the Windows Sockets SPI client uses overlapped I/O to be notified of change by completion of IO_ADDRESS_LIST_CHANGE request.
Alternatively, if the SIO_ADDRESS_LIST_CHANGE IOCTL is issued on a nonblocking socket and without overlapped parameters (lpOverlapped and lpCompletionRoutine are set to NULL), it will complete immediately with error WSAEWOULDBLOCK. The Windows Sockets SPI client can then wait for address list change events through a call to WSPEventSelect or WSPAsyncSelect with the FD_ADDRESS_LIST_CHANGE bit set in the network event bitmask. --- quote ---
I've already tested a fix, taking this into account (makes all of them to work).
Do we want to keep this one open just waiting for the final fix, or create a new bug? We got all apps collected here...
Thanks for the work so far!
$ wine --version wine-1.7.36-28-ga679cae
Regards
https://bugs.winehq.org/show_bug.cgi?id=32328
--- Comment #25 from Erich Hoover erich.e.hoover@gmail.com --- (In reply to Anastasius Focht from comment #24)
... --- quote --- ... Alternatively, if the SIO_ADDRESS_LIST_CHANGE IOCTL is issued on a nonblocking socket and without overlapped parameters (lpOverlapped and lpCompletionRoutine are set to NULL), it will complete immediately with error WSAEWOULDBLOCK. The Windows Sockets SPI client can then wait for address list change events through a call to WSPEventSelect or WSPAsyncSelect with the FD_ADDRESS_LIST_CHANGE bit set in the network event bitmask. --- quote ---
I've already tested a fix, taking this into account (makes all of them to work).
The applications I'm testing with don't have this behavior. Does your test app need FD_ADDRESS_LIST_CHANGE or does it just need to return WSAEWOULDBLOCK?
Also... Woo-hoo! I'm really glad to finally get this in :)
https://bugs.winehq.org/show_bug.cgi?id=32328
--- Comment #26 from Anastasius Focht focht@gmx.net --- Hello Erich,
the apps/games still not working expect WSAEWOULDBLOCK return value.
Examples: Sonos DesktopController 5.11, Aeria Ignite (Aeria Games), PlayOn ...
Relevant part of trace log from one app:
--- snip --- ... 002b:Call ws2_32.WSASocketW(00000002,00000002,00000000,00000000,00000000,00000001) ret=05a1ed6b 002b:trace:winsock:WSASocketW af=2 type=2 protocol=0 protocol_info=(nil) group=0 flags=0x1 002b: create_socket( access=c0100000, attributes=00000002, family=2, type=2, protocol=0, flags=00000001 ) socket(2,2,0)=167 sock_reselect(0x1a16a80): new mask 0 002b: create_socket() = 0 { handle=02c0 } 002b:trace:winsock:WSASocketW created 02c0 002b:Ret ws2_32.WSASocketW() retval=000002c0 ret=05a1ed6b ... 002b:Call ws2_32.ioctlsocket(000002c0,8004667e,03b3c4e8) ret=05a061e7 002b:trace:winsock:WSAIoctl 02c0, _IOW('f', 126, 4), 0x3b3c4e8, 4, 0x3b3c4e8, 4, 0x3b3c40c, (nil), (nil) 002b:trace:winsock:WSAIoctl -> FIONBIO (ffffffff) 002b: get_socket_event( handle=02c0, service=0, c_event=0000 ) 002b: get_socket_event() = 0 { mask=00000000, pmask=00000000, state=00000003, errors={} } 002b: enable_socket_event( handle=02c0, mask=00000000, sstate=20000000, cstate=00000000 ) sock_reselect(0x1a16a80): new mask 0 002b: enable_socket_event() = 0 002b:Ret ws2_32.ioctlsocket() retval=00000000 ret=05a061e7 ... 002b:Call ws2_32.WSAIoctl(000002c0,28000017,00000000,00000000,00000000,00000000,03b3c4e4,00000000,00000000) ret=05a063d1 002b:trace:winsock:WSAIoctl 02c0, _WSAIO(IOC_WS2, 23), (nil), 0, (nil), 0, 0x3b3c4e4, (nil), (nil) 002b:Call ntdll.RtlAllocateHeap(00110000,00000000,0000003c) ret=7dbc0b92 002b:Ret ntdll.RtlAllocateHeap() retval=001933b0 ret=7dbc0b92 002b:Call ntdll.NtDeviceIoControlFile(000002c0,00000000,7dbbbffa,001933b0,001933c0,28000017,00000000,00000000,00000000,00000000) ret=7dbc0c23 002b: ioctl( code=28000017, async={handle=02c0,event=0000,callback=7bc47747,iosb=001933c0,arg=001933f8,cvalue=00000000}, blocking=0, in_data={} ) 002b: ioctl() = PENDING { wait=0000, options=00000000, out_data={} } 002b:Ret ntdll.NtDeviceIoControlFile() retval=00000103 ret=7dbc0c23 002b:trace:winsock:WSAIoctl -> _WSAIO(IOC_WS2, 23) request 002b:Ret ws2_32.WSAIoctl() retval=ffffffff ret=05a063d1 002b:Call KERNEL32.GetLastError() ret=79162510 002b:Ret KERNEL32.GetLastError() retval=000003e5 ret=79162510 ... --- snip ---
Managed backtrace:
--- snip --- ... Unhandled Exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> Sonos.Controller.Desktop.Utilities.BugsenseWrappedException: Rethrown exception. See innerexception for details. ---> System.Net.NetworkInformation.NetworkInformationException: Overlapped I/O pending at System.Net.NetworkInformation.NetworkChange.AddressChangeListener.StartHelper(NetworkAddressChangedEventHandler caller, Boolean captureContext, StartIPOptions startIPOptions) at System.Net.NetworkInformation.NetworkChange.add_NetworkAddressChanged(NetworkAddressChangedEventHandler value) at Sonos.Controller.Desktop.Utilities.NetworkMonitor.StartMonitoring() at Sonos.Controller.Desktop.SCLib.Listener.Startup() at Sonos.Controller.Desktop.App.<OnStartup>b__5() at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler) ... --- snip ---
and yes ... wohoooooooooo ;-)
Regards
https://bugs.winehq.org/show_bug.cgi?id=32328
--- Comment #27 from Austin English austinenglish@gmail.com --- (In reply to Erich Hoover from comment #25)
(In reply to Anastasius Focht from comment #24)
... --- quote --- ... Alternatively, if the SIO_ADDRESS_LIST_CHANGE IOCTL is issued on a nonblocking socket and without overlapped parameters (lpOverlapped and lpCompletionRoutine are set to NULL), it will complete immediately with error WSAEWOULDBLOCK. The Windows Sockets SPI client can then wait for address list change events through a call to WSPEventSelect or WSPAsyncSelect with the FD_ADDRESS_LIST_CHANGE bit set in the network event bitmask. --- quote ---
I've already tested a fix, taking this into account (makes all of them to work).
The applications I'm testing with don't have this behavior. Does your test app need FD_ADDRESS_LIST_CHANGE or does it just need to return WSAEWOULDBLOCK?
Also... Woo-hoo! I'm really glad to finally get this in :)
If it works for your application, I'd say this bug should be marked fixed and a new one opened for the remaining applications.
I don't feel strongly about it though, up to you.
https://bugs.winehq.org/show_bug.cgi?id=32328
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |67c47e401ba7bc00b0b178588ff | |7fbfccc4aef01 Status|NEW |RESOLVED Component|winsock |wineserver Resolution|--- |FIXED
--- Comment #28 from Anastasius Focht focht@gmx.net --- Hello folks,
I've decided to split this up since the original app (Silverlight) is happy.
All the other apps depend on the same core infrastructure but they use the interface differently.
Yes, they also need FD_ADDRESS_LIST_CHANGE support in the end to really make use of this feature. Didn't look that far since they all started fine with WSAEWOULDBLOCK fix in place but obviously weren't able to receive change notifications.
Creating another bug, swapping some info there and adding apps (only selecting a few .NET apps though).
Regards
https://bugs.winehq.org/show_bug.cgi?id=32328
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #29 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 1.7.37.
https://bugs.winehq.org/show_bug.cgi?id=32328
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL| |https://web.archive.org/web | |/20150811201348/http://upda | |te.sonos.com/software/pc/dc | |r/SonosDesktopController511 | |.exe Keywords| |download