[Bug 38062] New: .NET 2.0/3.x/4.x applications and games using System.Net.NetworkInformation NetworkAddressChangedEventHandler crash on startup

wine-bugs at winehq.org wine-bugs at winehq.org
Tue Feb 10 16:07:23 CST 2015


https://bugs.winehq.org/show_bug.cgi?id=38062

            Bug ID: 38062
           Summary: .NET 2.0/3.x/4.x applications and games using
                    System.Net.NetworkInformation
                    NetworkAddressChangedEventHandler crash on startup
           Product: Wine
           Version: 1.7.36
          Hardware: x86
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: winsock
          Assignee: wine-bugs at winehq.org
          Reporter: focht at gmx.net
      Distribution: ---

Hello folks,

split off from bug 33862

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 ---

Yes, they also need FD_ADDRESS_LIST_CHANGE support in the end to really make
use of this feature which could be split into another bug.

I found this small .NET example app with source code which exhibits the same
crash:
http://www.codeproject.com/Articles/64975/Detect-Internet-Network-Availability

$ sha1sum NetworkStatus_Demo.zip 
6f64a8b7d781d2c84359de7bcad95b9ffc60dc30  NetworkStatus_Demo.zip

$ du -sh NetworkStatus_Demo.zip 
8.0K    NetworkStatus_Demo.zip

$ wine --version
wine-1.7.36-28-ga679cae

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